irods: 4.2.2 -> 4.2.7 + fixed + use fetchFromGitHub
This commit is contained in:
parent
ccfe14cb3b
commit
afe6e1c4ea
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp, boost, jansson, zeromq, openssl, pam, libiodbc, kerberos, gcc, libcxx, which }:
|
{ stdenv, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp, boost, jansson, zeromq, openssl, pam, libiodbc, kerberos, gcc, libcxx, which, catch2 }:
|
||||||
|
|
||||||
# Common attributes of irods packages
|
# Common attributes of irods packages
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ with stdenv;
|
||||||
{
|
{
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
buildInputs = [ bzip2 zlib autoconf automake cmake gnumake help2man texinfo libtool cppzmq libarchive avro-cpp jansson zeromq openssl pam libiodbc kerberos gcc boost libcxx which ];
|
buildInputs = [ bzip2 zlib autoconf automake cmake gnumake help2man texinfo libtool cppzmq libarchive avro-cpp jansson zeromq openssl pam libiodbc kerberos gcc boost libcxx which catch2 ];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DIRODS_EXTERNALS_FULLPATH_CLANG=${stdenv.cc}"
|
"-DIRODS_EXTERNALS_FULLPATH_CLANG=${stdenv.cc}"
|
||||||
|
@ -18,6 +18,7 @@ with stdenv;
|
||||||
"-DIRODS_EXTERNALS_FULLPATH_JANSSON=${jansson}"
|
"-DIRODS_EXTERNALS_FULLPATH_JANSSON=${jansson}"
|
||||||
"-DIRODS_EXTERNALS_FULLPATH_ZMQ=${zeromq}"
|
"-DIRODS_EXTERNALS_FULLPATH_ZMQ=${zeromq}"
|
||||||
"-DIRODS_EXTERNALS_FULLPATH_CPPZMQ=${cppzmq}"
|
"-DIRODS_EXTERNALS_FULLPATH_CPPZMQ=${cppzmq}"
|
||||||
|
"-DIRODS_EXTERNALS_FULLPATH_CATCH2=${catch2}"
|
||||||
"-DIRODS_LINUX_DISTRIBUTION_NAME=nix"
|
"-DIRODS_LINUX_DISTRIBUTION_NAME=nix"
|
||||||
"-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=${builtins.nixVersion}"
|
"-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=${builtins.nixVersion}"
|
||||||
"-DCPACK_GENERATOR=TGZ"
|
"-DCPACK_GENERATOR=TGZ"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp_llvm, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which }:
|
{ stdenv, fetchFromGitHub, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man , texinfo, libtool , cppzmq , libarchive, avro-cpp_llvm, boost, jansson, zeromq, openssl , pam, libiodbc, kerberos, gcc, libcxx, which, catch2 }:
|
||||||
|
|
||||||
with stdenv;
|
with stdenv;
|
||||||
|
|
||||||
|
@ -10,19 +10,21 @@ let
|
||||||
inherit stdenv bzip2 zlib autoconf automake cmake gnumake
|
inherit stdenv bzip2 zlib autoconf automake cmake gnumake
|
||||||
help2man texinfo libtool cppzmq libarchive jansson
|
help2man texinfo libtool cppzmq libarchive jansson
|
||||||
zeromq openssl pam libiodbc kerberos gcc libcxx
|
zeromq openssl pam libiodbc kerberos gcc libcxx
|
||||||
boost avro-cpp which;
|
boost avro-cpp which catch2;
|
||||||
};
|
};
|
||||||
in rec {
|
in rec {
|
||||||
|
|
||||||
# irods: libs and server package
|
# irods: libs and server package
|
||||||
irods = stdenv.mkDerivation (common // rec {
|
irods = stdenv.mkDerivation (common // rec {
|
||||||
version = "4.2.2";
|
version = "4.2.7";
|
||||||
prefix = "irods";
|
pname = "irods";
|
||||||
name = "${prefix}-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/irods/irods/releases/download/${version}/irods-${version}.tar.gz";
|
owner = "irods";
|
||||||
sha256 = "0b89hs7sizwrs2ja7jl521byiwb58g297p0p7zg5frxmv4ig8dw7";
|
repo = "irods";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1pd4l42z4igzf0l8xbp7yz0nhzsv47ziv5qj8q1hh6pfhmwlzp9s";
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Patches:
|
# Patches:
|
||||||
|
@ -41,6 +43,10 @@ in rec {
|
||||||
substituteInPlace cmake/runtime_library.cmake --replace "DESTINATION usr/lib" "DESTINATION lib"
|
substituteInPlace cmake/runtime_library.cmake --replace "DESTINATION usr/lib" "DESTINATION lib"
|
||||||
substituteInPlace cmake/development_library.cmake --replace "DESTINATION usr/lib" "DESTINATION lib"
|
substituteInPlace cmake/development_library.cmake --replace "DESTINATION usr/lib" "DESTINATION lib"
|
||||||
substituteInPlace cmake/development_library.cmake --replace "DESTINATION usr/include" "DESTINATION include"
|
substituteInPlace cmake/development_library.cmake --replace "DESTINATION usr/include" "DESTINATION include"
|
||||||
|
for file in unit_tests/cmake/test_config/*.cmake
|
||||||
|
do
|
||||||
|
substituteInPlace $file --replace "CATCH2}/include" "CATCH2}/include/catch2"
|
||||||
|
done
|
||||||
export cmakeFlags="$cmakeFlags
|
export cmakeFlags="$cmakeFlags
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,$out/lib
|
-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath,$out/lib
|
||||||
-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath,$out/lib
|
-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath,$out/lib
|
||||||
|
@ -59,13 +65,18 @@ in rec {
|
||||||
|
|
||||||
# icommands (CLI) package, depends on the irods package
|
# icommands (CLI) package, depends on the irods package
|
||||||
irods-icommands = stdenv.mkDerivation (common // rec {
|
irods-icommands = stdenv.mkDerivation (common // rec {
|
||||||
version = "4.2.2";
|
version = "4.2.7";
|
||||||
name = "irods-icommands-${version}";
|
pname = "irods-icommands";
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/irods/irods_client_icommands/archive/${version}.tar.gz";
|
src = fetchFromGitHub {
|
||||||
sha256 = "15zcxrx0q5c3rli3snd0b2q4i0hs3zzcrbpnibbhsip855qvs77h";
|
owner = "irods";
|
||||||
|
repo = "irods_client_icommands";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "08hqrc9iaw0y9rrrcknnl5mzbcrsvqc39pwvm62fipl3vnfqryli";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./zmqcpp-deprecated-send_recv.patch ];
|
||||||
|
|
||||||
buildInputs = common.buildInputs ++ [ irods ];
|
buildInputs = common.buildInputs ++ [ irods ];
|
||||||
|
|
||||||
preConfigure = common.preConfigure + ''
|
preConfigure = common.preConfigure + ''
|
||||||
|
@ -84,7 +95,6 @@ in rec {
|
||||||
description = common.meta.description + " CLI clients";
|
description = common.meta.description + " CLI clients";
|
||||||
longDescription = common.meta.longDescription + ''
|
longDescription = common.meta.longDescription + ''
|
||||||
This package provides the CLI clients, called 'icommands'.'';
|
This package provides the CLI clients, called 'icommands'.'';
|
||||||
broken = true;
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
diff -r -u source/src/irods-grid.cpp source.new/src/irods-grid.cpp
|
||||||
|
--- source/src/irods-grid.cpp 1970-01-01 01:00:01.000000000 +0100
|
||||||
|
+++ source.new/src/irods-grid.cpp 2020-05-05 16:34:35.566464346 +0200
|
||||||
|
@@ -412,7 +412,7 @@
|
||||||
|
data_to_send.data(),
|
||||||
|
data_to_send.size() );
|
||||||
|
try {
|
||||||
|
- if (!zmq_skt.send(req)) {
|
||||||
|
+ if (!zmq_skt.send( req, zmq::send_flags::dontwait )) {
|
||||||
|
std::cerr << "ZeroMQ encountered an error sending a message.\n";
|
||||||
|
return errno;
|
||||||
|
}
|
||||||
|
@@ -426,7 +426,7 @@
|
||||||
|
zmq::message_t rep;
|
||||||
|
// wait for the server reponse
|
||||||
|
try {
|
||||||
|
- if (!zmq_skt.recv( &rep )) {
|
||||||
|
+ if (!zmq_skt.recv( rep, zmq::recv_flags::dontwait )) {
|
||||||
|
std::cerr << "ZeroMQ encountered an error receiving a message.\n";
|
||||||
|
return errno;
|
||||||
|
}
|
Loading…
Reference in a new issue