Subject: [bug#53149] Update Kicad to 6.0.0

From: phodina <[email-masked]>
Date: Sun, 09 Jan 2022 22:45:50 +0000

Hi,

this patch series updates Kicad to version 6.0.0. Guix lint shows newer version 6.99.0 but that's intended for development of the next major release.

The list of changes are described here [1].

[1] https://www.kicad.org/blog/2021/12/KiCad-6.0.0-Release/

----
Petr

From c3dad9ac9e0d7139d80bd35f8c008fb3a9d4b04f Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sun, 9 Jan 2022 23:00:13 +0100
Subject: [PATCH 1/3] gnu: opencascade-occt: Update to 7.6.0.

* gnu/packages/maths.scm (opencascade-occt): Update to 7.6.0.
  [native-inputs]: Add fontconfig.

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b0944f307b..760444fb5c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2708,7 +2708,7 @@ (define-public opencascade-oce
 (define-public opencascade-occt
   (package
     (name "opencascade-occt")
-    (version "7.3.0p3")
+    (version "7.6.0")
     (source
       (origin
         (method git-fetch)
@@ -2720,7 +2720,7 @@ (define-public opencascade-occt
                                           version)))))
         (file-name (git-file-name name version))
         (sha256
-         (base32 "0bdywwxb6mk0ykbiajlvsb37295akqjp0a60y672qjfa67k0ljv4"))
+         (base32 "1rcwm9fkx0j4wrsyikb6g7qd611kpry7dand5dzdjvs5vzd13zvd"))
         (modules '((guix build utils)))
         (snippet
          '(begin
@@ -2757,6 +2757,7 @@ (define-public opencascade-occt
               "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
               "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON"
               "-UCMAKE_INSTALL_LIBDIR")))
+    (native-inputs (list fontconfig))
     (inputs
      (list doxygen
            ;("freeimage" ,freeimage)
-- 
2.34.0

From 3aeb8c51148b124dc499d3c2c8570ec519839a10 Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sun, 9 Jan 2022 23:08:42 +0100
Subject: [PATCH 3/3] gnu: Remove kicad-i18n.

* gnu/packages/engineering.scm (kicad-i18n): Remove variable. i18n is handled
  directly now in [email-masked] package source tree.

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index d5a44cf648..9f4eccde03 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1031,33 +1031,6 @@ (define-public kicad
 electrical diagrams), gerbview (viewing Gerber files) and others.")
     (license license:gpl3+)))
 
-(define kicad-i18n
-  (package
-    (name "kicad-i18n")
-    (version (package-version kicad))
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://gitlab.com/kicad/code/kicad-i18n.git")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (delete 'build)
-         (delete 'check))))
-    (native-inputs
-     `(("gettext" ,gettext-minimal)))
-    (home-page (package-home-page kicad))
-    (synopsis "KiCad GUI translations")
-    (description "This package contains the po files that are used for the GUI
-translations for KiCad.")
-    (license license:gpl3+)))
-
 (define-public kicad-doc
   (package
     (name "kicad-doc")
-- 
2.34.0

From 78751a56340b9cd3e267c67dbda920c0316a642d Mon Sep 17 00:00:00 2001
From: Petr Hodina <[email-masked]>
Date: Sun, 9 Jan 2022 23:04:57 +0100
Subject: [PATCH 2/3] gnu: kicad: Update to 6.0.0.

* gnu/packages/engineering.scm (kicad): Update to 6.0.0.
  [native-inputs]: Remove kicad-i18n. Use new syntax.
  [inputs]: Add bash-minimal, gtk+ and use opencascade-occt instead of
  opencascade-oce. Use new syntax.
  [arguments]: Remove phase install-translations.

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index eec835f97c..d5a44cf648 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -64,6 +64,7 @@ (define-module (gnu packages engineering)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
@@ -925,7 +926,7 @@ (define-public inspekt3d
 (define-public kicad
   (package
     (name "kicad")
-    (version "5.1.10")
+    (version "6.0.0")
     (source
      (origin
        (method git-fetch)
@@ -933,7 +934,7 @@ (define-public kicad
              (url "https://gitlab.com/kicad/code/kicad.git")
              (commit version)))
        (sha256
-        (base32 "10ix560bqy0lprnik1bprxw9ix4g8w2ipvyikx551ak9ryvgwjcc"))
+        (base32 "1jrfwyi4zs0rpcpsj01z6687a433nnr56cxbnz12jfg2yafpxk23"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
@@ -942,6 +943,8 @@ (define-public kicad
        #:build-type "Release"
        #:configure-flags
        (list "-DKICAD_SCRIPTING_PYTHON3=ON"
+            (string-append "-DOCC_INCLUDE_DIR=" (assoc-ref %build-inputs
+             "opencascade-occt") "/include/opencascade")
              "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
              "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
        #:phases
@@ -963,11 +966,6 @@ (define-public kicad
              (substitute* "common/lib_tree_model.cpp"
                (("#include <eda_pattern_match.h>" all)
                 (string-append "#include <algorithm>\n" all)))))
-         (add-after 'install 'install-translations
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (copy-recursively (assoc-ref inputs "kicad-i18n")
-                               (assoc-ref outputs "out"))
-             #t))
          (add-after 'install 'wrap-program
            ;; Ensure correct Python at runtime.
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -1003,27 +1001,28 @@ (define-public kicad
             (variable "KISYS3DMOD")     ; 3D model path
             (files '("share/kicad/modules/packages3d")))))
     (native-inputs
-     `(("boost" ,boost)
-       ("desktop-file-utils" ,desktop-file-utils)
-       ("gettext" ,gettext-minimal)
-       ("kicad-i18n" ,kicad-i18n)
-       ("pkg-config" ,pkg-config)
-       ("swig" ,swig)
-       ("zlib" ,zlib)))
+     (list boost
+       desktop-file-utils
+       gettext-minimal
+       pkg-config
+       swig
+       zlib))
     (inputs
-     `(("cairo" ,cairo)
-       ("curl" ,curl)
-       ("glew" ,glew)
-       ("glm" ,glm)
-       ("hicolor-icon-theme" ,hicolor-icon-theme)
-       ("libngspice" ,libngspice)
-       ("libsm" ,libsm)
-       ("mesa" ,mesa)
-       ("opencascade-oce" ,opencascade-oce)
-       ("openssl" ,openssl)
-       ("python" ,python-wrapper)
-       ("wxwidgets" ,wxwidgets)
-       ("wxpython" ,python-wxpython)))
+     (list bash-minimal
+       cairo
+       curl
+       glew
+       glm
+       hicolor-icon-theme
+       libngspice
+       libsm
+       mesa
+       opencascade-occt
+       openssl
+       python-wrapper
+       gtk+
+       wxwidgets
+       python-wxpython))
     (home-page "https://www.kicad.org/")
     (synopsis "Electronics Design Automation Suite")
     (description "Kicad is a program for the formation of printed circuit
-- 
2.34.0