gnu: propeller-development-suite: Use stable release.
* gnu/packages/embedded.scm (propeller-binutils): Take sources from release_1_0 branch. [arguments]: Remove "patch-/bin/sh-in-tests" phase; add "chdir" phase; disable Werror flag. (propeller-gcc-4): Use sources from release_1_0 branch. [arguments]: Add "chdir" phase. [home-page]: Change to official home page. (proplib): Use sources from release_1_0 branch. [arguments]: Add "chdir" phase; remove outdated patch from "fix-Makefile" phase; do not build and install tiny library. [home-page]: Change to official home page. (propeller-load): Use sources from release_1_0 branch. [arguments]: Add "chdir" phase. [home-page]: Change to official home page.master
parent
b3b2efc82d
commit
791cfa672d
|
@ -416,13 +416,15 @@ language.")
|
|||
with a layered architecture of JTAG interface and TAP support.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; The commits for all propeller tools are the latest versions as published
|
||||
;; here: https://github.com/dbetz/propeller-gcc
|
||||
;; The commits for all propeller tools are the stable versions published at
|
||||
;; https://github.com/propellerinc/propgcc in the release_1_0. According to
|
||||
;; personal correspondence with the developers in July 2017, more recent
|
||||
;; versions are currently incompatible with the "Simple Libraries".
|
||||
|
||||
(define propeller-binutils
|
||||
(let ((xbinutils (cross-binutils "propeller-elf"))
|
||||
(commit "3bfba30076f8ce160a2f42914fdb68f24445fd44")
|
||||
(revision "1"))
|
||||
(commit "4c46ecbe79ffbecd2ce918497ace5b956736b5a3")
|
||||
(revision "2"))
|
||||
(package
|
||||
(inherit xbinutils)
|
||||
(name "propeller-binutils")
|
||||
|
@ -430,28 +432,24 @@ with a layered architecture of JTAG interface and TAP support.")
|
|||
(source (origin (inherit (package-source xbinutils))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/totalspectrum/binutils-propeller.git")
|
||||
(url "https://github.com/parallaxinc/propgcc.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" commit "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v3rgxwj7b8817wy5ccf8621v75qcxvcxygk4acr3hbc6yqybr8h"))))
|
||||
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))
|
||||
(patch-flags (list "-p1" "--directory=binutils"))))
|
||||
(arguments
|
||||
`(;; FIXME: For some reason there are many test failures. Some of them
|
||||
;; appear to be due to regular expression mismatch, but it's not
|
||||
`(;; FIXME: For some reason there are many test failures. It's not
|
||||
;; obvious how to fix the failures.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-/bin/sh-in-tests
|
||||
(lambda _
|
||||
(substitute* '("sim/testsuite/Makefile.in"
|
||||
"sim/testsuite/mips64el-elf/Makefile.in"
|
||||
"sim/testsuite/d10v-elf/Makefile.in"
|
||||
"sim/testsuite/sim/cris/asm/badarch1.ms")
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t)))
|
||||
,@(package-arguments xbinutils)))
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "binutils") #t)))
|
||||
,@(substitute-keyword-arguments (package-arguments xbinutils)
|
||||
((#:configure-flags flags)
|
||||
`(cons "--disable-werror" ,flags)))))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
|
@ -497,26 +495,33 @@ with a layered architecture of JTAG interface and TAP support.")
|
|||
|
||||
(define-public propeller-gcc-4
|
||||
(let ((xgcc propeller-gcc-6)
|
||||
(commit "f1b01001b760d691a91ff1db4830d41bb712557f")
|
||||
(revision "1"))
|
||||
(commit "4c46ecbe79ffbecd2ce918497ace5b956736b5a3")
|
||||
(revision "2"))
|
||||
(package (inherit xgcc)
|
||||
(name "propeller-gcc")
|
||||
(version (string-append "4.6.1-" revision "." (string-take commit 9)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dbetz/propgcc-gcc.git")
|
||||
(url "https://github.com/parallaxinc/propgcc.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" commit "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"15mxrhk2v4vqmdkvcqy33ag1wrg9x9q20kx2w33kkw8pkrijknbi"))
|
||||
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))
|
||||
(patch-flags (list "-p1" "--directory=gcc"))
|
||||
(patches
|
||||
(append
|
||||
(origin-patches (package-source gcc-4.7))
|
||||
(search-patches "gcc-4.6-gnu-inline.patch"
|
||||
"gcc-cross-environment-variables.patch")))))
|
||||
(home-page "https://github.com/dbetz/propgcc-gcc")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments propeller-gcc-6)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "gcc") #t))))))
|
||||
(home-page "https://github.com/parallaxinc/propgcc")
|
||||
(supported-systems (delete "aarch64-linux" %supported-systems)))))
|
||||
|
||||
;; Version 6 is experimental and may not work correctly. This is why we
|
||||
|
@ -524,23 +529,25 @@ with a layered architecture of JTAG interface and TAP support.")
|
|||
;; provided by Parallax Inc.
|
||||
(define-public propeller-gcc propeller-gcc-4)
|
||||
|
||||
;; There is no release, so we take the latest version as referenced from here:
|
||||
;; https://github.com/dbetz/propeller-gcc
|
||||
|
||||
;; FIXME: We do not build the tiny library because that would require C++
|
||||
;; headers, which are not available. This may require adding a propeller-elf
|
||||
;; variant of the libstdc++ package.
|
||||
(define-public proplib
|
||||
(let ((commit "844741fe0ceb140ab2fdf9d0667f68c1c39c31da")
|
||||
(revision "1"))
|
||||
(let ((commit "4c46ecbe79ffbecd2ce918497ace5b956736b5a3")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "proplib")
|
||||
(version (string-append "0.0.0-" revision "." (string-take commit 9)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/totalspectrum/proplib.git")
|
||||
(url "https://github.com/parallaxinc/propgcc.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" commit "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0q7irf1x8iqx07n7lzksax9armrdkizs49swsz76nbks0mw67wiv"))))
|
||||
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
@ -550,12 +557,11 @@ with a layered architecture of JTAG interface and TAP support.")
|
|||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-Makefile
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "lib") #t))
|
||||
(add-after 'chdir 'fix-Makefile
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
;; The GCC sources are not part of this package, so we cannot
|
||||
;; install the out-of-tree license file.
|
||||
(("cp \\.\\..*") "")
|
||||
;; Control the installation time of the headers.
|
||||
((" install-includes") ""))
|
||||
#t))
|
||||
|
@ -575,23 +581,14 @@ with a layered architecture of JTAG interface and TAP support.")
|
|||
"/propeller-elf/include:"
|
||||
(or (getenv "CROSS_C_INCLUDE_PATH") "")))
|
||||
#t))
|
||||
(add-after 'build 'build-tiny
|
||||
(add-before 'install 'install-includes
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(zero? (apply system* "make" "tiny" make-flags))))
|
||||
;; The build of the tiny libraries depends on the includes to be
|
||||
;; available. Since we set CROSS_C_INCLUDE_PATH to the output
|
||||
;; directory, we have to install the includes first.
|
||||
(add-before 'build-tiny 'install-includes
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(zero? (apply system* "make" "install-includes" make-flags))))
|
||||
(add-after 'install 'install-tiny
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(zero? (apply system* "make" "install-tiny" make-flags)))))))
|
||||
(zero? (apply system* "make" "install-includes" make-flags)))))))
|
||||
(native-inputs
|
||||
`(("propeller-gcc" ,propeller-gcc)
|
||||
("propeller-binutils" ,propeller-binutils)
|
||||
("perl" ,perl)))
|
||||
(home-page "https://github.com/totalspectrum/proplib")
|
||||
(home-page "https://github.com/parallaxinc/propgcc")
|
||||
(synopsis "C library for the Parallax Propeller")
|
||||
(description "This is a C library for the Parallax Propeller
|
||||
micro-controller.")
|
||||
|
@ -655,20 +652,20 @@ code.")
|
|||
(license license:expat)))
|
||||
|
||||
(define-public propeller-load
|
||||
(let ((commit "ba9c0a7251cf751d8d292ae19ffa03132097c0c0")
|
||||
(revision "1"))
|
||||
(let ((commit "4c46ecbe79ffbecd2ce918497ace5b956736b5a3")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "propeller-load")
|
||||
(version "3.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dbetz/propeller-load.git")
|
||||
(url "https://github.com/parallaxinc/propgcc.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" commit "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qv3xaapl9fmj3zn58b60sprp4rnvnlpci8ci0pdrzkw6fhvx3pg"))))
|
||||
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
@ -677,11 +674,13 @@ code.")
|
|||
(string-append "TARGET=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "loader") #t))
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
`(("openspin" ,openspin)
|
||||
("propeller-toolchain" ,propeller-toolchain)))
|
||||
(home-page "https://github.com/dbetz/propeller-load")
|
||||
(home-page "https://github.com/parallaxinc/propgcc")
|
||||
(synopsis "Loader for Parallax Propeller micro-controllers")
|
||||
(description "This package provides the tool @code{propeller-load} to
|
||||
upload binaries to a Parallax Propeller micro-controller.")
|
||||
|
|
Reference in New Issue