From a0fe6bec4bc5aca09ff11c43e7087e2884391e57 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 May 2023 13:19:55 +0200 Subject: [PATCH] gnu: apache-arrow: Use G-expressions. * gnu/packages/databases.scm (apache-arrow)[arguments]: Use G-expressions to refer to inputs without assoc-ref. --- gnu/packages/databases.scm | 140 ++++++++++++++++++------------------- 1 file changed, 67 insertions(+), 73 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4cd0d61da8..d5ae19ed95 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -4289,86 +4289,80 @@ (define-public apache-arrow "06d3jjxagj5f14j9c48rh63x7pr9f96v69anjnpc6lakr0gkpi1d")))) (build-system cmake-build-system) (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (add-before 'configure 'enter-source-directory - (lambda _ (chdir "cpp"))) - (add-after 'unpack 'set-env - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "cpp/cmake_modules/ThirdpartyToolchain.cmake" - (("set\\(xsimd_SOURCE.*") "")) - (setenv "BOOST_ROOT" (assoc-ref inputs "boost")) - (setenv "BROTLI_HOME" (assoc-ref inputs "brotli")) - (setenv "FLATBUFFERS_HOME" (assoc-ref inputs "flatbuffers")) - (setenv "RAPIDJSON_HOME" (assoc-ref inputs "rapidjson"))))) + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'enter-source-directory + (lambda _ (chdir "cpp"))) + (add-after 'unpack 'set-env + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "cpp/cmake_modules/ThirdpartyToolchain.cmake" + (("set\\(xsimd_SOURCE.*") "")) + (setenv "BOOST_ROOT" #$(this-package-input "boost")) + (setenv "BROTLI_HOME" #$(this-package-input "brotli")) + (setenv "FLATBUFFERS_HOME" #$(this-package-input "flatbuffers")) + (setenv "RAPIDJSON_HOME" #$(this-package-input "rapidjson"))))) #:build-type "Release" #:configure-flags - (list "-DARROW_PYTHON=ON" - "-DARROW_GLOG=ON" - ;; Parquet options - "-DARROW_PARQUET=ON" - "-DPARQUET_BUILD_EXECUTABLES=ON" - ;; The maintainers disallow using system versions of - ;; jemalloc: - ;; https://issues.apache.org/jira/browse/ARROW-3507. This - ;; is unfortunate because jemalloc increases performance: - ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/. - "-DARROW_JEMALLOC=OFF" + #~(list "-DARROW_PYTHON=ON" + "-DARROW_GLOG=ON" + ;; Parquet options + "-DARROW_PARQUET=ON" + "-DPARQUET_BUILD_EXECUTABLES=ON" + ;; The maintainers disallow using system versions of + ;; jemalloc: + ;; https://issues.apache.org/jira/browse/ARROW-3507. This + ;; is unfortunate because jemalloc increases performance: + ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/. + "-DARROW_JEMALLOC=OFF" - ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global - ;; option that instructs the build system how to resolve - ;; each dependency. SYSTEM = Finding the dependency in - ;; system paths using CMake's built-in find_package - ;; function, or using pkg-config for packages that do not - ;; have this feature - "-DARROW_DEPENDENCY_SOURCE=SYSTEM" - "-Dxsimd_SOURCE=SYSTEM" + ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global + ;; option that instructs the build system how to resolve + ;; each dependency. SYSTEM = Finding the dependency in + ;; system paths using CMake's built-in find_package + ;; function, or using pkg-config for packages that do not + ;; have this feature + "-DARROW_DEPENDENCY_SOURCE=SYSTEM" + "-Dxsimd_SOURCE=SYSTEM" - "-DARROW_RUNTIME_SIMD_LEVEL=NONE" - "-DARROW_SIMD_LEVEL=NONE" - "-DARROW_PACKAGE_KIND=Guix" + "-DARROW_RUNTIME_SIMD_LEVEL=NONE" + "-DARROW_SIMD_LEVEL=NONE" + "-DARROW_PACKAGE_KIND=Guix" - ;; Split output into its component packages. - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "lib")) - (string-append "-DCMAKE_INSTALL_RPATH=" - (assoc-ref %outputs "lib") - "/lib") - (string-append "-DCMAKE_INSTALL_BINDIR=" - (assoc-ref %outputs "out") - "/bin") - (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" - (assoc-ref %outputs "include") - "/share/include") + ;; Split output into its component packages. + (string-append "-DCMAKE_INSTALL_PREFIX=" #$output:lib) + (string-append "-DCMAKE_INSTALL_RPATH=" #$output:lib "/lib") + (string-append "-DCMAKE_INSTALL_BINDIR=" #$output "/bin") + (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" #$output:include + "/share/include") + "-DARROW_WITH_SNAPPY=ON" + "-DARROW_WITH_ZLIB=ON" + "-DARROW_WITH_ZSTD=ON" + "-DARROW_WITH_LZ4=ON" + "-DARROW_COMPUTE=ON" + "-DARROW_CSV=ON" + "-DARROW_DATASET=ON" + "-DARROW_FILESYSTEM=ON" + "-DARROW_HDFS=ON" + "-DARROW_JSON=ON" + ;; Arrow Python C++ integration library (required for + ;; building pyarrow). This library must be built against + ;; the same Python version for which you are building + ;; pyarrow. NumPy must also be installed. Enabling this + ;; option also enables ARROW_COMPUTE, ARROW_CSV, + ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and + ;; ARROW_JSON. + "-DARROW_PYTHON=ON" - "-DARROW_WITH_SNAPPY=ON" - "-DARROW_WITH_ZLIB=ON" - "-DARROW_WITH_ZSTD=ON" - "-DARROW_WITH_LZ4=ON" - "-DARROW_COMPUTE=ON" - "-DARROW_CSV=ON" - "-DARROW_DATASET=ON" - "-DARROW_FILESYSTEM=ON" - "-DARROW_HDFS=ON" - "-DARROW_JSON=ON" - ;; Arrow Python C++ integration library (required for - ;; building pyarrow). This library must be built against - ;; the same Python version for which you are building - ;; pyarrow. NumPy must also be installed. Enabling this - ;; option also enables ARROW_COMPUTE, ARROW_CSV, - ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and - ;; ARROW_JSON. - "-DARROW_PYTHON=ON" - - ;; Building the tests forces on all the - ;; optional features and the use of static - ;; libraries. - "-DARROW_BUILD_TESTS=OFF" - "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF" - ;;"-DBENCHMARK_ENABLE_TESTING=OFF" - "-DARROW_BUILD_STATIC=OFF"))) + ;; Building the tests forces on all the + ;; optional features and the use of static + ;; libraries. + "-DARROW_BUILD_TESTS=OFF" + "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF" + ;;"-DBENCHMARK_ENABLE_TESTING=OFF" + "-DARROW_BUILD_STATIC=OFF"))) (inputs `(("boost" ,boost) ("brotli" ,brotli)