summaryrefslogtreecommitdiff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-07-28 20:06:49 +0200
committerRicardo Wurmus <rekado@elephly.net>2021-07-28 20:31:06 +0200
commit532cfc5bd2c5c46f994a799776e643f702fefe38 (patch)
tree9f9f57e615ddb2038f622642d3dd6f4271a02354 /gnu/packages/databases.scm
parent3a150e9f12ec19f0d9dc51368f4c3d59d986ca58 (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.scm29
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)))