unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#32923] [PATCH 0/3] Add Arduino basics.
@ 2018-10-03 19:42 Danny Milosavljevic
  2018-10-03 19:44 ` [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware Danny Milosavljevic
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Danny Milosavljevic @ 2018-10-03 19:42 UTC (permalink / raw)
  To: 32923

Danny Milosavljevic (3):
  gnu: Add arduino-hardware.
  gnu: Add arduino-libraries.
  gnu: Add arduino-makefile.

 gnu/packages/arduino.scm | 207 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 207 insertions(+)
 create mode 100644 gnu/packages/arduino.scm

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware.
  2018-10-03 19:42 [bug#32923] [PATCH 0/3] Add Arduino basics Danny Milosavljevic
@ 2018-10-03 19:44 ` Danny Milosavljevic
  2018-10-03 19:44   ` [bug#32923] [PATCH 2/3] gnu: Add arduino-libraries Danny Milosavljevic
                     ` (2 more replies)
  2018-10-09  7:44 ` Björn Höfling
  2023-05-27 21:52 ` Robby Zambito
  2 siblings, 3 replies; 10+ messages in thread
From: Danny Milosavljevic @ 2018-10-03 19:44 UTC (permalink / raw)
  To: 32923

* gnu/packages/arduino.scm (arduino-installer): New procedure.
(arduino-hardware): New variable.
---
 gnu/packages/arduino.scm | 106 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)
 create mode 100644 gnu/packages/arduino.scm

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
new file mode 100644
index 000000000..24f109ecd
--- /dev/null
+++ b/gnu/packages/arduino.scm
@@ -0,0 +1,106 @@
+;;; 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+))))

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 2/3] gnu: Add arduino-libraries.
  2018-10-03 19:44 ` [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware Danny Milosavljevic
@ 2018-10-03 19:44   ` Danny Milosavljevic
  2023-09-01 19:02     ` [bug#32923] [PATCH 0/3] Add Arduino basics Maxim Cournoyer
  2018-10-03 19:44   ` [bug#32923] [PATCH 3/3] gnu: Add arduino-makefile Danny Milosavljevic
  2023-09-01 18:46   ` [bug#32923] [PATCH 0/3] Add Arduino basics Maxim Cournoyer
  2 siblings, 1 reply; 10+ messages in thread
From: Danny Milosavljevic @ 2018-10-03 19:44 UTC (permalink / raw)
  To: 32923

* gnu/packages/arduino.scm (arduino-libraries): New variable.
---
 gnu/packages/arduino.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index 24f109ecd..369ca68a7 100644
--- a/gnu/packages/arduino.scm
+++ b/gnu/packages/arduino.scm
@@ -104,3 +104,21 @@
 (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+))))

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 3/3] gnu: Add arduino-makefile.
  2018-10-03 19:44 ` [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware Danny Milosavljevic
  2018-10-03 19:44   ` [bug#32923] [PATCH 2/3] gnu: Add arduino-libraries Danny Milosavljevic
@ 2018-10-03 19:44   ` Danny Milosavljevic
  2023-09-01 18:46   ` [bug#32923] [PATCH 0/3] Add Arduino basics Maxim Cournoyer
  2 siblings, 0 replies; 10+ messages in thread
From: Danny Milosavljevic @ 2018-10-03 19:44 UTC (permalink / raw)
  To: 32923

* gnu/packages/arduino.scm (arduino-makefile): Add variable.
---
 gnu/packages/arduino.scm | 83 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)

diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
index 369ca68a7..f976a197e 100644
--- a/gnu/packages/arduino.scm
+++ b/gnu/packages/arduino.scm
@@ -122,3 +122,86 @@
               (replace 'install ,(arduino-installer "libraries"))))))
     ;; Note: Some parts are BSD and ASL-2.0 licensed.
     (license (list license:lgpl2.1+ license:gpl3+))))
+
+(define-public arduino-makefile
+  (package
+    (name "arduino-makefile")
+    (version "1.6.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sudar/Arduino-Makefile.git")
+                    (commit version)))
+              (sha256
+               (base32
+                "0flpl97d2231gp51n3y4qvf3y1l8xzafi1sgpwc305vwc2h4dl2x"))
+              (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; no tests exist
+       #:phases
+        (modify-phases %standard-phases
+          (delete 'configure)
+          (add-after 'unpack 'patch-paths
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((avr-gcc (assoc-ref inputs "avr-toolchain-5")))
+              (substitute* "bin/ard-reset-arduino"
+                (("#!/usr/bin/env python") "#!/usr/bin/python3"))
+              (substitute* "Arduino.mk"
+                (("#    => ARDUINO_DIR.*")
+                   (string-append "ARDUINO_DIR = "
+                                  (assoc-ref %build-inputs "arduino-libraries")
+                                  "/share/arduino\n"))
+                ; ; defaults to "hardware/tools/avr"
+                (("#    => AVR_TOOLS_DIR.*")
+                   (string-append "AVR_TOOLS_DIR = "
+                                  (assoc-ref %build-inputs "avrdude")
+                                  "\n"))
+                (("#    => ARDMK_DIR.*")
+                   (string-append "ARDMK_DIR = "
+                                  (assoc-ref %outputs "out")
+                                  "/share/arduino\n"))
+                (("CC_NAME[ ]*=.*")
+                   (string-append "CC_NAME = " avr-gcc "/bin/avr-gcc\n"))
+                (("CXX_NAME[ ]*=.*")
+                   (string-append "CXX_NAME = " avr-gcc "/bin/avr-g++\n"))
+                (("OBJCOPY_NAME[ ]*=.*")
+                   (string-append "OBJCOPY_NAME = " avr-gcc "/bin/avr-objcopy\n"))
+                (("OBJDUMP_NAME[ ]*=.*")
+                   (string-append "OBJDUMP_NAME = " avr-gcc "/bin/avr-objdump\n"))
+                (("AR_NAME[ ]*=.*")
+                   (string-append "AR_NAME = " avr-gcc "/bin/avr-ar\n"))
+                (("SIZE_NAME[ ]*=.*")
+                   (string-append "SIZE_NAME = " avr-gcc "/bin/avr-size\n"))
+                (("NM_NAME[ ]*=.*")
+                   (string-append "NM_NAME = " avr-gcc "/bin/avr-nm\n"))))))
+          (delete 'build)
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (out-mk (string-append out "/share/arduino"))
+                     (out-doc (string-append out "/share/doc"))
+                     (out-bin (string-append out "/bin"))
+                     (out-man (string-append out "/share/man/man1")))
+                    (mkdir-p out-mk)
+                    (for-each (lambda (name)
+                                (copy-file name (string-append out-mk "/" name)))
+                              '("Arduino.mk" "arduino-mk-vars.md" "chipKIT.mk" "Common.mk"))
+                    (mkdir-p out-doc)
+                    (copy-recursively "examples" out-doc)
+                    (mkdir-p out-bin)
+                    (copy-file "bin/ard-reset-arduino"
+                               (string-append out-bin "/ard-reset-arduino"))
+                    (mkdir-p out-man)
+                    (copy-file "ard-reset-arduino.1"
+                               (string-append out-man "/ard-reset-arduino.1"))))))))
+    (inputs
+     `(("python" ,python)
+       ("python-pyserial" ,python-pyserial)
+       ("arduino-libraries" ,arduino-libraries)
+       ("avrdude" ,avrdude)
+       ("avr-toolchain-5" ,avr-toolchain-5)))
+    (synopsis "Arduino Makefile Include Files")
+    (description "Allows you to build Arduino sketches using a very tiny Makefile")
+    (home-page "https://github.com/sudar/Arduino-Makefile")
+    (license license:lgpl2.1)))

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 0/3] Add Arduino basics.
  2018-10-03 19:42 [bug#32923] [PATCH 0/3] Add Arduino basics Danny Milosavljevic
  2018-10-03 19:44 ` [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware Danny Milosavljevic
@ 2018-10-09  7:44 ` Björn Höfling
  2018-10-09 15:26   ` Danny Milosavljevic
  2023-05-27 21:52 ` Robby Zambito
  2 siblings, 1 reply; 10+ messages in thread
From: Björn Höfling @ 2018-10-09  7:44 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 32923

[-- Attachment #1: Type: text/plain, Size: 633 bytes --]

On Wed,  3 Oct 2018 21:42:05 +0200
Danny Milosavljevic <dannym@scratchpost.org> wrote:

> Danny Milosavljevic (3):
>   gnu: Add arduino-hardware.
>   gnu: Add arduino-libraries.
>   gnu: Add arduino-makefile.
> 
>  gnu/packages/arduino.scm | 207
> +++++++++++++++++++++++++++++++++++++++ 1 file changed, 207
> insertions(+) create mode 100644 gnu/packages/arduino.scm
> 
> 
> 

Hi Danny,

I haven't looked into the package definitions, just:

There is already a file avr.scm. Is there any reason you are not adding
to this file?

If you stick with the arduino.scm, you should add it to gnu/local.mk.

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 0/3] Add Arduino basics.
  2018-10-09  7:44 ` Björn Höfling
@ 2018-10-09 15:26   ` Danny Milosavljevic
  2018-10-09 20:42     ` Björn Höfling
  0 siblings, 1 reply; 10+ messages in thread
From: Danny Milosavljevic @ 2018-10-09 15:26 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 32923

[-- Attachment #1: Type: text/plain, Size: 850 bytes --]

Hi Björn,

On Tue, 9 Oct 2018 09:44:14 +0200
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> wrote:

> I haven't looked into the package definitions, just:
> 
> There is already a file avr.scm. Is there any reason you are not adding
> to this file?

Newer arduino versions support other platforms, not just avr.  They are an
IDE and development environment, with only the "arduinocore-" packages
differing.

So in light of this I wouldn't put it into "avr.scm".

The newer arduino versions require batik, so packages for batik have to be
finished first.
That requires xalan, so that has to be finished first.
And that requires java-cup which cannot be bootstrapped without binaries.

So a newer arduino version is going to take a while.

> If you stick with the arduino.scm, you should add it to gnu/local.mk.

Thanks!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 0/3] Add Arduino basics.
  2018-10-09 15:26   ` Danny Milosavljevic
@ 2018-10-09 20:42     ` Björn Höfling
  0 siblings, 0 replies; 10+ messages in thread
From: Björn Höfling @ 2018-10-09 20:42 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 32923

[-- Attachment #1: Type: text/plain, Size: 1828 bytes --]

On Tue, 9 Oct 2018 17:26:28 +0200
Danny Milosavljevic <dannym@scratchpost.org> wrote:

> Hi Björn,
> 
> On Tue, 9 Oct 2018 09:44:14 +0200
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> wrote:
> 
> > I haven't looked into the package definitions, just:
> > 
> > There is already a file avr.scm. Is there any reason you are not
> > adding to this file?  
> 
> Newer arduino versions support other platforms, not just avr.  They
> are an IDE and development environment, with only the "arduinocore-"
> packages differing.
> 
> So in light of this I wouldn't put it into "avr.scm".

OK. Thanks for clarification. I thought that "AVR" and "Arduino" are
somehow synonyms.


> The newer arduino versions require batik, so packages for batik have
> to be finished first.
> That requires xalan, so that has to be finished first.
> And that requires java-cup which cannot be bootstrapped without
> binaries.

I see. CUP requires at least cup.jar and jflex.jar. jfex.jar uses
jflex.jar... 

I took a quick look: Jflex 1.4.1's LexParse.java:

https://github.com/jflex-de/jflex/blob/release_1_4_1/jflex/src/JFlex/LexParse.java

was generated by CUPS v0.10.k.

And if you download that:

http://www2.cs.tum.edu/projects/cup/releases/

the 0.10.k's parser.java was generated by CUP v0.10k...

And that doesn't look like it counts as source code:

  /** Production table. */
  protected static final short _production_table[][] = 
    unpackFromStrings(new String[] {
    "\000\153\000\002\002\004\000\002\055\002\000\002\003" +
    "\012\000\002\003\007\000\002\056\002\000\002\004\006" +
    "\000\002\004\003\000\002\005\004\000\002\005\003\000" +
[..]

Is it that what you meant by bootstrapping from binaries?

It would be so simple, if one just wouldn't care ...

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 0/3] Add Arduino basics.
  2018-10-03 19:42 [bug#32923] [PATCH 0/3] Add Arduino basics Danny Milosavljevic
  2018-10-03 19:44 ` [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware Danny Milosavljevic
  2018-10-09  7:44 ` Björn Höfling
@ 2023-05-27 21:52 ` Robby Zambito
  2 siblings, 0 replies; 10+ messages in thread
From: Robby Zambito @ 2023-05-27 21:52 UTC (permalink / raw)
  To: 32923

Hi,

Would it be possible to include some or all of this? I'm trying to work
on an Arduino project, and trying to run the Arduino IDE or CLI directly
from their packages is proving to be a bit of a pain on Guix.

Robby




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 0/3] Add Arduino basics.
  2018-10-03 19:44 ` [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware Danny Milosavljevic
  2018-10-03 19:44   ` [bug#32923] [PATCH 2/3] gnu: Add arduino-libraries Danny Milosavljevic
  2018-10-03 19:44   ` [bug#32923] [PATCH 3/3] gnu: Add arduino-makefile Danny Milosavljevic
@ 2023-09-01 18:46   ` Maxim Cournoyer
  2 siblings, 0 replies; 10+ messages in thread
From: Maxim Cournoyer @ 2023-09-01 18:46 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 32923

Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> writes:

> * gnu/packages/arduino.scm (arduino-installer): New procedure.
> (arduino-hardware): New variable.
> ---
>  gnu/packages/arduino.scm | 106 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 106 insertions(+)
>  create mode 100644 gnu/packages/arduino.scm

[...]

> +(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))

The prepare-dependecies phase appears to expect "arduino-" prefixed
input labels, but there are no inputs specified, so it seems it'd be
useful?  Am I missing something?

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32923] [PATCH 0/3] Add Arduino basics.
  2018-10-03 19:44   ` [bug#32923] [PATCH 2/3] gnu: Add arduino-libraries Danny Milosavljevic
@ 2023-09-01 19:02     ` Maxim Cournoyer
  0 siblings, 0 replies; 10+ messages in thread
From: Maxim Cournoyer @ 2023-09-01 19:02 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 32923

Hi,

Danny Milosavljevic <dannym@scratchpost.org> writes:

> * gnu/packages/arduino.scm (arduino-libraries): New variable.
> ---
>  gnu/packages/arduino.scm | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/gnu/packages/arduino.scm b/gnu/packages/arduino.scm
> index 24f109ecd..369ca68a7 100644
> --- a/gnu/packages/arduino.scm
> +++ b/gnu/packages/arduino.scm
> @@ -104,3 +104,21 @@
>  (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+))))

This produces:

--8<---------------cut here---------------start------------->8---
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share/arduino
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share/arduino/hardware
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share/arduino/libraries
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share/arduino/libraries/.keep
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share/doc
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share/doc/arduino-libraries-1.8.7
/gnu/store/b3lahllwi6v5zblwjngkg4j1mq60q142-arduino-libraries-1.8.7/share/doc/arduino-libraries-1.8.7/license.txt
--8<---------------cut here---------------end--------------->8---

i.e., it doesn't actually ship anything other than a .keep empty file.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-09-01 19:03 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-03 19:42 [bug#32923] [PATCH 0/3] Add Arduino basics Danny Milosavljevic
2018-10-03 19:44 ` [bug#32923] [PATCH 1/3] gnu: Add arduino-hardware Danny Milosavljevic
2018-10-03 19:44   ` [bug#32923] [PATCH 2/3] gnu: Add arduino-libraries Danny Milosavljevic
2023-09-01 19:02     ` [bug#32923] [PATCH 0/3] Add Arduino basics Maxim Cournoyer
2018-10-03 19:44   ` [bug#32923] [PATCH 3/3] gnu: Add arduino-makefile Danny Milosavljevic
2023-09-01 18:46   ` [bug#32923] [PATCH 0/3] Add Arduino basics Maxim Cournoyer
2018-10-09  7:44 ` Björn Höfling
2018-10-09 15:26   ` Danny Milosavljevic
2018-10-09 20:42     ` Björn Höfling
2023-05-27 21:52 ` Robby Zambito

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).