diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-12-01 19:00:09 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-12-01 19:00:09 +0100 |
commit | 9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d (patch) | |
tree | 4368f9e4cb2d5b93a956c085337e45cb70f1e331 /nixpkgs/pkgs/development/libraries/tiledb | |
parent | a9cbfb6941b47d6f50129e6e36927882392daed7 (diff) | |
parent | 2344fe1da14cb08b0c18743b207995f9b8597915 (diff) | |
download | nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.gz nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.bz2 nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.lz nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.xz nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.tar.zst nixlib-9e9b07490d5bab5d115c66b80bdb10ff0c11ed8d.zip |
Merge https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/tiledb')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/tiledb/FindMagic_EP.cmake.patch | 14 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/tiledb/default.nix | 56 |
2 files changed, 57 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/development/libraries/tiledb/FindMagic_EP.cmake.patch b/nixpkgs/pkgs/development/libraries/tiledb/FindMagic_EP.cmake.patch new file mode 100644 index 000000000000..7a5a01c54588 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/tiledb/FindMagic_EP.cmake.patch @@ -0,0 +1,14 @@ +diff --git a/FindMagic_EP.cmake b/FindMagic_EP.cmake +--- a/cmake/Modules/FindMagic_EP.cmake ++++ b/cmake/Modules/FindMagic_EP.cmake +@@ -126,9 +126,7 @@ if(NOT TILEDB_LIBMAGIC_EP_BUILT) + # that was modified by tiledb to also build with cmake for nix + ExternalProject_Add(ep_magic + PREFIX "externals" +- GIT_REPOSITORY "https://github.com/TileDB-Inc/file-windows.git" +- GIT_TAG "5.38.2.tiledb" +- GIT_SUBMODULES_RECURSE TRUE ++ DOWNLOAD_COMMAND true + UPDATE_COMMAND "" + CMAKE_ARGS + -DCMAKE_INSTALL_PREFIX=${TILEDB_EP_INSTALL_PREFIX} diff --git a/nixpkgs/pkgs/development/libraries/tiledb/default.nix b/nixpkgs/pkgs/development/libraries/tiledb/default.nix index ea41b8156f7f..ae182ff46136 100644 --- a/nixpkgs/pkgs/development/libraries/tiledb/default.nix +++ b/nixpkgs/pkgs/development/libraries/tiledb/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub + , cmake , zlib , lz4 @@ -12,7 +13,7 @@ , boost , libpqxx , clang-tools -, catch2 +, catch2_3 , python3 , gtest , doxygen @@ -20,24 +21,54 @@ , useAVX2 ? stdenv.hostPlatform.avx2Support }: +let + # pre-fetch ExternalProject from cmake/Modules/FindMagic_EP.cmake + ep-file-windows = fetchFromGitHub { + owner = "TileDB-Inc"; + repo = "file-windows"; + rev = "5.38.2.tiledb"; + hash = "sha256-TFn30VCuWZr252VN1T5NNCZe2VEN3xQSomS7XxxKGF8="; + fetchSubmodules = true; + }; + +in stdenv.mkDerivation rec { pname = "tiledb"; - version = "2.8.3"; + version = "2.18.0"; src = fetchFromGitHub { owner = "TileDB-Inc"; repo = "TileDB"; rev = version; - hash = "sha256-HKMVwrPnk9/mukH3mJ2LEAvA9LBF4PcgBZjbbLhO9qU="; + hash = "sha256-y5/kXODzkNKmMn8P+WOOWGy9Htd0nhXbUxmfw/SqSYY="; }; + patches = [ + ./FindMagic_EP.cmake.patch + ]; + + postPatch = '' + # copy pre-fetched external project to directory where it is expected to be + mkdir -p build/externals/src + cp -a ${ep-file-windows} build/externals/src/ep_magic + chmod -R u+w build/externals/src/ep_magic + + # add openssl on path + sed -i '49i list(APPEND OPENSSL_PATHS "${openssl.dev}" "${openssl.out}")' \ + cmake/Modules/FindOpenSSL_EP.cmake + ''; + # (bundled) blosc headers have a warning on some archs that it will be using # unaccelerated routines. cmakeFlags = [ - "-DTILEDB_WERROR=0" + "-DTILEDB_VCPKG=OFF" + "-DTILEDB_WEBP=OFF" + "-DTILEDB_WERROR=OFF" ] ++ lib.optional (!useAVX2) "-DCOMPILER_SUPPORTS_AVX2=FALSE"; nativeBuildInputs = [ + ep-file-windows + catch2_3 clang-tools cmake python3 @@ -49,7 +80,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - catch2 zlib lz4 bzip2 @@ -61,13 +91,14 @@ stdenv.mkDerivation rec { libpqxx ]; - # emulate the process of pulling catch down - postPatch = '' - mkdir -p build/externals/src/ep_catch - ln -sf ${catch2}/include/catch2 build/externals/src/ep_catch/single_include - - sed -i '38i list(APPEND OPENSSL_PATHS "${openssl.dev}" "${openssl.out}")' \ - cmake/Modules/FindOpenSSL_EP.cmake + # test commands taken from + # https://github.com/TileDB-Inc/TileDB/blob/dev/.github/workflows/unit-test-runs.yml + checkPhase = '' + runHook preCheck + make -C tiledb tests -j$NIX_BUILD_CORES + make -C tiledb test ARGS="-R '^unit_'" -R "test_assert" + make -C tiledb test ARGS="-R 'test_ci_asserts'" + runHook postCheck ''; doCheck = true; @@ -85,5 +116,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; maintainers = with maintainers; [ rakesh4g ]; }; - } |