diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2021-07-28 20:06:49 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2021-07-28 20:31:06 +0200 |
commit | 532cfc5bd2c5c46f994a799776e643f702fefe38 (patch) | |
tree | 9f9f57e615ddb2038f622642d3dd6f4271a02354 /gnu/packages/databases.scm | |
parent | 3a150e9f12ec19f0d9dc51368f4c3d59d986ca58 (diff) |
gnu: python-pyarrow: Fix parquet support.
Co-authored-by: Phil Beadling <phil@beadling.co.uk>.
* gnu/packages/databases.scm (python-pyarrow)[arguments]: Add phases
patch-cmake-variables, patch-parquet-library, and set-PYARROW_WITH_PARQUET.
[propagated-inputs]: Add "include" output of apache-arrow package.
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r-- | gnu/packages/databases.scm | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7de85d10c1..7afda93c97 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3792,13 +3792,34 @@ algorithm implementations.") (modify-phases %standard-phases (delete 'build) ; XXX the build is performed again during the install phase (add-after 'unpack 'enter-source-directory - (lambda _ (chdir "python") #t)) + (lambda _ (chdir "python"))) (add-after 'unpack 'make-git-checkout-writable (lambda _ - (for-each make-file-writable (find-files ".")) - #t))))) + (for-each make-file-writable (find-files ".")))) + (add-before 'install 'patch-cmake-variables + (lambda* (#:key inputs #:allow-other-keys) + ;; Replace cmake locations with hardcoded guix links for the + ;; underlying C++ library and headers. This is a pretty awful + ;; hack. + (substitute* "cmake_modules/FindParquet.cmake" + (("# Licensed to the Apache Software Foundation" m) + (string-append "set(PARQUET_INCLUDE_DIR \"" + (assoc-ref inputs "apache-arrow:include") + "/share/include\")\n" m)) + (("find_package_handle_standard_args" m) + (string-append "set(PARQUET_LIB_DIR \"" + (assoc-ref inputs "apache-arrow:lib") + "/lib\")\n" m))))) + (add-before 'install 'patch-parquet-library + (lambda _ + (substitute* "CMakeLists.txt" + (("parquet_shared") "parquet")))) + (add-before 'install 'set-PYARROW_WITH_PARQUET + (lambda _ + (setenv "PYARROW_WITH_PARQUET" "1")))))) (propagated-inputs - `(("apache-arrow" ,apache-arrow "lib") + `(("apache-arrow:lib" ,apache-arrow "lib") + ("apache-arrow:include" ,apache-arrow "include") ("python-numpy" ,python-numpy) ("python-pandas" ,python-pandas) ("python-six" ,python-six))) |