summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2017-05-19 20:40:16 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2017-05-25 11:37:29 +0200
commitfaa6bdf8ada7b3e4c461edb5183c539cc8a66a00 (patch)
tree1aea504b59c0377cbf7f3d8eea18f8e1303461a5
parentd169326908a6143f4e914081c86a9d0d8152858b (diff)
gnu: sunxi-tools: Build armhf target tools.
* gnu/packages/admin.scm (sunxi-tools) [native-inputs]: Add cross-gcc, cross-libc. [arguments]: Add "set-environment-up" phase. Replace "build" phase. Add "build-armhf" phase. Update make-flags.
-rw-r--r--gnu/packages/admin.scm39
1 files changed, 34 insertions, 5 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index aa6ccc0a73..e80dc5867d 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -57,6 +57,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages tcl)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cross-base)
#:use-module (gnu packages tls)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages bison)
@@ -1904,20 +1905,48 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
'(delete-file-recursively "bin"))
(file-name (string-append name "-" version ".tar.gz"))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
+ #:xbinutils (cross-binutils "arm-linux-gnueabihf")
+ #:libc (cross-libc "arm-linux-gnueabihf")))
+ ("cross-libc" ,(cross-libc "arm-linux-gnueabihf"))))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no tests exist
+ `(#:tests? #f ; no tests exist
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
- "CROSS_COMPILE="
- "CC=gcc"
- "all")
+ (string-append "CROSS_COMPILE="
+ "arm-linux-gnueabihf-")
+ "CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
+ (add-before 'build 'set-environment-up
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (define (cross? x)
+ (string-contains x "cross-arm-linux"))
+ (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
+ (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
+ (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+ (for-each
+ (lambda (env-name)
+ (let* ((env-value (getenv env-name))
+ (search-path (search-path-as-string->list env-value))
+ (new-search-path (filter (lambda (e) (not (cross? e)))
+ search-path))
+ (new-env-value (list->search-path-as-string
+ new-search-path ":")))
+ (setenv env-name new-env-value)))
+ '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH"))
+ #t))
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (zero? (apply system* "make" "tools" "misc" make-flags))))
+ (add-after 'build 'build-armhf
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (zero? (apply system* "make" "target-tools" make-flags))))
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "install-all" "install-misc"