unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob 369ca68a7698a9214145a86a4d1f8e12620bd7f2 5308 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
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
 
;;; 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 git-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.8.7")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/arduino/Arduino.git")
                    (commit version)))
              (sha256
               (base32
                "0cp502jf3xsrisadkrmxzylds48x60vparxm5lfcrzw27hw0qxgq"))
              (modules '((guix build utils)))
              (snippet
               '(begin
                  ;; Delete bundled jar archives.
                  (for-each delete-file (find-files "." "\\.jar$"))
                  #t))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f                      ; No tests exist
       #:modules ((guix build utils) (ice-9 match)
                  (guix build gnu-build-system))
       #: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 (match-lambda
                         ((key . value)
                          (let* ((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")
             #t))
         (replace 'install ,(arduino-installer "hardware")))))
    (home-page "https://www.arduino.cc/")
    (synopsis "Arduino Hardware Spec Files")
    (description "@code{arduino-hardware} contains Arduino Hardware Spec Files
(boards.txt etc).")
    ;; GPL covers the main body ("app", "core").  LGPL covers the remainder.
    (license (list license:lgpl2.1+ license:gpl3+))))

(define-public arduino-libraries
  (package (inherit arduino-hardware)
    (name "arduino-libraries")
    (inputs
     `(("arduino-hardware" ,arduino-hardware)))
    (arguments
      (substitute-keyword-arguments
        (package-arguments arduino-hardware)
        ((#:phases phases)
            `(modify-phases ,phases
              (replace 'chdir
                (lambda _
                  (chdir "libraries")
                  #t))
              (replace 'install ,(arduino-installer "libraries"))))))
    ;; Note: Some parts are BSD and ASL-2.0 licensed.
    (license (list license:lgpl2.1+ license:gpl3+))))

debug log:

solving 369ca68a7 ...
found 369ca68a7 in https://yhetil.org/guix-patches/20181003194413.3696-2-dannym@scratchpost.org/
found 24f109ecd in https://yhetil.org/guix-patches/20181003194413.3696-1-dannym@scratchpost.org/

applying [1/2] https://yhetil.org/guix-patches/20181003194413.3696-1-dannym@scratchpost.org/
diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
new file mode 100644
index 000000000..24f109ecd


applying [2/2] https://yhetil.org/guix-patches/20181003194413.3696-2-dannym@scratchpost.org/
diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index 24f109ecd..369ca68a7 100644

Checking patch gnu/packages/arduino.scm...
Applied patch gnu/packages/arduino.scm cleanly.
Checking patch gnu/packages/arduino.scm...
Applied patch gnu/packages/arduino.scm cleanly.

index at:
100644 369ca68a7698a9214145a86a4d1f8e12620bd7f2	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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).