all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob ae69c04feb1b426ecfaff306aadbea6d2141fc13 4288 bytes (raw)
name: gnu/packages/arduino.scm 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages arduino)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix utils)
  #:use-module (guix download)
  #:use-module (guix packages)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system python)
  #:use-module (guix build-system ant)
  #:use-module (gnu packages)
  #:use-module (gnu packages avr)
  #:use-module (gnu packages flashing-tools)
  #:use-module (gnu packages java)
  #:use-module (gnu packages python))

(define (arduino-installer filename)
  `(lambda* (#:key outputs #:allow-other-keys)
    (let* ((out (assoc-ref outputs "out"))
           (out-share (string-append out "/share/arduino"))
           (out-share-part (string-append out-share "/" ,filename)))
     (mkdir-p out-share)
     (copy-recursively ,filename out-share-part))))

(define-public arduino-hardware
  (package
    (name "arduino-hardware")
    (version "1.6.10")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/arduino/Arduino/archive/" version ".tar.gz"))
              (sha256
               (base32
                "15gbg64i2ac6d0mlnbla567sn26494cvqwf5q53xzf4b5v2rb0jc"))
              (file-name (string-append name "-" version ".tar.gz"))
              (modules '((guix build utils)))
              (snippet
                 '(begin
                    ;; Delete bundled jar archives.
                    (for-each delete-file (find-files "." "\\.jar$"))
                    #t))
              (patches (search-patches "arduino-hardware-patch-out-__cxa_guard_acquire.patch"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f ; no tests exist
       #:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (delete 'build)
          (add-after 'unpack 'prepare-dependencies
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; this is intended to just prepare arduino inputs where its build system expects them
              (for-each (lambda (input)
                          (let* ((key (car input))
                                 (out-dir (assoc-ref outputs "out"))
                                 (destination-dir (string-append out-dir "/share/arduino")))
                            (if (string-prefix? "arduino-" key)
                              (let* ((basename
                                       (string-drop key (string-length "arduino-")))
                                     (target-outdir (assoc-ref inputs key))
                                     (target-dir (string-append target-outdir "/share/arduino"))
                                     (target (string-append target-dir "/" basename))
                                     (destination (string-append destination-dir "/" basename)))
                                (mkdir-p destination-dir)
                                (symlink target destination)
                              #t))))
                        inputs)
              #t))
          (add-before 'build 'chdir
            (lambda _
              (chdir "hardware")))
          (replace 'install ,(arduino-installer "hardware")))))
    (home-page "https://www.arduino.cc/")
    (synopsis "Arduino Hardware Spec Files")
    (description "arduino-hardware contains Arduino Hardware Spec Files (boards.txt etc).")
    ;; GPL covers the main body ("app", "core"). LGPL covers the remainder.
    (license license:lgpl2.1+))) ; FIXME check

debug log:

solving ae69c04 ...
found ae69c04 in https://yhetil.org/guix/20160816183632.30820-4-dannym@scratchpost.org/
found b8d9aba in https://yhetil.org/guix/20160816183632.30820-3-dannym@scratchpost.org/
found fc9712c in https://yhetil.org/guix/20160816183632.30820-2-dannym@scratchpost.org/

applying [1/3] https://yhetil.org/guix/20160816183632.30820-2-dannym@scratchpost.org/
diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
new file mode 100644
index 0000000..fc9712c


applying [2/3] https://yhetil.org/guix/20160816183632.30820-3-dannym@scratchpost.org/
diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index fc9712c..b8d9aba 100644


applying [3/3] https://yhetil.org/guix/20160816183632.30820-4-dannym@scratchpost.org/
diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index b8d9aba..ae69c04 100644

Checking patch gnu/packages/arduino.scm...
Applied patch gnu/packages/arduino.scm cleanly.
Checking patch gnu/packages/arduino.scm...
2:54: new blank line at EOF.
+
Applied patch gnu/packages/arduino.scm cleanly.
Checking patch gnu/packages/arduino.scm...
Applied patch gnu/packages/arduino.scm cleanly.
warning: 1 line adds whitespace errors.

index at:
100644 ae69c04feb1b426ecfaff306aadbea6d2141fc13	gnu/packages/arduino.scm

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

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.