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.
parent
3a150e9f12
commit
532cfc5bd2
|
@ -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)))
|
||||
|
|
Reference in New Issue