Message ID | 3e28337e7ead18b49e5e2e99d0e3d1d22e3f9d47.1695673614.git.pinoaffe@gmail.com |
---|---|
State | New |
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9A17627BBEA; Mon, 25 Sep 2023 21:28:00 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS,T_PDS_PRO_TLD,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id CDDB027BBE2 for <patchwork@mira.cbaines.net>; Mon, 25 Sep 2023 21:27:59 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1qksBL-0003Za-Rn; Mon, 25 Sep 2023 16:27:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1qksBK-0003ZR-64 for guix-patches@gnu.org; Mon, 25 Sep 2023 16:27:50 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1qksBJ-0004nY-Tm for guix-patches@gnu.org; Mon, 25 Sep 2023 16:27:49 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1qksBW-0004ej-EB for guix-patches@gnu.org; Mon, 25 Sep 2023 16:28:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66199] [PATCH] gnu: librepcb: Update to 1.0.0. Resent-From: pinoaffe <pinoaffe@gmail.com> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 25 Sep 2023 20:28:02 +0000 Resent-Message-ID: <handler.66199.B.169567365317859@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66199 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66199@debbugs.gnu.org Cc: pinoaffe <pinoaffe@gmail.com> X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169567365317859 (code B ref -1); Mon, 25 Sep 2023 20:28:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Sep 2023 20:27:33 +0000 Received: from localhost ([127.0.0.1]:46750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1qksB3-0004dz-C9 for submit@debbugs.gnu.org; Mon, 25 Sep 2023 16:27:33 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40408) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pinoaffe@gmail.com>) id 1qksB0-0004de-Nn for submit@debbugs.gnu.org; Mon, 25 Sep 2023 16:27:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pinoaffe@gmail.com>) id 1qksAi-0003BB-K0 for guix-patches@gnu.org; Mon, 25 Sep 2023 16:27:12 -0400 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <pinoaffe@gmail.com>) id 1qksAg-0004fR-Sj for guix-patches@gnu.org; Mon, 25 Sep 2023 16:27:12 -0400 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-9a645e54806so881806866b.0 for <guix-patches@gnu.org>; Mon, 25 Sep 2023 13:27:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695673629; x=1696278429; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=+9HxV4wL8j4F+T6m6P853Op6SYm4UXEIcKGTyr9TVU0=; b=i3LJ5j6NHqJy3CvntiLpXIfglQX5i9w3vFLgHHD9Ta5kUqZOd6qoOj4PY6KOwrjdFR W2V6GBXCgXsEIy2sctrvylmlYAgOycOsmeocTz8rJwEj2ttxg0MAU1N9kB/VoG3+C1S5 PNVCWDCYmVIsD0DQDvXFBmZWvYSnrrqCE/GFtUmw1/vLam8JvBElbXJdt0CNccsKHoVq b25PfRzFxuOKCrpeGAzeYwn9YpW/os3ZhVg1tp0c/EEz+sXNGF93Gie77YV6Mgu7Jtbk zoNY7fwN8qux6CHaImqn9tb4v3VjqARmqG6SNYFHfkB8xVk5sPP8dAFur8Q53sXy/V8r p3hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695673629; x=1696278429; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+9HxV4wL8j4F+T6m6P853Op6SYm4UXEIcKGTyr9TVU0=; b=IC88IeLyGo3KfzluBp5dz3SHM7QOJpV8lqoreFkmnU72aGhq5UkRq4U/pP77CaNCsf usXoArz9WusmR3MIZkJ4ifWLiBW9yFo2xdTvrkg12bQLanqPKiN1A9TL5uMSg4XKL2S0 sl/aUvB75TDmpAUUjIJs/T18rNw1Bsnvxm7IWkIHrGpxHOt5b8BsU0EDRDvWxnz7aLCL Jyc2BZfmZPrCbxmjVe4TLGSlVb+kF5rqPX6N1534H5LaxmKDFfRMfWAN/o/WF8ZOGMFa sQPDirEXh7SPK9V/MRlvlPY9i97kqYbx8VzvduQON+ExLayII6Yq5L/TDnMBh3HqzAdT T0mA== X-Gm-Message-State: AOJu0YwdZ5N21gMjcST+LV48uNnfw2sQQGv50nv3InrzOAjjQwGc7Ttf Aee9Q/+ZECedbkQXSVHIghO7HyhgkSPatg== X-Google-Smtp-Source: AGHT+IF3WN9gDpYBhVDI/INgzfnXh4W/YLNUbnGnaZOKiYUIfXxD0f32OsiyYQFtMw3Dcy9AZwq5bA== X-Received: by 2002:a17:906:3116:b0:9ae:53a2:4289 with SMTP id 22-20020a170906311600b009ae53a24289mr6929022ejx.63.1695673628792; Mon, 25 Sep 2023 13:27:08 -0700 (PDT) Received: from localhost (h120217.upc-h.chello.nl. [62.194.120.217]) by smtp.gmail.com with ESMTPSA id i13-20020a1709061ccd00b00991faf3810esm6824941ejh.146.2023.09.25.13.27.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 13:27:08 -0700 (PDT) From: pinoaffe <pinoaffe@gmail.com> Date: Mon, 25 Sep 2023 22:27:04 +0200 Message-ID: <3e28337e7ead18b49e5e2e99d0e3d1d22e3f9d47.1695673614.git.pinoaffe@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::62c; envelope-from=pinoaffe@gmail.com; helo=mail-ej1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_PDS_PRO_TLD=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
[bug#66199] gnu: librepcb: Update to 1.0.0.
|
|
Commit Message
pinoaffe
Sept. 25, 2023, 8:27 p.m. UTC
* gnu/packages/engineering.scm (librepcb): Update to 1.0.0. --- gnu/packages/engineering.scm | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) base-commit: 445a0359083388b5ee686e6e855f94a3aac5f79c
Comments
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
Hi, thank you for your review! Vinicius Monego <monego@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
Em 26/09/2023 09:08, pinoaffe escreveu: > Hi, Hi! > thank you for your review! > > Vinicius Monego <monego@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
Thanks again! Vinicius Monego <monego@posteo.net> writes: > Em 26/09/2023 09:08, pinoaffe escreveu: >> Vinicius Monego <monego@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
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)