Package: guix-patches;
Reported by: pinoaffe <pinoaffe <at> gmail.com>
Date: Mon, 25 Sep 2023 20:28:02 UTC
Severity: normal
Tags: patch
Done: Vinicius Monego <monego <at> posteo.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 66199 in the body.
You can then email your comments to 66199 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Mon, 25 Sep 2023 20:28:02 GMT) Full text and rfc822 format available.pinoaffe <pinoaffe <at> gmail.com>
:guix-patches <at> gnu.org
.
(Mon, 25 Sep 2023 20:28:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: guix-patches <at> gnu.org Cc: pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH] gnu: librepcb: Update to 1.0.0. Date: Mon, 25 Sep 2023 22:27:04 +0200
* gnu/packages/engineering.scm (librepcb): Update to 1.0.0. --- gnu/packages/engineering.scm | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c2846f0bda..f12f4ad59d 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2260,33 +2260,30 @@ (define-public freehdl (define-public librepcb (package (name "librepcb") - (version "0.1.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.librepcb.org/releases/" version "/librepcb-" version "-source.zip")) (sha256 - (base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr")))) - (build-system gnu-build-system) + (base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v")))) + (build-system cmake-build-system) (inputs - (list qtbase-5 qtsvg-5 zlib)) + (list qtbase-5 + qtsvg-5 + qtdeclarative-5 + qtquickcontrols2-5 + zlib + opencascade-occt + glu + fontconfig)) (native-inputs (list qttools-5 ; for lrelease unzip)) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (mkdir-p "build") - (chdir "build") - (let ((lrelease (search-input-file inputs "/bin/lrelease")) - (out (assoc-ref outputs "out"))) - (invoke "qmake" - (string-append "QMAKE_LRELEASE=" lrelease) - (string-append "PREFIX=" out) - "../librepcb.pro"))))))) + ;; There is no cmake test target + `(#:tests? #f)) (home-page "https://librepcb.org/") (synopsis "Electronic Design Automation tool") (description "LibrePCB is @dfn{Electronic Design Automation} (EDA) base-commit: 445a0359083388b5ee686e6e855f94a3aac5f79c -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Tue, 26 Sep 2023 00:38:02 GMT) Full text and rfc822 format available.Message #8 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: Vinicius Monego <monego <at> posteo.net> To: pinoaffe <at> gmail.com, 66199 <at> debbugs.gnu.org Subject: Re: [bug#66199] [PATCH] gnu: librepcb: Update to 1.0.0. Date: Tue, 26 Sep 2023 00:37:20 +0000
Hello, Em 25/09/2023 17:27, pinoaffe escreveu: > * gnu/packages/engineering.scm (librepcb): Update to 1.0.0. Thank you. The commit message should also mention the switch to cmake-build-system, the "not overriding" of the configure phase, the new inputs and the test skip. I have a few more comments below. > --- > gnu/packages/engineering.scm | 29 +++++++++++++---------------- > 1 file changed, 13 insertions(+), 16 deletions(-) > > diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm > index c2846f0bda..f12f4ad59d 100644 > --- a/gnu/packages/engineering.scm > +++ b/gnu/packages/engineering.scm > @@ -2260,33 +2260,30 @@ (define-public freehdl > (define-public librepcb > (package > (name "librepcb") > - (version "0.1.5") > + (version "1.0.0") > (source > (origin > (method url-fetch) > (uri (string-append "https://download.librepcb.org/releases/" > version "/librepcb-" version "-source.zip")) > (sha256 > - (base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr")))) > - (build-system gnu-build-system) > + (base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v")))) > + (build-system cmake-build-system) > (inputs > - (list qtbase-5 qtsvg-5 zlib)) > + (list qtbase-5 > + qtsvg-5 > + qtdeclarative-5 > + qtquickcontrols2-5 > + zlib > + opencascade-occt > + glu > + fontconfig)) Inputs should be sorted alphabetically. > (native-inputs > (list qttools-5 ; for lrelease > unzip)) The comment about lrelease can be removed as lrelease is not being manually invoked anymore, and the native inputs list can be squashed in one line. > (arguments > - `(#:phases > - (modify-phases %standard-phases > - (replace 'configure > - (lambda* (#:key inputs outputs #:allow-other-keys) > - (mkdir-p "build") > - (chdir "build") > - (let ((lrelease (search-input-file inputs "/bin/lrelease")) > - (out (assoc-ref outputs "out"))) > - (invoke "qmake" > - (string-append "QMAKE_LRELEASE=" lrelease) > - (string-append "PREFIX=" out) > - "../librepcb.pro"))))))) > + ;; There is no cmake test target > + `(#:tests? #f)) > (home-page "https://librepcb.org/") > (synopsis "Electronic Design Automation tool") > (description "LibrePCB is @dfn{Electronic Design Automation} (EDA) > > base-commit: 445a0359083388b5ee686e6e855f94a3aac5f79c There are options in LibrePCB's CMakeLists.txt to unvendor some dependencies: https://github.com/LibrePCB/LibrePCB/blob/9edb6ede393e5b48785f95252f81a027db4b718a/CMakeLists.txt#L51 The only dependencies we do not have is dxflib and fontobene-qt5. It failed to find muparser and polyclipping ('clipper' package in Guix), I don't know why. It would be best to unvendor as many dependencies as possible. Could you send an updated patch? Optionally, you can try to package fontobene-qt5 and have cmake find muparser and polyclipping. Vinicius
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Tue, 26 Sep 2023 12:16:02 GMT) Full text and rfc822 format available.Message #11 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: Vinicius Monego <monego <at> posteo.net> Cc: 66199 <at> debbugs.gnu.org Subject: Re: [bug#66199] [PATCH] gnu: librepcb: Update to 1.0.0. Date: Tue, 26 Sep 2023 14:08:23 +0200
Hi, thank you for your review! Vinicius Monego <monego <at> posteo.net> writes: > The commit message should also mention the switch to > cmake-build-system, the "not overriding" of the configure phase, the > new inputs and the test skip.. I wasn't sure how to phrase / format this, is what I arrived at OK? > Inputs should be sorted alphabetically. Done > The comment about lrelease can be removed as lrelease is not being > manually invoked anymore, and the native inputs list can be squashed > in one line. Done > There are options in LibrePCB's CMakeLists.txt to unvendor some > dependencies: > https://github.com/LibrePCB/LibrePCB/blob/9edb6ede393e5b48785f95252f81a027db4b718a/CMakeLists.txt#L51 I unvendored all of the mentioned dependencies apart from dxflib (I couldn't get it to build). > The only dependencies we do not have is dxflib and fontobene-qt5. It > failed to find muparser and polyclipping ('clipper' package in Guix), > I don't know why. Adding pkg-config as a native dependency seems to have done the trick > It would be best to unvendor as many dependencies as possible. Could > you send an updated patch? Optionally, you can try to package > fontobene-qt5 and have cmake find muparser and polyclipping. I'll send some updated patches in a minute Kind regards, pinoaffe
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Tue, 26 Sep 2023 12:18:02 GMT) Full text and rfc822 format available.Message #14 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: monego <at> posteo.net, pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v2 1/2] gnu: Add fontobene-qt5. Date: Tue, 26 Sep 2023 14:16:32 +0200
* gnu/packages/fontutils.scm (fontobene-qt5): New variable. --- gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 230fdd1dde..71a4f156b0 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com> ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,7 @@ (define-module (gnu packages fontutils) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) @@ -951,6 +953,34 @@ (define-public python-ufonormalizer @end itemize") (license license:bsd-3))) +(define-public fontobene-qt5 + (package + (name "fontobene-qt5") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fontobene/fontobene-qt5") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gy3sfraf23k7dm4ha8nqpd6madzk0zmxkcb204micyn5b5l8ljg")))) + (inputs (list qtbase-5)) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./tests/fontobene-qt5-tests"))))))) + (home-page "https://github.com/fontobene/fontobene-qt5") + (synopsis "Parser for FontoBene stroke fonts") + (description "A header-only library to parse FontoBene stroke fonts with +C++11/Qt5.") + (license license:expat))) + (define-public ttfautohint (package (name "ttfautohint") base-commit: 445a0359083388b5ee686e6e855f94a3aac5f79c -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Tue, 26 Sep 2023 12:18:02 GMT) Full text and rfc822 format available.Message #17 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: monego <at> posteo.net, pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v2 2/2] gnu: librepcb: Update to 1.0.0. Date: Tue, 26 Sep 2023 14:16:33 +0200
* gnu/packages/engineering.scm (librepcb): Update to 1.0.0. * gnu/packages/engineering.scm (librepcb): Switch to CMake build system. --- gnu/packages/engineering.scm | 46 ++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c2846f0bda..ab36700ff5 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2022, 2023 Felix Gruber <felgru <at> posteo.net> ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis <at> gmail.com> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com ;;; ;;; This file is part of GNU Guix. ;;; @@ -124,6 +125,7 @@ (define-module (gnu packages engineering) #:use-module (gnu packages m4) #:use-module (gnu packages maths) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages multiprecision) #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) @@ -2260,33 +2262,41 @@ (define-public freehdl (define-public librepcb (package (name "librepcb") - (version "0.1.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.librepcb.org/releases/" version "/librepcb-" version "-source.zip")) (sha256 - (base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr")))) - (build-system gnu-build-system) + (base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v")))) + (build-system cmake-build-system) (inputs - (list qtbase-5 qtsvg-5 zlib)) + (list fontconfig + fontobene-qt5 + glu + googletest + hoedown + muparser + opencascade-occt + clipper + qtbase-5 + qtdeclarative-5 + qtquickcontrols2-5 + qtsvg-5 + quazip + zlib)) (native-inputs - (list qttools-5 ; for lrelease - unzip)) + (list pkg-config qttools-5 unzip)) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (mkdir-p "build") - (chdir "build") - (let ((lrelease (search-input-file inputs "/bin/lrelease")) - (out (assoc-ref outputs "out"))) - (invoke "qmake" - (string-append "QMAKE_LRELEASE=" lrelease) - (string-append "PREFIX=" out) - "../librepcb.pro"))))))) + `(#:tests? #f ;; There is no cmake test target + #:configure-flags (list + "-DUNBUNDLE_FONTOBENE_QT5=ON" + "-DUNBUNDLE_GTEST=ON" + "-DUNBUNDLE_HOEDOWN=ON" + "-DUNBUNDLE_MUPARSER=ON" + "-DUNBUNDLE_POLYCLIPPING=ON" + "-DUNBUNDLE_QUAZIP=ON"))) (home-page "https://librepcb.org/") (synopsis "Electronic Design Automation tool") (description "LibrePCB is @dfn{Electronic Design Automation} (EDA) -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 00:36:02 GMT) Full text and rfc822 format available.Message #20 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: Vinicius Monego <monego <at> posteo.net> To: pinoaffe <pinoaffe <at> gmail.com> Cc: 66199 <at> debbugs.gnu.org Subject: Re: [bug#66199] [PATCH] gnu: librepcb: Update to 1.0.0. Date: Wed, 27 Sep 2023 00:35:14 +0000
Em 26/09/2023 09:08, pinoaffe escreveu: > Hi, Hi! > thank you for your review! > > Vinicius Monego <monego <at> posteo.net> writes: >> The commit message should also mention the switch to >> cmake-build-system, the "not overriding" of the configure phase, the >> new inputs and the test skip.. > I wasn't sure how to phrase / format this, is what I arrived at OK? You can check the logs of e.g. commit 19617735df2b1af3b169d8153ae543ad3e0fc1a1 for reference. >> Inputs should be sorted alphabetically. > Done > 'googletest' should be a native input, it's a test requirement only. [...] > I'll send some updated patches in a minute > > Kind regards, > pinoaffe [Comment on the LibrePCB update patch specifically]: This v2 is much better, thanks. While investigating the build I also found a few more things that could be improved: - The bundles that were unvendored can be deleted in a source snippet (see e.g. the mixxx package). - LibrePCB builds a test executable at tests/unittests/librepcb-unittests. Instead of 'make test', that file could be run manually when overriding the check phase. - The license list should be updated as some of the bundles listed there are not being provided anymore, or even better let it be only gpl3+ because that's the license of the final product. - I got two merge conflicts on 06dc36ffb7cde821a4762b299d1c95b3788ba110, please rebase it to the latest commit. If the tests are too problematic that's fine, I can merge this patch with the other changes later this week. Vinicius
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 00:40:01 GMT) Full text and rfc822 format available.Message #23 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: Vinicius Monego <monego <at> posteo.net> To: pinoaffe <pinoaffe <at> gmail.com>, 66199 <at> debbugs.gnu.org Subject: Re: [PATCH v2 1/2] gnu: Add fontobene-qt5. Date: Wed, 27 Sep 2023 00:39:09 +0000
Hi, Em 26/09/2023 09:16, pinoaffe escreveu: > * gnu/packages/fontutils.scm (fontobene-qt5): New variable. > --- > gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm > index 230fdd1dde..71a4f156b0 100644 > --- a/gnu/packages/fontutils.scm > +++ b/gnu/packages/fontutils.scm > @@ -18,6 +18,7 @@ > ;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com> > ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com> > ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> > +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -65,6 +66,7 @@ (define-module (gnu packages fontutils) > #:use-module (gnu packages python) > #:use-module (gnu packages python-build) > #:use-module (gnu packages python-xyz) > + #:use-module (gnu packages qt) > #:use-module (gnu packages sqlite) > #:use-module (gnu packages webkit) > #:use-module (gnu packages xdisorg) > @@ -951,6 +953,34 @@ (define-public python-ufonormalizer > @end itemize") > (license license:bsd-3))) > > +(define-public fontobene-qt5 > + (package > + (name "fontobene-qt5") > + (version "0.2.0") > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/fontobene/fontobene-qt5") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0gy3sfraf23k7dm4ha8nqpd6madzk0zmxkcb204micyn5b5l8ljg")))) > + (inputs (list qtbase-5)) > + (build-system cmake-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (replace 'check > + (lambda* (#:key tests? #:allow-other-keys) > + (when tests? > + (invoke "./tests/fontobene-qt5-tests"))))))) > + (home-page "https://github.com/fontobene/fontobene-qt5") > + (synopsis "Parser for FontoBene stroke fonts") > + (description "A header-only library to parse FontoBene stroke fonts with > +C++11/Qt5.") Descriptions should be full sentences (subject + predicate). The linter should be able to catch this. Otherwise LGTM. > + (license license:expat))) > + > (define-public ttfautohint > (package > (name "ttfautohint") > > base-commit: 445a0359083388b5ee686e6e855f94a3aac5f79c Vinicius
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 16:14:02 GMT) Full text and rfc822 format available.Message #26 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: Vinicius Monego <monego <at> posteo.net> Cc: 66199 <at> debbugs.gnu.org Subject: Re: [bug#66199] [PATCH] gnu: librepcb: Update to 1.0.0. Date: Wed, 27 Sep 2023 18:06:36 +0200
Thanks again! Vinicius Monego <monego <at> posteo.net> writes: > Em 26/09/2023 09:08, pinoaffe escreveu: >> Vinicius Monego <monego <at> posteo.net> writes: >>> The commit message should also mention the switch to >>> cmake-build-system, the "not overriding" of the configure phase, the >>> new inputs and the test skip.. >> I wasn't sure how to phrase / format this, is what I arrived at OK? > You can check the logs of e.g. commit > 19617735df2b1af3b169d8153ae543ad3e0fc1a1 for reference. Ah yes, I'll try to replicate that > 'googletest' should be a native input, it's a test requirement only. oh yes, of course, thanks! > [Comment on the LibrePCB update patch specifically]: This v2 is much > better, thanks. While investigating the build I also found a few more > things that could be improved: > > - The bundles that were unvendored can be deleted in a source snippet > (see e.g. the mixxx package). Done > - LibrePCB builds a test executable at > tests/unittests/librepcb-unittests. Instead of 'make test', that > file could be run manually when overriding the check phase. Done > - The license list should be updated as some of the bundles listed > there are not being provided anymore, or even better let it be only > gpl3+ because that's the license of the final product. I removed all of the licenses and license comments that were no longer relevant, but there's still some non-GPL3+ code involved, so I figured I'd keep those licenses around. > - I got two merge conflicts on > 06dc36ffb7cde821a4762b299d1c95b3788ba110, please rebase it to the > latest commit. Done > If the tests are too problematic that's fine, I can merge this patch > with the other changes later this week. > > Vinicius Kind regards, pinoaffe
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 16:15:02 GMT) Full text and rfc822 format available.Message #29 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: Vinicius Monego <monego <at> posteo.net> Cc: 66199 <at> debbugs.gnu.org Subject: Re: [PATCH v2 1/2] gnu: Add fontobene-qt5. Date: Wed, 27 Sep 2023 18:11:02 +0200
Thanks for the review! Vinicius Monego <monego <at> posteo.net> writes: > Hi, > > Em 26/09/2023 09:16, pinoaffe escreveu: >> + (description "A header-only library to parse FontoBene stroke fonts with >> +C++11/Qt5.") > Descriptions should be full sentences (subject + predicate). The > linter should be able to catch this. Otherwise LGTM. For whatever reason it didn't catch this, but this should be fixed with v3 of the patch series Kind regards, pinoaffe
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 16:15:02 GMT) Full text and rfc822 format available.Message #32 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v3 1/2] gnu: Add fontobene-qt5. Date: Wed, 27 Sep 2023 18:14:25 +0200
* gnu/packages/fontutils.scm (fontobene-qt5): New variable. --- gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 18697cd821..603f442e0a 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com> ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,7 @@ (define-module (gnu packages fontutils) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) @@ -951,6 +953,34 @@ (define-public python-ufonormalizer @end itemize") (license license:bsd-3))) +(define-public fontobene-qt5 + (package + (name "fontobene-qt5") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fontobene/fontobene-qt5") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gy3sfraf23k7dm4ha8nqpd6madzk0zmxkcb204micyn5b5l8ljg")))) + (inputs (list qtbase-5)) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./tests/fontobene-qt5-tests"))))))) + (home-page "https://github.com/fontobene/fontobene-qt5") + (synopsis "Parser for FontoBene stroke fonts") + (description "FontoBene-Qt5 is a header-only library to parse FontoBene +stroke fonts with C++11/Qt5.") + (license license:expat))) + (define-public ttfautohint (package (name "ttfautohint") base-commit: ce0cc6137df81919389f61671096a6ce701c0889 -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 16:15:03 GMT) Full text and rfc822 format available.Message #35 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v3 2/2] gnu: librepcb: Update to 1.0.0. Date: Wed, 27 Sep 2023 18:14:26 +0200
* gnu/packages/engineering.scm (librepcb): Update to 1.0.0. [inputs]: Add various dependencies (both new ones and old ones that are now debundled). [arguments]: Remove overriding of configure phase. Replace test phase. Debundle various dependencies. [build-system]: Use cmake-build-system. [native-inputs]: Add googletest. --- gnu/packages/engineering.scm | 140 ++++++++++++++++++++++++++++------- 1 file changed, 114 insertions(+), 26 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index faba76161b..86e3407b4d 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2022, 2023 Felix Gruber <felgru <at> posteo.net> ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis <at> gmail.com> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus <at> gmail.com> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -123,7 +124,9 @@ (define-module (gnu packages engineering) #:use-module (gnu packages lisp) #:use-module (gnu packages m4) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) @@ -2322,36 +2325,126 @@ (define-public freehdl (license (list license:gpl2+ license:lgpl2.0+)))) ; freehdl's libraries +;; (define-public dxflib +;; (package +;; (name "dxflib") +;; (version "3.26.4") +;; (source (origin +;; (method git-fetch) +;; (uri (git-reference +;; (url "https://github.com/LibrePCB/dxflib") +;; (commit "3b09713d9938b3d6e60a628124f460a1ce4efdd0"))) +;; (file-name (git-file-name name version)) +;; (sha256 +;; (base32 +;; "0nli8f58gq91zkv82gw05zprr2xbin1zl0l32ihw31jvyr41zr40")))) +;; (build-system cmake-build-system) +;; (arguments +;; `(#:tests? #f)) ;; No tests +;; (inputs (list qtbase-5)) +;; (native-inputs (list pkg-config)) +;; (home-page "https://www.ribbonsoft.com/en/what-is-dxflib") +;; (synopsis "Parser for DXF files") +;; (description "dxflib is an open source C++ library mainly for parsing DXFTM files. dxflib can also write DXF files, but you need to have good knowledge of the DXF format to produce valid output.") +;; (license license:gpl2+))) + +;; (define-public dxflib +;; (package +;; (name "dxflib") +;; (version "3.26.4") +;; (source (origin +;; (method url-fetch) +;; (uri (string-append "https://www.ribbonsoft.com/archives/dxflib/dxflib-" version "-src.tar.gz")) +;; (sha256 +;; (base32 +;; "0pwic33mj6bp4axai5jiyn4xqf31y0xmb1i0pcf55b2h9fav8zah")))) +;; (build-system gnu-build-system) +;; (inputs (list qtbase-5)) +;; (native-inputs (list pkg-config)) +;; (arguments +;; `(#:phases +;; (modify-phases %standard-phases +;; (add-before 'configure 'add-install-prefix +;; (lambda _ +;; (substitute* "dxflib.pro" +;; (("dxflib.rc") +;; "dxflib.rc +;; target.path = $${PREFIX}/bin +;; share.path = $${PREFIX} +;; INSTALLS += target share")))) +;; (replace 'configure +;; (lambda* (#:key outputs #:allow-other-keys) +;; (let ((out (assoc-ref outputs "out"))) +;; (invoke "qmake" +;; (string-append "PREFIX=" out)))))))) +;; (home-page "https://www.ribbonsoft.com/en/what-is-dxflib") +;; (synopsis "Parser for DXF files") +;; (description "dxflib is an open source C++ library mainly for parsing DXFTM files. dxflib can also write DXF files, but you need to have good knowledge of the DXF format to produce valid output.") +;; (license license:gpl2+))) + (define-public librepcb (package (name "librepcb") - (version "0.1.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.librepcb.org/releases/" version "/librepcb-" version "-source.zip")) + (modules `((guix build utils))) + (snippet + ;; Delete libraries that we already have or don't need. + ;; TODO: try to unbundle more (see lib/). + `(begin + (let ((third-parties '("fontobene-qt5" + "googletest" + "hoedown" + "muparser" + "polyclipping" + "quazip"))) + (with-directory-excursion "libs" + (map (lambda (third-party) + (delete-file-recursively third-party)) + third-parties))) + #t)) (sha256 - (base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr")))) - (build-system gnu-build-system) + (base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v")))) + (build-system cmake-build-system) (inputs - (list qtbase-5 qtsvg-5 zlib)) + (list fontconfig + fontobene-qt5 + glu + hoedown + muparser + opencascade-occt + clipper + qtbase-5 + qtdeclarative-5 + qtquickcontrols2-5 + qtsvg-5 + quazip + zlib)) (native-inputs - (list qttools-5 ; for lrelease + (list googletest + pkg-config + qttools-5 unzip)) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (mkdir-p "build") - (chdir "build") - (let ((lrelease (search-input-file inputs "/bin/lrelease")) - (out (assoc-ref outputs "out"))) - (invoke "qmake" - (string-append "QMAKE_LRELEASE=" lrelease) - (string-append "PREFIX=" out) - "../librepcb.pro"))))))) + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "QT_QPA_PLATFORM" "offscreen") + (setenv "QT_QUICK_BACKEND" "software") + (display "Running unittests...\n") + (invoke "./tests/unittests/librepcb-unittests" "--help"))))) + #:configure-flags (list + "-DUNBUNDLE_FONTOBENE_QT5=ON" + "-DUNBUNDLE_GTEST=ON" + "-DUNBUNDLE_HOEDOWN=ON" + "-DUNBUNDLE_MUPARSER=ON" + "-DUNBUNDLE_POLYCLIPPING=ON" + "-DUNBUNDLE_QUAZIP=ON"))) (home-page "https://librepcb.org/") (synopsis "Electronic Design Automation tool") (description "LibrePCB is @dfn{Electronic Design Automation} (EDA) @@ -2359,17 +2452,12 @@ (define-public librepcb formats and complete project management with library, schematic and board editors.") (license (list license:gpl3+ - license:boost1.0 ; libs/clipper, - ; libs/optional/tests/catch.hpp, - ; libs/sexpresso/tests/catch.hpp + license:boost1.0 ; libs/optional/tests/catch.hpp, license:expat ; libs/delaunay-triangulation, ; libs/parseagle, libs/type_safe - license:asl2.0 ; libs/fontobene, libs/googletest, - ; libs/parseagle - license:isc ; libs/hoedown - license:cc0 ; libs/optional, libs/sexpresso - license:bsd-2 ; libs/optional/tests/catch.hpp - license:lgpl2.1+)))) ; libs/quazip + license:asl2.0 ; libs/parseagle + license:cc0 ; libs/optional + license:bsd-2)))) ; libs/optional/tests/catch.hpp (define-public gpx (package -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 18:47:01 GMT) Full text and rfc822 format available.Message #38 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: pinoaffe <pinoaffe <at> gmail.com> Cc: 66199 <at> debbugs.gnu.org Subject: Re: [PATCH v3 2/2] gnu: librepcb: Update to 1.0.0. Date: Wed, 27 Sep 2023 20:45:24 +0200
whoops, I didn't mean to include my commented-out attempts at packaging dxflib in the patch - v4 incoming
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 18:47:02 GMT) Full text and rfc822 format available.Message #41 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v4 1/2] gnu: Add fontobene-qt5. Date: Wed, 27 Sep 2023 20:46:10 +0200
* gnu/packages/fontutils.scm (fontobene-qt5): New variable. --- gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 18697cd821..603f442e0a 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com> ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,7 @@ (define-module (gnu packages fontutils) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) @@ -951,6 +953,34 @@ (define-public python-ufonormalizer @end itemize") (license license:bsd-3))) +(define-public fontobene-qt5 + (package + (name "fontobene-qt5") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fontobene/fontobene-qt5") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gy3sfraf23k7dm4ha8nqpd6madzk0zmxkcb204micyn5b5l8ljg")))) + (inputs (list qtbase-5)) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./tests/fontobene-qt5-tests"))))))) + (home-page "https://github.com/fontobene/fontobene-qt5") + (synopsis "Parser for FontoBene stroke fonts") + (description "FontoBene-Qt5 is a header-only library to parse FontoBene +stroke fonts with C++11/Qt5.") + (license license:expat))) + (define-public ttfautohint (package (name "ttfautohint") base-commit: ce0cc6137df81919389f61671096a6ce701c0889 -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 27 Sep 2023 18:47:02 GMT) Full text and rfc822 format available.Message #44 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v4 2/2] gnu: librepcb: Update to 1.0.0. Date: Wed, 27 Sep 2023 20:46:11 +0200
* gnu/packages/engineering.scm (librepcb): Update to 1.0.0. [inputs]: Add various dependencies (both new ones and old ones that are now debundled). [arguments]: Remove overriding of configure phase. Replace test phase. Debundle various dependencies. [build-system]: Use cmake-build-system. [native-inputs]: Add googletest. --- gnu/packages/engineering.scm | 83 +++++++++++++++++++++++++----------- 1 file changed, 57 insertions(+), 26 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index faba76161b..fca831f44b 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2022, 2023 Felix Gruber <felgru <at> posteo.net> ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis <at> gmail.com> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus <at> gmail.com> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -123,7 +124,9 @@ (define-module (gnu packages engineering) #:use-module (gnu packages lisp) #:use-module (gnu packages m4) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) @@ -2325,33 +2328,66 @@ (define-public freehdl (define-public librepcb (package (name "librepcb") - (version "0.1.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.librepcb.org/releases/" version "/librepcb-" version "-source.zip")) + (modules `((guix build utils))) + (snippet + ;; Delete libraries that we already have or don't need. + ;; TODO: try to unbundle more (see lib/). + `(begin + (let ((third-parties '("fontobene-qt5" + "googletest" + "hoedown" + "muparser" + "polyclipping" + "quazip"))) + (with-directory-excursion "libs" + (map (lambda (third-party) + (delete-file-recursively third-party)) + third-parties))) + #t)) (sha256 - (base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr")))) - (build-system gnu-build-system) + (base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v")))) + (build-system cmake-build-system) (inputs - (list qtbase-5 qtsvg-5 zlib)) + (list fontconfig + fontobene-qt5 + glu + hoedown + muparser + opencascade-occt + clipper + qtbase-5 + qtdeclarative-5 + qtquickcontrols2-5 + qtsvg-5 + quazip + zlib)) (native-inputs - (list qttools-5 ; for lrelease + (list googletest + pkg-config + qttools-5 unzip)) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (mkdir-p "build") - (chdir "build") - (let ((lrelease (search-input-file inputs "/bin/lrelease")) - (out (assoc-ref outputs "out"))) - (invoke "qmake" - (string-append "QMAKE_LRELEASE=" lrelease) - (string-append "PREFIX=" out) - "../librepcb.pro"))))))) + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "QT_QPA_PLATFORM" "offscreen") + (setenv "QT_QUICK_BACKEND" "software") + (display "Running unittests...\n") + (invoke "./tests/unittests/librepcb-unittests" "--help"))))) + #:configure-flags (list + "-DUNBUNDLE_FONTOBENE_QT5=ON" + "-DUNBUNDLE_GTEST=ON" + "-DUNBUNDLE_HOEDOWN=ON" + "-DUNBUNDLE_MUPARSER=ON" + "-DUNBUNDLE_POLYCLIPPING=ON" + "-DUNBUNDLE_QUAZIP=ON"))) (home-page "https://librepcb.org/") (synopsis "Electronic Design Automation tool") (description "LibrePCB is @dfn{Electronic Design Automation} (EDA) @@ -2359,17 +2395,12 @@ (define-public librepcb formats and complete project management with library, schematic and board editors.") (license (list license:gpl3+ - license:boost1.0 ; libs/clipper, - ; libs/optional/tests/catch.hpp, - ; libs/sexpresso/tests/catch.hpp + license:boost1.0 ; libs/optional/tests/catch.hpp, license:expat ; libs/delaunay-triangulation, ; libs/parseagle, libs/type_safe - license:asl2.0 ; libs/fontobene, libs/googletest, - ; libs/parseagle - license:isc ; libs/hoedown - license:cc0 ; libs/optional, libs/sexpresso - license:bsd-2 ; libs/optional/tests/catch.hpp - license:lgpl2.1+)))) ; libs/quazip + license:asl2.0 ; libs/parseagle + license:cc0 ; libs/optional + license:bsd-2)))) ; libs/optional/tests/catch.hpp (define-public gpx (package -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Sat, 30 Sep 2023 01:36:02 GMT) Full text and rfc822 format available.Message #47 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: Vinicius Monego <monego <at> posteo.net> To: pinoaffe <pinoaffe <at> gmail.com>, 66199 <at> debbugs.gnu.org Subject: Re: [bug#66199] [PATCH v4 2/2] gnu: librepcb: Update to 1.0.0. Date: Sat, 30 Sep 2023 01:34:48 +0000
Hi, Em 27/09/2023 15:46, pinoaffe escreveu: > * gnu/packages/engineering.scm (librepcb): Update to 1.0.0. > [inputs]: Add various dependencies (both new ones and old ones that are now > debundled). If the change is not automated, then every input should be listed, separated by commas. > [arguments]: Remove overriding of configure phase. Replace test > phase. Debundle various dependencies. Avoid words like "various", list all items whenever possible. > [build-system]: Use cmake-build-system. > [native-inputs]: Add googletest. pkg-config was also added to native-inputs. And don't worry too much about the commit message, I can change it later. > --- > gnu/packages/engineering.scm | 83 +++++++++++++++++++++++++----------- > 1 file changed, 57 insertions(+), 26 deletions(-) > > diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm > index faba76161b..fca831f44b 100644 > --- a/gnu/packages/engineering.scm > +++ b/gnu/packages/engineering.scm > @@ -38,6 +38,7 @@ > ;;; Copyright © 2022, 2023 Felix Gruber <felgru <at> posteo.net> > ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis <at> gmail.com> > ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus <at> gmail.com> > +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -123,7 +124,9 @@ (define-module (gnu packages engineering) > #:use-module (gnu packages lisp) > #:use-module (gnu packages m4) > #:use-module (gnu packages man) > + #:use-module (gnu packages markup) > #:use-module (gnu packages maths) > + #:use-module (gnu packages multiprecision) > #:use-module (gnu packages mpi) > #:use-module (gnu packages multiprecision) > #:use-module (gnu packages ncurses) > @@ -2325,33 +2328,66 @@ (define-public freehdl > (define-public librepcb > (package > (name "librepcb") > - (version "0.1.5") > + (version "1.0.0") > (source > (origin > (method url-fetch) > (uri (string-append "https://download.librepcb.org/releases/" > version "/librepcb-" version "-source.zip")) > + (modules `((guix build utils))) > + (snippet > + ;; Delete libraries that we already have or don't need. > + ;; TODO: try to unbundle more (see lib/). > + `(begin > + (let ((third-parties '("fontobene-qt5" > + "googletest" > + "hoedown" > + "muparser" > + "polyclipping" > + "quazip"))) > + (with-directory-excursion "libs" > + (map (lambda (third-party) > + (delete-file-recursively third-party)) > + third-parties))) > + #t)) > (sha256 > - (base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr")))) > - (build-system gnu-build-system) > + (base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v")))) > + (build-system cmake-build-system) > (inputs > - (list qtbase-5 qtsvg-5 zlib)) > + (list fontconfig > + fontobene-qt5 > + glu > + hoedown > + muparser > + opencascade-occt > + clipper Nitpick: 'clipper' is out of order > + qtbase-5 > + qtdeclarative-5 > + qtquickcontrols2-5 > + qtsvg-5 > + quazip > + zlib)) > (native-inputs > - (list qttools-5 ; for lrelease > + (list googletest > + pkg-config > + qttools-5 > unzip)) > (arguments > - `(#:phases > - (modify-phases %standard-phases > - (replace 'configure > - (lambda* (#:key inputs outputs #:allow-other-keys) > - (mkdir-p "build") > - (chdir "build") > - (let ((lrelease (search-input-file inputs "/bin/lrelease")) > - (out (assoc-ref outputs "out"))) > - (invoke "qmake" > - (string-append "QMAKE_LRELEASE=" lrelease) > - (string-append "PREFIX=" out) > - "../librepcb.pro"))))))) > + `(#:phases (modify-phases %standard-phases > + (replace 'check > + (lambda* (#:key tests? #:allow-other-keys) > + (when tests? > + (setenv "QT_QPA_PLATFORM" "offscreen") > + (setenv "QT_QUICK_BACKEND" "software") > + (display "Running unittests...\n") > + (invoke "./tests/unittests/librepcb-unittests" "--help"))))) > + Why --help? I ran librepcb-unittests with no arguments and found that ~20 tests failed out of ~2100. If it's not possible to skip them manually, you could skip all tests and leave a comment reporting what happened. I didn't check the output of --help. > #:configure-flags (list > + "-DUNBUNDLE_FONTOBENE_QT5=ON" > + "-DUNBUNDLE_GTEST=ON" > + "-DUNBUNDLE_HOEDOWN=ON" > + "-DUNBUNDLE_MUPARSER=ON" > + "-DUNBUNDLE_POLYCLIPPING=ON" > + "-DUNBUNDLE_QUAZIP=ON"))) #:configure-flags is usually placed above #:phases. > (home-page "https://librepcb.org/") > (synopsis "Electronic Design Automation tool") > (description "LibrePCB is @dfn{Electronic Design Automation} (EDA) > @@ -2359,17 +2395,12 @@ (define-public librepcb > formats and complete project management with library, schematic and board > editors.") > (license (list license:gpl3+ > - license:boost1.0 ; libs/clipper, > - ; libs/optional/tests/catch.hpp, > - ; libs/sexpresso/tests/catch.hpp > + license:boost1.0 ; libs/optional/tests/catch.hpp, > license:expat ; libs/delaunay-triangulation, > ; libs/parseagle, libs/type_safe > - license:asl2.0 ; libs/fontobene, libs/googletest, > - ; libs/parseagle > - license:isc ; libs/hoedown > - license:cc0 ; libs/optional, libs/sexpresso > - license:bsd-2 ; libs/optional/tests/catch.hpp > - license:lgpl2.1+)))) ; libs/quazip > + license:asl2.0 ; libs/parseagle > + license:cc0 ; libs/optional > + license:bsd-2)))) ; libs/optional/tests/catch.hpp > > (define-public gpx > (package I think this patch is ready after fixing the test suite. Vinicius
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 04 Oct 2023 00:15:02 GMT) Full text and rfc822 format available.Message #50 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: Vinicius Monego <monego <at> posteo.net> Cc: 66199 <at> debbugs.gnu.org Subject: Re: [bug#66199] [PATCH v4 2/2] gnu: librepcb: Update to 1.0.0. Date: Wed, 04 Oct 2023 01:39:44 +0200
Thanks again! Vinicius Monego <monego <at> posteo.net> writes: >> * gnu/packages/engineering.scm (librepcb): Update to 1.0.0. >> [inputs]: Add various dependencies (both new ones and old ones that are now >> debundled). > > If the change is not automated, then every input should be listed, > separated by commas. Done, I hope this is more or less what you meant >> [arguments]: Remove overriding of configure phase. Replace test >> phase. Debundle various dependencies. > > Avoid words like "various", list all items whenever possible. Okay >> [build-system]: Use cmake-build-system. >> [native-inputs]: Add googletest. > pkg-config was also added to native-inputs. I added it to the commit message > And don't worry too much about the commit message, I can change it > later. Aight >> + (list fontconfig >> + fontobene-qt5 >> + glu >> + hoedown >> + muparser >> + opencascade-occt >> + clipper > Nitpick: 'clipper' is out of order Whoops! >> + `(#:phases (modify-phases %standard-phases >> + (replace 'check >> + (lambda* (#:key tests? #:allow-other-keys) >> + (when tests? >> + (setenv "QT_QPA_PLATFORM" "offscreen") >> + (setenv "QT_QUICK_BACKEND" "software") >> + (display "Running unittests...\n") >> + (invoke "./tests/unittests/librepcb-unittests" "--help"))))) >> + > Why --help? Oops, that's a leftover artifact of me testing some stuff > I ran librepcb-unittests with no arguments and found that > ~20 tests failed out of ~2100. If it's not possible to skip them > manually, you could skip all tests and leave a comment reporting what > happened. I didn't check the output of --help. I manually skipped them, though I feel a bit "dirty" skipping 22 tests without properly knowing why they fail, especially since it's just a constant list of 22 strings in the middle of a package definition. > #:configure-flags is usually placed above #:phases. Okay, I moved it > I think this patch is ready after fixing the test suite. Great! Kind regards, pinoaffe
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 04 Oct 2023 00:17:02 GMT) Full text and rfc822 format available.Message #53 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v5 1/2] gnu: Add fontobene-qt5. Date: Wed, 4 Oct 2023 02:15:21 +0200
* gnu/packages/fontutils.scm (fontobene-qt5): New variable. --- gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 18697cd821..603f442e0a 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com> ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,7 @@ (define-module (gnu packages fontutils) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) @@ -951,6 +953,34 @@ (define-public python-ufonormalizer @end itemize") (license license:bsd-3))) +(define-public fontobene-qt5 + (package + (name "fontobene-qt5") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fontobene/fontobene-qt5") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gy3sfraf23k7dm4ha8nqpd6madzk0zmxkcb204micyn5b5l8ljg")))) + (inputs (list qtbase-5)) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./tests/fontobene-qt5-tests"))))))) + (home-page "https://github.com/fontobene/fontobene-qt5") + (synopsis "Parser for FontoBene stroke fonts") + (description "FontoBene-Qt5 is a header-only library to parse FontoBene +stroke fonts with C++11/Qt5.") + (license license:expat))) + (define-public ttfautohint (package (name "ttfautohint") base-commit: ce0cc6137df81919389f61671096a6ce701c0889 -- 2.41.0
guix-patches <at> gnu.org
:bug#66199
; Package guix-patches
.
(Wed, 04 Oct 2023 00:17:02 GMT) Full text and rfc822 format available.Message #56 received at 66199 <at> debbugs.gnu.org (full text, mbox):
From: pinoaffe <pinoaffe <at> gmail.com> To: 66199 <at> debbugs.gnu.org Cc: pinoaffe <pinoaffe <at> gmail.com> Subject: [PATCH v5 2/2] gnu: librepcb: Update to 1.0.0. Date: Wed, 4 Oct 2023 02:15:22 +0200
* gnu/packages/engineering.scm (librepcb): Update to 1.0.0. [inputs]: Add the following dependencies: fontconfig, fontobene-qt5, glu, hoedown, muparser, opencascade-occt, clipper, qtdeclarative-5, qtquickcontrols2-5, and quazip. [arguments]: Remove overriding of configure phase. Replace test phase. Disable 22 failing tests. Debundle clipper aka polyclipping, fontobene-qt5, googletest, hoedown, muparser, and quazip. [build-system]: Use cmake-build-system. [native-inputs]: Add googletest (for the test suite) and pkg-config (so the build system can find the debundled dependencies). --- gnu/packages/engineering.scm | 119 +++++++++++++++++++++++++++-------- 1 file changed, 93 insertions(+), 26 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index faba76161b..f25d5b140d 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2022, 2023 Felix Gruber <felgru <at> posteo.net> ;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis <at> gmail.com> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus <at> gmail.com> +;;; Copyright © 2023 pinoaffe <pinoaffe <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -123,7 +124,9 @@ (define-module (gnu packages engineering) #:use-module (gnu packages lisp) #:use-module (gnu packages m4) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) @@ -2325,33 +2328,102 @@ (define-public freehdl (define-public librepcb (package (name "librepcb") - (version "0.1.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.librepcb.org/releases/" version "/librepcb-" version "-source.zip")) + (modules `((guix build utils))) + (snippet + ;; Delete libraries that we already have or don't need. + ;; TODO: try to unbundle more (see lib/). + `(begin + (let ((third-parties '("fontobene-qt5" + "googletest" + "hoedown" + "muparser" + "polyclipping" + "quazip"))) + (with-directory-excursion "libs" + (map (lambda (third-party) + (delete-file-recursively third-party)) + third-parties))) + #t)) (sha256 - (base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr")))) - (build-system gnu-build-system) + (base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v")))) + (build-system cmake-build-system) (inputs - (list qtbase-5 qtsvg-5 zlib)) + (list clipper + fontconfig + fontobene-qt5 + glu + hoedown + muparser + opencascade-occt + qtbase-5 + qtdeclarative-5 + qtquickcontrols2-5 + qtsvg-5 + quazip + zlib)) (native-inputs - (list qttools-5 ; for lrelease + (list googletest + pkg-config + qttools-5 unzip)) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (mkdir-p "build") - (chdir "build") - (let ((lrelease (search-input-file inputs "/bin/lrelease")) - (out (assoc-ref outputs "out"))) - (invoke "qmake" - (string-append "QMAKE_LRELEASE=" lrelease) - (string-append "PREFIX=" out) - "../librepcb.pro"))))))) + `(#:configure-flags (list + "-DUNBUNDLE_FONTOBENE_QT5=ON" + "-DUNBUNDLE_GTEST=ON" + "-DUNBUNDLE_HOEDOWN=ON" + "-DUNBUNDLE_MUPARSER=ON" + "-DUNBUNDLE_POLYCLIPPING=ON" + "-DUNBUNDLE_QUAZIP=ON") + #:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (let ((test-include (list "*")) + (test-exclude + (list + ;; These tests all fail when run by the build + ;; process even though they pass when manually + ;; run as a normal user. + + ;; TODO: verify that the failing tests don't + ;; point to any actual underlying issues + "SystemInfoTest.testGetUsername" + "OrderPcbDialogTest.testAutoOpenBrowser" + "DxfImportDialogTest.testLayerName" + "DxfImportDialogTest.testCirclesAsDrills" + "DxfImportDialogTest.testJoinTangentPolylines" + "DxfImportDialogTest.testLineWidth" + "DxfImportDialogTest.testScaleFactor" + "DxfImportDialogTest.testPlacementPosition" + "GraphicsExportDialogTest.testPageSize" + "GraphicsExportDialogTest.testOrientation" + "GraphicsExportDialogTest.testMargins" + "GraphicsExportDialogTest.testShowPinNumbers" + "GraphicsExportDialogTest.testRotate" + "GraphicsExportDialogTest.testMirror" + "GraphicsExportDialogTest.testScale" + "GraphicsExportDialogTest.testPixmapDpi" + "GraphicsExportDialogTest.testBlackWhite" + "GraphicsExportDialogTest.testBackgroundColor" + "GraphicsExportDialogTest.testMinLineWidth" + "GraphicsExportDialogTest.testLayerColors" + "GraphicsExportDialogTest.testOpenExportedFiles" + "AddComponentDialogTest.testAddMore"))) + (setenv "QT_QPA_PLATFORM" "offscreen") + (setenv "QT_QUICK_BACKEND" "software") + (display "Running unittests...\n") + (invoke "./tests/unittests/librepcb-unittests" + (string-append + "--gtest_filter=" + (string-join test-include ":") + "-" + (string-join test-exclude ":")))))))))) (home-page "https://librepcb.org/") (synopsis "Electronic Design Automation tool") (description "LibrePCB is @dfn{Electronic Design Automation} (EDA) @@ -2359,17 +2431,12 @@ (define-public librepcb formats and complete project management with library, schematic and board editors.") (license (list license:gpl3+ - license:boost1.0 ; libs/clipper, - ; libs/optional/tests/catch.hpp, - ; libs/sexpresso/tests/catch.hpp + license:boost1.0 ; libs/optional/tests/catch.hpp, license:expat ; libs/delaunay-triangulation, ; libs/parseagle, libs/type_safe - license:asl2.0 ; libs/fontobene, libs/googletest, - ; libs/parseagle - license:isc ; libs/hoedown - license:cc0 ; libs/optional, libs/sexpresso - license:bsd-2 ; libs/optional/tests/catch.hpp - license:lgpl2.1+)))) ; libs/quazip + license:asl2.0 ; libs/parseagle + license:cc0 ; libs/optional + license:bsd-2)))) ; libs/optional/tests/catch.hpp (define-public gpx (package -- 2.41.0
Vinicius Monego <monego <at> posteo.net>
:pinoaffe <pinoaffe <at> gmail.com>
:Message #61 received at 66199-done <at> debbugs.gnu.org (full text, mbox):
From: Vinicius Monego <monego <at> posteo.net> To: pinoaffe <pinoaffe <at> gmail.com> Cc: 66199-done <at> debbugs.gnu.org Subject: Re: [bug#66199] [PATCH v4 2/2] gnu: librepcb: Update to 1.0.0. Date: Sat, 7 Oct 2023 01:16:45 +0000
[Message part 1 (text/plain, inline)]
Hello, Em 03/10/2023 20:39, pinoaffe escreveu: > Thanks again! > > Vinicius Monego<monego <at> posteo.net> writes: >>> * gnu/packages/engineering.scm (librepcb): Update to 1.0.0. >>> [inputs]: Add various dependencies (both new ones and old ones that are now >>> debundled). >> If the change is not automated, then every input should be listed, >> separated by commas. > Done, I hope this is more or less what you meant > >>> [arguments]: Remove overriding of configure phase. Replace test >>> phase. Debundle various dependencies. >> Avoid words like "various", list all items whenever possible. > Okay > >>> [build-system]: Use cmake-build-system. >>> [native-inputs]: Add googletest. >> pkg-config was also added to native-inputs. > I added it to the commit message > >> And don't worry too much about the commit message, I can change it >> later. > Aight > >>> + (list fontconfig >>> + fontobene-qt5 >>> + glu >>> + hoedown >>> + muparser >>> + opencascade-occt >>> + clipper >> Nitpick: 'clipper' is out of order > Whoops! > >>> + `(#:phases (modify-phases %standard-phases >>> + (replace 'check >>> + (lambda* (#:key tests? #:allow-other-keys) >>> + (when tests? >>> + (setenv "QT_QPA_PLATFORM" "offscreen") >>> + (setenv "QT_QUICK_BACKEND" "software") >>> + (display "Running unittests...\n") >>> + (invoke "./tests/unittests/librepcb-unittests" "--help"))))) >>> + >> Why --help? > Oops, that's a leftover artifact of me testing some stuff > >> I ran librepcb-unittests with no arguments and found that >> ~20 tests failed out of ~2100. If it's not possible to skip them >> manually, you could skip all tests and leave a comment reporting what >> happened. I didn't check the output of --help. > I manually skipped them, though I feel a bit "dirty" skipping 22 tests > without properly knowing why they fail, especially since it's just a > constant list of 22 strings in the middle of a package definition. > >> #:configure-flags is usually placed above #:phases. > Okay, I moved it > >> I think this patch is ready after fixing the test suite. > Great! > > Kind regards, > pinoaffe Great job! I pushed the patches after rewriting the commit message for librepcb and doing some minor tweaks. It's OK to skip some tests, and even better to add a comment stating that they pass after the package is built. Thanks, Vinicius
[Message part 2 (text/html, inline)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sat, 04 Nov 2023 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.