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.
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.