unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26999: [PATCH] gnu: sunxi-tools: Build armhf target tools.
@ 2017-05-19 18:46 Danny Milosavljevic
  2017-05-19 20:42 ` bug#26999: [PATCH v2] " Danny Milosavljevic
  0 siblings, 1 reply; 2+ messages in thread
From: Danny Milosavljevic @ 2017-05-19 18:46 UTC (permalink / raw)
  To: 26999

* 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.
---
 gnu/packages/admin.scm | 35 +++++++++++++++++++++++++++++++----
 1 file changed, 31 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index aa6ccc0a7..1bee5de09 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,7 +1905,11 @@ 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"
+                                (cross-binutils "arm-linux-gnueabihf")
+                                (cross-libc "arm-linux-gnueabihf")))
+       ("cross-libc" ,(cross-libc "arm-linux-gnueabihf"))))
     (inputs
      `(("libusb" ,libusb)))
     (build-system gnu-build-system)
@@ -1912,12 +1917,34 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
      `(#: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" make-flags))))
+         (add-after 'build 'build-armhf
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* "make" "target-tools" "misc" make-flags))))
          (replace 'install
            (lambda* (#:key make-flags #:allow-other-keys)
              (zero? (apply system* "make" "install-all" "install-misc"

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

* bug#26999: [PATCH v2] gnu: sunxi-tools: Build armhf target tools.
  2017-05-19 18:46 bug#26999: [PATCH] gnu: sunxi-tools: Build armhf target tools Danny Milosavljevic
@ 2017-05-19 20:42 ` Danny Milosavljevic
  0 siblings, 0 replies; 2+ messages in thread
From: Danny Milosavljevic @ 2017-05-19 20:42 UTC (permalink / raw)
  To: 26999

* 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.
---
 gnu/packages/admin.scm | 39 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 34 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index aa6ccc0a7..8bcfe065a 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"
+                                (cross-binutils "arm-linux-gnueabihf")
+                                (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"

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

end of thread, other threads:[~2017-05-19 20:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-19 18:46 bug#26999: [PATCH] gnu: sunxi-tools: Build armhf target tools Danny Milosavljevic
2017-05-19 20:42 ` bug#26999: [PATCH v2] " Danny Milosavljevic

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