[PATCH] gnu: sunxi-tools: Simplify build.

  • Done
  • quality assurance status badge
Details
2 participants
  • Danny Milosavljevic
  • Ludovic Courtès
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal

Debbugs page

Danny Milosavljevic wrote 5 years ago
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20191019124616.19256-1-dannym@scratchpost.org
* gnu/packages/admin.scm (sunxi-tools-source): New procedure.
(sunxi-target-tools): New variable.
(sunxi-tools)[source]: Use sunxi-tools-source.
[native-inputs]: Remove cross-gcc, cross-libc, cross-libc-static.
Add sunxi-target-tools.
[arguments]<#:make-flags>: Modify.
[arguments]<#:phases>[set-environment-up]: Delete phase.
[build-armhf]: Delete phase.
[install]: Modify.
---
gnu/packages/admin.scm | 99 ++++++++++++++++++++++--------------------
1 file changed, 51 insertions(+), 48 deletions(-)

Toggle diff (133 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 82f1bb4eb8..3d967f185e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2558,11 +2558,7 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
-(define-public sunxi-tools
- (package
- (name "sunxi-tools")
- (version "1.4.2")
- (source
+(define (sunxi-tools-source version)
(origin
(method git-fetch)
(uri (git-reference
@@ -2577,14 +2573,49 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
'(begin
(delete-file-recursively "bin")
#t))
- (file-name (git-file-name name version))))
+ (file-name (git-file-name "sunxi-tools" version))))
+
+(define sunxi-target-tools
+ (package
+ (name "sunxi-target-tools")
+ (version "1.4.2")
+ (build-system gnu-build-system)
+ (source
+ (sunxi-tools-source version))
+ (arguments
+ `(#:system "armhf-linux"
+ #:tests? #f
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "CROSS_COMPILE=")
+ "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "target-tools" make-flags)))
+ (replace 'install
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "install-target-tools"
+ make-flags))))))
+ (home-page "https://github.com/linux-sunxi/sunxi-tools")
+ (synopsis "Hardware management tools for Allwinner computers")
+ (description "This package contains tools for Allwinner devices:
+@enumerate
+@item @command{sunxi-meminfo}: Prints memory bus settings.
+@end enumerate")
+ (license license:gpl2+)))
+
+(define-public sunxi-tools
+ (package
+ (name "sunxi-tools")
+ (version "1.4.2")
+ (source
+ (sunxi-tools-source version))
(native-inputs
- `(("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")) ; header files
- ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
+ `(("sunxi-target-tools" ,sunxi-target-tools)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
@@ -2592,50 +2623,22 @@ 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"))
- (string-append "CROSS_COMPILE="
- "arm-linux-gnueabihf-")
+ (string-append "CROSS_COMPILE=disabled")
"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"))
- (define (filter-environment! filter-predicate
- environment-variable-names)
- (for-each
- (lambda (env-name)
- (when (getenv env-name)
- (let* ((env-value (getenv env-name))
- (search-path (search-path-as-string->list env-value))
- (new-search-path (filter filter-predicate
- search-path))
- (new-env-value (list->search-path-as-string
- new-search-path ":")))
- (setenv env-name new-env-value))))
- environment-variable-names))
- (setenv "CROSS_CPATH" (getenv "CPATH"))
- (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"))
- (filter-environment! cross?
- '("CROSS_CPATH" "CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
- "CROSS_LIBRARY_PATH"))
- (filter-environment! (lambda (e) (not (cross? e)))
- '("CPATH" "C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
- "LIBRARY_PATH"))
- #t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "tools" "misc" make-flags)))
- (add-after 'build 'build-armhf
- (lambda* (#:key make-flags #:allow-other-keys)
- (setenv "LIBRARY_PATH" #f)
- (apply invoke "make" "target-tools" make-flags)))
(replace 'install
- (lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "install-all" "install-misc"
+ (lambda* (#:key inputs outputs make-flags #:allow-other-keys)
+ ;; Those tools have been built for armhf but are part of the
+ ;; installation in the upstream package. So do the same
+ ;; here.
+ (copy-recursively (assoc-ref inputs "sunxi-target-tools")
+ (assoc-ref outputs "out"))
+ (apply invoke "make" "install-tools" "install-misc"
make-flags))))))
(home-page "https://github.com/linux-sunxi/sunxi-tools")
(synopsis "Hardware management tools for Allwinner computers")
Ludovic Courtès wrote 5 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 37823@debbugs.gnu.org)
871rtkdoc6.fsf@gnu.org
Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (10 lines)
> * gnu/packages/admin.scm (sunxi-tools-source): New procedure.
> (sunxi-target-tools): New variable.
> (sunxi-tools)[source]: Use sunxi-tools-source.
> [native-inputs]: Remove cross-gcc, cross-libc, cross-libc-static.
> Add sunxi-target-tools.
> [arguments]<#:make-flags>: Modify.
> [arguments]<#:phases>[set-environment-up]: Delete phase.
> [build-armhf]: Delete phase.
> [install]: Modify.

Looks like it had fallen through the cracks, but it LGTM!

Thanks,
Ludo’.
Danny Milosavljevic wrote 5 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 37823-done@debbugs.gnu.org)
20191204185958.4dbac91e@scratchpost.org
Hi,

pushed to guix master as commit 208e743415d7c36e9684851a31cc30dec16db2c3.

thanks!
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl3n9B4ACgkQ5xo1VCww
uqXBrQf/TCmRJfnLQyaazW9CADCmTI5TUlxRch+5fxus3BJc61wTyEX0p3rGmNB8
qW7BNiEInLmtdSgdMdBhygtN+uZnj8wE+kx641PbzYaG2d83m7Nrr3wBafXIAnmS
vOv/ag9yrX8/CK2u3xshbEI1CkSmno8RmsoSLSgQh3HTy5fiSieeQLGhYPPtm34S
eBZfIg+ui5oKCpX0CI01OytQe0D9anvPcLtOkpCn63kgVL+eCVRwv90YUie9sjfu
NfuyV+T33N2uonFx11m97YKQDyw+Bw4R2kH8HpQ5tY74GkMkIAhGCCy6QFYXR2IY
JO/0d2ES4+XSlh7sVpBDjBNHehSpCw==
=nP1e
-----END PGP SIGNATURE-----


Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 37823@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 37823
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help