From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:48684) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hT43r-00032F-Bk for guix-patches@gnu.org; Tue, 21 May 2019 08:40:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hT43o-0000hs-Sf for guix-patches@gnu.org; Tue, 21 May 2019 08:40:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:53602) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hT43m-0000gg-Ru for guix-patches@gnu.org; Tue, 21 May 2019 08:40:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hT43m-00020i-MD for guix-patches@gnu.org; Tue, 21 May 2019 08:40:02 -0400 Subject: [bug#35842] [PATCH] gnu: Add pcb2gcode. Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:48534) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hT42i-0002Ie-FA for guix-patches@gnu.org; Tue, 21 May 2019 08:38:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hT42f-0007hd-2Z for guix-patches@gnu.org; Tue, 21 May 2019 08:38:56 -0400 Received: from mugam.systemreboot.net ([139.59.75.54]:37864) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hT42d-0007VV-VI for guix-patches@gnu.org; Tue, 21 May 2019 08:38:53 -0400 From: Arun Isaac Date: Tue, 21 May 2019 18:08:25 +0530 Message-Id: <20190521123825.11547-1-arunisaac@systemreboot.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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: 35842@debbugs.gnu.org * gnu/packages/boost.scm (boost-for-pcb2gcode): New variable. * gnu/packages/engineering.scm (pcb2gcode): New variable. --- gnu/packages/boost.scm | 27 +++++++++++++++++++- gnu/packages/engineering.scm | 48 ++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index b83bd73a39..3919f7fa70 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2019 Ludovic Courtès ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2018, 2019 Arun Isaac ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Maxim Cournoyer ;;; Copyright © 2018 Efraim Flashner @@ -150,6 +150,31 @@ across a broad spectrum of applications.") (delete 'provide-libboost_python))))) (properties '((hidden? . #t))))) +(define-public boost-for-pcb2gcode + ;; Older version for pcb2gcode + (package + (inherit boost) + (version "1.66.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/boost/boost/" version "/boost_" + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) + ".tar.bz2")) + (sha256 + (base32 + "1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap")))) + (arguments (substitute-keyword-arguments (package-arguments boost) + ((#:phases phases) + `(modify-phases ,phases + ;; This was removed after boost-1.67. + (add-before 'configure 'more-bin-sh-patching + (lambda _ + (substitute* "tools/build/doc/bjam.qbk" + (("/bin/sh") (which "sh"))))) + (delete 'provide-libboost_python))))) + (properties '((hidden? . #t))))) + (define-public boost-sync (let ((commit "c72891d9b90e2ceb466ec859f640cd012b2d8709") (version "1.55") diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 359503e9e1..4f59f0b391 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2062,3 +2062,51 @@ purpose circuit simulator and can perform DC and transient analyses, fourier analysis and AC analysis. The engine is designed to do true mixed-mode simulation.") (license license:gpl3+))) + +(define-public pcb2gcode + (package + (name "pcb2gcode") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pcb2gcode/pcb2gcode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08y6b5ybwh4fwn6gja0lbmmk7vwpz7axza3bwljbc10n9wbpqwfk")))) + (build-system gnu-build-system) + (inputs + `(;; pcb2gcode requires boost < 1.67. See configure.ac. + ("boost" ,boost-for-pcb2gcode) + ("gerbv" ,gerbv) + ("glibmm" ,glibmm) + ("gtkmm" ,gtkmm-2) + ("librsvg" ,librsvg))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + (list (string-append "--with-boost=" (assoc-ref %build-inputs "boost"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "Makefile.am" + ;; gerberimporter_tests fail since they slightly overshoot the + ;; specified error threshold. Disable it for this release. + (("gerberimporter_tests ") "") + (("^gerberimporter_tests_" all) (string-append "#" all))) + #t))))) + (home-page "https://github.com/pcb2gcode/pcb2gcode") + (synopsis "Generate G-code for milling PCBs") + (description "pcb2gcode is a command-line program for isolation routing +and drilling of PCBs. It takes Gerber files as input and outputs G-code files +for the milling of PCBs. It also includes an autoleveller for the automatic +dynamic calibration of the milling depth.") + (license license:gpl3+))) -- 2.21.0