summary refs log tree commit diff
path: root/gnu/packages/embedded.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/embedded.scm')
-rw-r--r--gnu/packages/embedded.scm53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 70de5e53b8..3e1f87d749 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -30,12 +30,14 @@
   #:use-module (guix build utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
+  #:use-module ((gnu packages base) #:prefix base:)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages cross-base)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gdb)
+  #:use-module (gnu packages guile)
   #:use-module (gnu packages libftdi)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages perl)
@@ -719,3 +721,54 @@ toolchain, the loader, the Openspin compiler, the Spin2cpp tool, and the Spin
 simulator.")
     (home-page (package-home-page propeller-gcc))
     (license (package-license propeller-gcc))))
+
+(define-public binutils-vc4
+  (let ((commit "708acc851880dbeda1dd18aca4fd0a95b2573b36"))
+    (package
+      (name "binutils-vc4")
+      (version (string-append "2.23.51-0." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/puppeh/binutils-vc4.git")
+                       (commit commit)))
+                (sha256
+                 (base32
+                  "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:configure-flags '("--target=vc4-elf"
+                             "--disable-werror"
+                             "--enable-cgen-maint")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'unpack-cgen
+             (lambda* (#:key inputs #:allow-other-keys)
+               (copy-recursively (string-append (assoc-ref inputs "cgen")
+                                                "/cgen") "cgen")
+               #t))
+           (add-after 'unpack-cgen 'fix-cgen-guile
+             (lambda _
+               (substitute* "opcodes/Makefile.in"
+                 (("guile\\{,-\\}1.8") "guile"))
+               (zero? (system* "which" "guile")))))))
+      (native-inputs
+       `(("cgen"
+          ,(origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/puppeh/cgen.git")
+                       (commit "d8e2a9eb70425f180fdd5bfd032884b0855f2032")))
+                (sha256
+                 (base32
+                  "14b3h2ji740s8zq5vwm4qdcxs4aa4wxi6wb9di3bv1h39x14nyr9"))))
+         ("texinfo" ,texinfo)
+         ("flex" ,flex)
+         ("bison" ,bison)
+         ("guile-1.8" ,guile-1.8)
+         ("which" ,base:which)))
+      (synopsis "Binutils for VC4")
+      (description "This package provides @code{binutils} for VideoCore IV,
+the Raspberry Pi chip.")
+      (license license:gpl3+)
+      (home-page "https://github.com/puppeh/vc4-toolchain/"))))