From 9a9d6d782c4752124912e545b411ed8189e2d754 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 22 Feb 2017 20:36:11 +0200 Subject: gnu: bdb@5.3: Support aarch64. * gnu/packages/databases.scm (bdb@5.3)[arguments]: Copy arguments from * bdb, add '--build' flag for aarch64. --- gnu/packages/databases.scm | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 93776c366c..877eac9559 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Leo Famulari -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Roel Janssen ;;; Copyright © 2016 David Craven @@ -210,7 +210,44 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") version ".tar.gz")) (sha256 (base32 - "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0")))))) + "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0")))) + (arguments + `(#:tests? #f ; no check target available + #:disallowed-references ("doc") + #:phases + (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + ;; '--docdir' is not honored, so we need to patch. + (substitute* "dist/Makefile.in" + (("docdir[[:blank:]]*=.*") + (string-append "docdir = " doc "/share/doc/bdb"))) + + (zero? + (system* "./dist/configure" + (string-append "--prefix=" out) + (string-append "CONFIG_SHELL=" (which "bash")) + (string-append "SHELL=" (which "bash")) + + ;; Bdb doesn't recognize aarch64 as an architecture. + ,@(if (string=? "aarch64-linux" (%current-system)) + '("--build=aarch64-unknown-linux-gnu") + '()) + + ;; Remove 7 MiB of .a files. + "--disable-static" + + ;; The compatibility mode is needed by some packages, + ;; notably iproute2. + "--enable-compat185" + + ;; The following flag is needed so that the inclusion + ;; of db_cxx.h into C++ files works; it leads to + ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h. + "--enable-cxx")))) + %standard-phases))))) (define-public leveldb (package -- cgit v1.2.3