From 534537e2efd7ff3d521a0c4cc60170a126d9c9f3 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 2 Jul 2019 15:22:16 +0200 Subject: [PATCH] gnu: cmake: Fix cross-compilation. * gnu/packages/cmake.scm (cmake-minimal-cross): New package. * guix/build-system/cmake.scm (default-cmake): Add new target argument and use it to select cmake-minimal or cmake-minimal-cross. (lower): Pass target to default-cmake. --- gnu/packages/cmake.scm | 8 ++++++++ guix/build-system/cmake.scm | 9 ++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 64349be444..13252a9486 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -219,6 +219,14 @@ and workspaces that can be used in the compiler environment of your choice.") (append (search-patches "cmake-curl-certificates.patch") (origin-patches (package-source cmake)))))))) +(define-public cmake-minimal-cross + (package + (inherit cmake-minimal) + (name "cmake-minimal-cross") + (native-search-paths '()) + (search-paths + (package-native-search-paths cmake-minimal)))) + (define-public emacs-cmake-mode (package (inherit cmake) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index ca88fadddf..aa0f4187ec 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -43,16 +43,19 @@ `((guix build cmake-build-system) ,@%gnu-build-system-modules)) -(define (default-cmake) +(define (default-cmake target) "Return the default CMake package." ;; Do not use `@' to avoid introducing circular dependencies. (let ((module (resolve-interface '(gnu packages cmake)))) - (module-ref module 'cmake-minimal))) + (module-ref module + (if target + 'cmake-minimal-cross + 'cmake-minimal)))) (define* (lower name #:key source inputs native-inputs outputs system target - (cmake (default-cmake)) + (cmake (default-cmake target)) #:allow-other-keys #:rest arguments) "Return a bag for NAME."