From patchwork Wed Oct 4 00:15:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: pinoaffe X-Patchwork-Id: 54470 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 05EBC27BBE9; Wed, 4 Oct 2023 01:17:02 +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=unavailable 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 2B7A227BBE2 for ; Wed, 4 Oct 2023 01:17:00 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qnpZH-0002V0-3K; Tue, 03 Oct 2023 20:16:47 -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 ) id 1qnpZF-0002UW-O7 for guix-patches@gnu.org; Tue, 03 Oct 2023 20:16:45 -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 ) id 1qnpZF-0002yn-FH for guix-patches@gnu.org; Tue, 03 Oct 2023 20:16:45 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qnpZW-0005MF-TL for guix-patches@gnu.org; Tue, 03 Oct 2023 20:17:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66199] [PATCH v5 2/2] gnu: librepcb: Update to 1.0.0. Resent-From: pinoaffe Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 04 Oct 2023 00:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66199 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66199@debbugs.gnu.org Cc: pinoaffe Received: via spool by 66199-submit@debbugs.gnu.org id=B66199.169637856720495 (code B ref 66199); Wed, 04 Oct 2023 00:17:02 +0000 Received: (at 66199) by debbugs.gnu.org; 4 Oct 2023 00:16:07 +0000 Received: from localhost ([127.0.0.1]:40955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qnpYc-0005KV-8A for submit@debbugs.gnu.org; Tue, 03 Oct 2023 20:16:06 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]:50193) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qnpYV-0005Jb-Ty for 66199@debbugs.gnu.org; Tue, 03 Oct 2023 20:16:04 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-9b1ebc80d0aso273769466b.0 for <66199@debbugs.gnu.org>; Tue, 03 Oct 2023 17:15:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696378536; x=1696983336; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=auYVuQZCpoCapAEIj1FXAGsMW2KzQSXw9jOECP+a98o=; b=BLY1dEWvxdK2tHFf9ZeV4nxjntIobyUOGLNJBhRtmIayHgd0Y6pFd2+NfSzy77S5+G /JRaDKCcxZ+jnANurEipkMiJ19Lmde2T8V/2sENeb5UEiTnMPuva5r3DT/LyCJxyv14Y IFCazICq/d7sxYa1V1gFaLpmuU77xqMwrU1bF7Hn8vNmNz/k/0K/ZkbJvrU+dF/KvdRA O61jQMiz9n3d/aEaipDZePgzh98a+ba9qguMQe2rOQFAH1QRUKPTgjVG/RJRxGQrj32b NZaZimpLwkMfAidhwsVZDeWki1ZlZlX8yaKiUlBhfHkLWv47C/g3204WoUcA6lY47vq7 +G0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696378536; x=1696983336; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=auYVuQZCpoCapAEIj1FXAGsMW2KzQSXw9jOECP+a98o=; b=ScnZzO6q34nShlilFjfNfpbPyNrcSGPIpRaTbIAPoo8uJRolhD6dtWXWLvwRorze8w PTMYWdHqiKxCeJmrfYxjd64nyHYVFgoOSFPeB3bmQXMBzCcA3CMOrRBx+4JnmyulCfGo gPIqzMuPIwZK0kL/eFpDR+eSUNMn/5xnKPVTi+Xv9zyhWLyGJyyih35NNU/F0/82M4jz /dPsfb6SAa00v6oN9+NDUOaVVGMhBWzhHk3L9ROeC6kPNiNe0z/vNc1MIMkvZEiXk8ME tdKMuUWhni3PbxmBPGG9p6jjJZni2xo23XG/EK9TD9qrY6IS99dtU+QEQI7XFQNlJnbl WU6A== X-Gm-Message-State: AOJu0YwOEG38023vjzgzSSxvTiUPw6Ia4aJHksPtZPC+VpMRkVt9F380 fNPIQC0xWn+cKesVNXObFpddyCRnsyo= X-Google-Smtp-Source: AGHT+IHKbHijG9bSF9/lpwt9z4yPeAvENI9e54By8RbPlA6gqMfq3fFXsraJ7SCEej+1w84LcdK76g== X-Received: by 2002:a17:907:75e5:b0:9a5:852f:10ae with SMTP id jz5-20020a17090775e500b009a5852f10aemr581711ejc.60.1696378536570; Tue, 03 Oct 2023 17:15:36 -0700 (PDT) Received: from localhost (h120217.upc-h.chello.nl. [62.194.120.217]) by smtp.gmail.com with ESMTPSA id j20-20020a1709066dd400b009b285351817sm1787738ejt.116.2023.10.03.17.15.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 17:15:36 -0700 (PDT) From: pinoaffe Date: Wed, 4 Oct 2023 02:15:22 +0200 Message-ID: <713d243e80ccbf8aa3d618d914c6f7896975e0e7.1696378510.git.pinoaffe@gmail.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <01b109c3d00cb4ab5d81d48d22b6bc4cfe0b943a.1696378510.git.pinoaffe@gmail.com> References: <01b109c3d00cb4ab5d81d48d22b6bc4cfe0b943a.1696378510.git.pinoaffe@gmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 * 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 ;;; Copyright © 2023 Theofilos Pechlivanis ;;; Copyright © 2023 Sharlatan Hellseher +;;; Copyright © 2023 pinoaffe ;;; ;;; 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