From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:45909) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j3RTO-0008S7-3j for guix-patches@gnu.org; Sun, 16 Feb 2020 16:29:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j3RTM-00030R-Fj for guix-patches@gnu.org; Sun, 16 Feb 2020 16:29:06 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:60065) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j3RTM-00030E-CH for guix-patches@gnu.org; Sun, 16 Feb 2020 16:29:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j3RTM-00087Y-A2 for guix-patches@gnu.org; Sun, 16 Feb 2020 16:29:04 -0500 Subject: [bug#39636] [PATCH 6/6] gnu: kicad: Add translations and search paths. Resent-Message-ID: From: Brice Waegeneire Date: Sun, 16 Feb 2020 22:28:34 +0100 Message-Id: <20200216212834.3862-6-brice@waegenei.re> In-Reply-To: <20200216212621.3063-1-brice@waegenei.re> References: <20200216212621.3063-1-brice@waegenei.re> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 39636@debbugs.gnu.org * gnu/packages/engineering.scm (kicad)[arguments]: Add phase install-translations. [native-search-paths]: Add specification for KICAD_TEMPLATE_DIR, KICAD_SYMBOL_DIR, KISYSMOD and KISYS3DMOD. [native-inputs]: Add desktop-file-utils and kicad-i18l. [inputs]: Remove desktop-file-utils and replace python by python-wrapper. (kicad-i18l): Add variable. --- gnu/packages/engineering.scm | 179 ++++++++++++++++++++++------------- 1 file changed, 113 insertions(+), 66 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 477a1642c0..da882a19f6 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -793,76 +793,123 @@ language.") (define-public ao (deprecated-package "ao-cad" libfive)) +;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master (define-public kicad - (package - (name "kicad") - (version "5.1.5") - (source - (origin - (method url-fetch) - (file-name (string-append name "-" version ".tar.xz")) - (uri (string-append - "https://launchpad.net/kicad/" (version-major version) - ".0/" version "/+download/kicad-" version ".tar.xz")) - (sha256 - (base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0")))) - (build-system cmake-build-system) - (arguments - `(#:out-of-source? #t - #:tests? #f ; no tests - #:build-type "Release" - #:configure-flags - (list "-DKICAD_SCRIPTING_PYTHON3=ON" - "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") - #:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-program - ;; Ensure correct Python at runtime. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (python (assoc-ref inputs "python")) - (file (string-append out "/bin/kicad")) - (path (string-append - out - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages:" - (getenv "PYTHONPATH")))) - (wrap-program file - `("PYTHONPATH" ":" prefix (,path)) - `("PATH" ":" prefix - (,(string-append python "/bin:"))))) - #t))))) - (native-inputs - `(("boost" ,boost) - ("gettext" ,gnu-gettext) - ("pkg-config" ,pkg-config) - ("swig" ,swig) - ("zlib" ,zlib))) - (inputs - `(("cairo" ,cairo) - ("curl" ,curl) - ("desktop-file-utils" ,desktop-file-utils) - ("glew" ,glew) - ("glm" ,glm) - ("hicolor-icon-theme" ,hicolor-icon-theme) - ("libngspice" ,libngspice) - ("libsm" ,libsm) - ("mesa" ,mesa) - ("opencascade-oce" ,opencascade-oce) - ("openssl" ,openssl) - ("python" ,python) - ("wxwidgets" ,wxwidgets) - ("wxpython" ,python-wxpython))) - (home-page "https://kicad-pcb.org/") - (synopsis "Electronics Design Automation Suite") - (description "Kicad is a program for the formation of printed circuit + (package + (name "kicad") + (version "5.1.5") + (source + (origin + (method url-fetch) + (file-name (string-append name "-" version ".tar.xz")) + (uri (string-append + "https://launchpad.net/kicad/" (version-major version) + ".0/" version "/+download/kicad-" version ".tar.xz")) + (sha256 + (base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0")))) + (build-system cmake-build-system) + (arguments + `(#:out-of-source? #t + #:tests? #f ; no tests + #:build-type "Release" + #:configure-flags + (list "-DKICAD_SCRIPTING_PYTHON3=ON" + "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-translations + (lambda* (#:key inputs outputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "kicad-i18l") + (assoc-ref outputs "out")) + #t)) + (add-after 'install 'wrap-program + ;; Ensure correct Python at runtime. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (python (assoc-ref inputs "python")) + (file (string-append out "/bin/kicad")) + (path (string-append + out + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages:" + (getenv "PYTHONPATH")))) + (wrap-program file + `("PYTHONPATH" ":" prefix (,path)) + `("PATH" ":" prefix + (,(string-append python "/bin:"))))) + #t))))) + (native-search-paths + (list (search-path-specification + (variable "KICAD_TEMPLATE_DIR") + (files '("share/kicad/template"))) + (search-path-specification + (variable "KICAD_SYMBOL_DIR") ; symbol path + (files '("share/kicad/library"))) + (search-path-specification + (variable "KISYSMOD") ; footprint path + (files '("share/kicad/modules"))) + (search-path-specification + (variable "KISYS3DMOD") ; 3D model path + (files '("share/kicad/modules/packages3d"))))) + (native-inputs + `(("boost" ,boost) + ("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gnu-gettext) + ("kicad-i18l" ,kicad-i18l) + ("pkg-config" ,pkg-config) + ("swig" ,swig) + ("zlib" ,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))) + (home-page "https://kicad-pcb.org/") + (synopsis "Electronics Design Automation Suite") + (description "Kicad is a program for the formation of printed circuit boards and electrical circuits. The software has a number of programs that perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing electrical diagrams), gerbview (viewing Gerber files) and others.") - (license license:gpl3+))) + (license license:gpl3+))) + +(define kicad-i18l + (package + (name "kicad-i18l") + (version "5.1.5") + (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 + "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check)))) + (native-inputs + `(("gettext" ,gnu-gettext))) + (home-page "https://kicad-pcb.org/") + (synopsis "KiCad GUI translations") + (description "This package contains the po files that is used for the GUI +translations for KiCad.") + (license license:gpl3+))) (define-public kicad-symbols (package -- 2.25.0