all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Arun Isaac <arunisaac@systemreboot.net>
To: 35842@debbugs.gnu.org
Subject: [bug#35842] [PATCH] gnu: Add pcb2gcode.
Date: Tue, 21 May 2019 18:08:25 +0530	[thread overview]
Message-ID: <20190521123825.11547-1-arunisaac@systemreboot.net> (raw)

* 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 <ludo@gnu.org>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
@@ -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

                 reply	other threads:[~2019-05-21 12:40 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190521123825.11547-1-arunisaac@systemreboot.net \
    --to=arunisaac@systemreboot.net \
    --cc=35842@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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.