summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-12-07 17:16:05 +0100
committerLudovic Courtès <ludo@gnu.org>2017-12-07 17:16:05 +0100
commit5a2f019c7d35d539036825a7d0cc184f0c7dc60a (patch)
tree7f31b5deab60d469737073cd9b200c32506952a0 /guix
parent66f217b43aca603326dab17d4dda1a398bf4fb8c (diff)
parent0dd91619a597b52bcb5d6d1bb675a9eb65242c44 (diff)
Merge branch 'version-0.14.0'
Diffstat (limited to 'guix')
-rw-r--r--guix/build/syscalls.scm19
-rw-r--r--guix/packages.scm20
2 files changed, 31 insertions, 8 deletions
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index e5779cbd0b..0cb630cfb3 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -119,6 +119,7 @@
termios-input-speed
termios-output-speed
local-flags
+ input-flags
tcsetattr-action
tcgetattr
tcsetattr
@@ -1704,6 +1705,24 @@ given an integer, returns the list of names of the constants that are or'd."
(define IEXTEN #o0100000)
(define EXTPROC #o0200000))
+(define-bits input-flags
+ input-flags->symbols
+ (define IGNBRK #o0000001)
+ (define BRKINT #o0000002)
+ (define IGNPAR #o0000004)
+ (define PARMRK #o0000010)
+ (define INPCK #o0000020)
+ (define ISTRIP #o0000040)
+ (define INLCR #o0000100)
+ (define IGNCR #o0000200)
+ (define ICRNL #o0000400)
+ (define IUCLC #o0001000)
+ (define IXON #o0002000)
+ (define IXANY #o0004000)
+ (define IXOFF #o0010000)
+ (define IMAXBEL #o0020000)
+ (define IUTF8 #o0040000))
+
;; "Actions" values for 'tcsetattr'.
(define-bits tcsetattr-action
%unused-tcsetattr-action->symbols
diff --git a/guix/packages.scm b/guix/packages.scm
index d68af1569f..c6d3b811f2 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -996,14 +996,18 @@ and return it."
"Fold PROC over the packages BAG depends on. Each package is visited only
once, in depth-first order. If NATIVE? is true, restrict to native
dependencies; otherwise, restrict to target dependencies."
+ (define bag-direct-inputs*
+ (if native?
+ (lambda (bag)
+ (append (bag-build-inputs bag)
+ (bag-target-inputs bag)
+ (if (bag-target bag)
+ '()
+ (bag-host-inputs bag))))
+ bag-host-inputs))
+
(define nodes
- (match (if native?
- (append (bag-build-inputs bag)
- (bag-target-inputs bag)
- (if (bag-target bag)
- '()
- (bag-host-inputs bag)))
- (bag-host-inputs bag))
+ (match (bag-direct-inputs* bag)
(((labels things _ ...) ...)
things)))
@@ -1016,7 +1020,7 @@ dependencies; otherwise, restrict to target dependencies."
(((? package? head) . tail)
(if (set-contains? visited head)
(loop tail result visited)
- (let ((inputs (bag-direct-inputs (package->bag head))))
+ (let ((inputs (bag-direct-inputs* (package->bag head))))
(loop (match inputs
(((labels things _ ...) ...)
(append things tail)))