summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-06-12 19:51:23 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-06-16 21:35:25 +0200
commit259341cf93de80533d212cb73e5e652aa4bc716c (patch)
treeea6fc37bb2759fabc88f54ce6feb98aa51c1575e
parent406c83f78d4c7851743bb0f82a9de02c8afa63f3 (diff)
gnu: ldb: Fix build on 32-bit systems.
* guix/utils.scm (target-64bit?): New procedure. * gnu/packages/samba.scm (ldb)[inputs]: Only add LMDB on 64-bit systems. [arguments]: Make #:tests? conditional on LMDB availability.
-rw-r--r--gnu/packages/samba.scm9
-rw-r--r--guix/utils.scm6
2 files changed, 13 insertions, 2 deletions
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index abbfdd83c4..e10f00a83b 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -362,7 +362,10 @@ many event types, including timers, signals, and the classic file descriptor eve
#t))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ '(;; LMDB is only supported on 64-bit systems, yet the test suite
+ ;; requires it.
+ #:tests? (assoc-ref %build-inputs "lmdb")
+ #:phases
(modify-phases %standard-phases
(replace 'configure
;; ldb use a custom configuration script that runs waf.
@@ -382,7 +385,9 @@ many event types, including timers, signals, and the classic file descriptor eve
`(("talloc" ,talloc)
("tdb" ,tdb)))
(inputs
- `(("lmdb" ,lmdb)
+ `(,@(if (target-64bit?)
+ `(("lmdb" ,lmdb))
+ '())
("popt" ,popt)
("tevent" ,tevent)))
(synopsis "LDAP-like embedded database")
diff --git a/guix/utils.scm b/guix/utils.scm
index e9efea5866..a5de9605e7 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -77,6 +78,7 @@
package-name->name+version
target-mingw?
target-arm32?
+ target-64bit?
version-compare
version>?
version>=?
@@ -474,6 +476,10 @@ a character other than '@'."
(define (target-arm32?)
(string-prefix? "arm" (or (%current-target-system) (%current-system))))
+(define (target-64bit?)
+ (let ((system (or (%current-target-system) (%current-system))))
+ (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "ppc64"))))
+
(define version-compare
(let ((strverscmp
(let ((sym (or (dynamic-func "strverscmp" (dynamic-link))