Merge pull request #97253 from risicle/ris-tiledb-2.0.7

tiledb: 1.7.7 -> 2.0.7, pythonPackages.tiledb: 0.5.6 -> 0.6.6, enable for darwin along with libpqxx
This commit is contained in:
Frederik Rietdijk 2020-09-06 08:10:55 +02:00 committed by GitHub
commit e7710c9cb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 9 deletions

View File

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
description = "A C++ library to access PostgreSQL databases"; description = "A C++ library to access PostgreSQL databases";
homepage = "http://pqxx.org/development/libpqxx/"; homepage = "http://pqxx.org/development/libpqxx/";
license = lib.licenses.bsd3; license = lib.licenses.bsd3;
platforms = lib.platforms.linux; platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.eelco ]; maintainers = [ lib.maintainers.eelco ];
}; };
} }

View File

@ -16,19 +16,26 @@
, python , python
, gtest , gtest
, doxygen , doxygen
, fixDarwinDylibNames
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tiledb"; pname = "tiledb";
version = "1.7.7"; version = "2.0.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TileDB-Inc"; owner = "TileDB-Inc";
repo = "TileDB"; repo = "TileDB";
rev = version; rev = version;
sha256 = "0vpbyxi8k29c7sjpk86y5w3yyp5fn62q5xvbw061wgp7vrprf8bm"; sha256 = "00g8ibsbnl4wjfx3qg4qy6s7z6dsj898j0yqfhw1gjr1pb5dsapb";
}; };
# (bundled) blosc headers have a warning on some archs that it will be using
# unaccelerated routines.
cmakeFlags = [
"-DTILEDB_WERROR=0"
];
nativeBuildInputs = [ nativeBuildInputs = [
clang-tools clang-tools
cmake cmake
@ -53,7 +60,7 @@ stdenv.mkDerivation rec {
openssl openssl
boost boost
libpqxx libpqxx
]; ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
# emulate the process of pulling catch down # emulate the process of pulling catch down
postPatch = '' postPatch = ''
@ -65,11 +72,15 @@ stdenv.mkDerivation rec {
installTargets = [ "install-tiledb" "doc" ]; installTargets = [ "install-tiledb" "doc" ];
postInstall = lib.optionalString stdenv.isDarwin ''
install_name_tool -add_rpath ${tbb}/lib $out/lib/libtiledb.dylib
'';
meta = with lib; { meta = with lib; {
description = "TileDB allows you to manage the massive dense and sparse multi-dimensional array data"; description = "TileDB allows you to manage the massive dense and sparse multi-dimensional array data";
homepage = "https://github.com/TileDB-Inc/TileDB"; homepage = "https://github.com/TileDB-Inc/TileDB";
license = licenses.mit; license = licenses.mit;
platforms = [ "x86_64-linux"]; platforms = platforms.unix;
maintainers = with maintainers; [ rakesh4g ]; maintainers = with maintainers; [ rakesh4g ];
}; };

View File

@ -3,28 +3,31 @@
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, cython , cython
, pybind11
, tiledb , tiledb
, numpy , numpy
, wheel , wheel
, isPy3k , isPy3k
, setuptools_scm , setuptools_scm
, psutil , psutil
, pandas
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "tiledb"; pname = "tiledb";
version = "0.5.6"; version = "0.6.6";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TileDB-Inc"; owner = "TileDB-Inc";
repo = "TileDB-Py"; repo = "TileDB-Py";
rev = version; rev = version;
sha256 = "0cgm4dhyqay26xmrzlv21ha8qh55m4q3yr338lrv81ngz77zxsvw"; sha256 = "0b2kn1xyf7d994kz29dpqiaf8yzvx0axw4yqi854c54pl22ddgzl";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
cython cython
pybind11
setuptools_scm setuptools_scm
]; ];
@ -39,6 +42,8 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
psutil psutil
# optional
pandas
]; ];
TILEDB_PATH = tiledb; TILEDB_PATH = tiledb;
@ -57,16 +62,19 @@ buildPythonPackage rec {
"test_docs" "dont_test_docs" "test_docs" "dont_test_docs"
# these tests don't always fail # these tests don't always fail
substituteInPlace tiledb/tests/test_libtiledb.py --replace \ substituteInPlace tiledb/tests/test_libtiledb.py --replace \
"test_varlen_write_int_subarray" "dont_test_varlen_write_int_subarray" "test_varlen_write_int_subarray" "dont_test_varlen_write_int_subarray" \
--replace "test_memory_cleanup" "dont_test_memory_cleanup" \
--replace "test_ctx_thread_cleanup" "dont_test_ctx_thread_cleanup"
substituteInPlace tiledb/tests/test_metadata.py --replace \ substituteInPlace tiledb/tests/test_metadata.py --replace \
"test_metadata_consecutive" "dont_test_metadata_consecutive" "test_metadata_consecutive" "dont_test_metadata_consecutive"
''; '';
checkPhase = '' checkPhase = ''
pushd "$out" pushd "$TMPDIR"
${python.interpreter} -m unittest tiledb.tests.all.suite_test ${python.interpreter} -m unittest tiledb.tests.all.suite_test
popd popd
''; '';
pythonImportsCheck = [ "tiledb" ];
meta = with lib; { meta = with lib; {
description = "Python interface to the TileDB storage manager"; description = "Python interface to the TileDB storage manager";