36 spdlog_rods = spdlog_llvm.overrideAttrs (attrs: {
39 src = attrs.src.override {
41 hash = "sha256-c6s27lQCXKx6S1FhZ/LiKh14GnXMhZtD1doltU4Avws=";
44 substituteInPlace cmake/spdlog.pc.in \
45 --replace-fail '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@
50 avro-cpp = avro-cpp_llvm;
51 nanodbc = nanodbc_llvm;
53 common = import ./common.nix {
90 # irods: libs and server package
91 irods = stdenv.mkDerivation (
98 src = fetchFromGitHub {
101 rev = finalAttrs.version;
102 hash = "sha256-SmN2FzeoA2/gjiDfGs2oifOVj0mK2WdQCgiSdIlENfk=";
103 fetchSubmodules = true;
106 # fix build with recent llvm versions
107 env.NIX_CFLAGS_COMPILE = "-Wno-deprecated-register -Wno-deprecated-declarations";
109 cmakeFlags = common.cmakeFlags or [ ] ++ [
110 "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${placeholder "out"}/lib -D_GLIBCXX_USE_CXX11_ABI=0"
111 "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath,${placeholder "out"}/lib"
112 "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath,${placeholder "out"}/lib"
119 substituteInPlace plugins/database/CMakeLists.txt --replace-fail "COMMAND cpp" "COMMAND ${gcc.cc}/bin/cpp"
120 for file in unit_tests/cmake/test_config/*.cmake
122 substituteInPlace $file --replace-quiet "CATCH2}/include" "CATCH2}/include/catch2"
125 substituteInPlace server/auth/CMakeLists.txt --replace-fail SETUID ""
128 meta = common.meta // {
129 longDescription = common.meta.longDescription + "This package provides the servers and libraries.";
130 mainProgram = "irodsServer";
135 # icommands (CLI) package, depends on the irods package
136 irods-icommands = stdenv.mkDerivation (
141 pname = "irods-icommands";
143 src = fetchFromGitHub {
145 repo = "irods_client_icommands";
146 rev = finalAttrs.version;
147 hash = "sha256-cc0V6BztJk3njobWt27VeJNmQUXyH6aBJkvYIDFEzWY=";
150 buildInputs = common.buildInputs ++ [ irods ];
158 cmakeFlags = common.cmakeFlags ++ [
159 "-DCMAKE_INSTALL_PREFIX=${stdenv.out}"
160 "-DIRODS_DIR=${irods}/lib/irods/cmake"
161 "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
162 "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
163 "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath,${irods}/lib"
166 meta = common.meta // {
167 description = common.meta.description + " CLI clients";
169 common.meta.longDescription + "This package provides the CLI clients, called 'icommands'.";