From: pinoaffe <pinoaffe@gmail.com>
To: 66199@debbugs.gnu.org
Cc: pinoaffe <pinoaffe@gmail.com>
Subject: [bug#66199] [PATCH v4 2/2] gnu: librepcb: Update to 1.0.0.
Date: Wed, 27 Sep 2023 20:46:11 +0200 [thread overview]
Message-ID: <ddc505a8e4faeb8b80c7c41305bfeae9ac0425c2.1695840289.git.pinoaffe@gmail.com> (raw)
In-Reply-To: <01b109c3d00cb4ab5d81d48d22b6bc4cfe0b943a.1695840289.git.pinoaffe@gmail.com>
* 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@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2023 pinoaffe <pinoaffe@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
next prev parent reply other threads:[~2023-09-27 18:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-25 20:27 [bug#66199] [PATCH] gnu: librepcb: Update to 1.0.0 pinoaffe
2023-09-26 0:37 ` Vinicius Monego
2023-09-26 12:08 ` pinoaffe
2023-09-27 0:35 ` Vinicius Monego
2023-09-27 16:06 ` pinoaffe
2023-09-26 12:16 ` [bug#66199] [PATCH v2 1/2] gnu: Add fontobene-qt5 pinoaffe
2023-09-26 12:16 ` [bug#66199] [PATCH v2 2/2] gnu: librepcb: Update to 1.0.0 pinoaffe
2023-09-27 0:39 ` [bug#66199] [PATCH v2 1/2] gnu: Add fontobene-qt5 Vinicius Monego
2023-09-27 16:11 ` pinoaffe
2023-09-27 16:14 ` [bug#66199] [PATCH v3 " pinoaffe
2023-09-27 16:14 ` [bug#66199] [PATCH v3 2/2] gnu: librepcb: Update to 1.0.0 pinoaffe
2023-09-27 18:45 ` pinoaffe
2023-09-27 18:46 ` [bug#66199] [PATCH v4 1/2] gnu: Add fontobene-qt5 pinoaffe
2023-09-27 18:46 ` pinoaffe [this message]
2023-09-30 1:34 ` [bug#66199] [PATCH v4 2/2] gnu: librepcb: Update to 1.0.0 Vinicius Monego
2023-10-03 23:39 ` pinoaffe
2023-10-07 1:16 ` bug#66199: " Vinicius Monego
2023-10-04 0:15 ` [bug#66199] [PATCH v5 1/2] gnu: Add fontobene-qt5 pinoaffe
2023-10-04 0:15 ` [bug#66199] [PATCH v5 2/2] gnu: librepcb: Update to 1.0.0 pinoaffe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ddc505a8e4faeb8b80c7c41305bfeae9ac0425c2.1695840289.git.pinoaffe@gmail.com \
--to=pinoaffe@gmail.com \
--cc=66199@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).