Subject: [bug#66199] [PATCH v2 2/2] gnu: librepcb: Update to 1.0.0.

From: pinoaffe <[email-masked]>
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 <[email-masked]>
 ;;; Copyright © 2022, 2023 Felix Gruber <[email-masked]>
 ;;; Copyright © 2023 Theofilos Pechlivanis <[email-masked]>
+;;; Copyright © 2023 pinoaffe <[email-masked]
 ;;;
 ;;; 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