diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/thrift')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/thrift/0.10.nix | 39 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/thrift/default.nix | 60 |
2 files changed, 99 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/thrift/0.10.nix b/nixpkgs/pkgs/development/libraries/thrift/0.10.nix new file mode 100644 index 000000000000..d626673a227a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/thrift/0.10.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, boost, zlib, libevent, openssl, python, pkgconfig, bison +, flex, twisted +}: + +stdenv.mkDerivation rec { + pname = "thrift"; + version = "0.10.0"; + + src = fetchurl { + url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz"; + sha256 = "02x1xw0l669idkn6xww39j60kqxzcbmim4mvpb5h9nz8wqnx1292"; + }; + + #enableParallelBuilding = true; problems on hydra + + # Workaround to make the python wrapper not drop this package: + # pythonFull.buildEnv.override { extraLibs = [ thrift ]; } + pythonPath = []; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + boost zlib libevent openssl python bison flex twisted + ]; + + preConfigure = "export PY_PREFIX=$out"; + + # TODO: package boost-test, so we can run the test suite. (Currently it fails + # to find libboost_unit_test_framework.a.) + configureFlags = [ "--enable-tests=no" ]; + doCheck = false; + + meta = with stdenv.lib; { + description = "Library for scalable cross-language services"; + homepage = "http://thrift.apache.org/"; + license = licenses.asl20; + platforms = platforms.linux ++ platforms.darwin; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/thrift/default.nix b/nixpkgs/pkgs/development/libraries/thrift/default.nix new file mode 100644 index 000000000000..f5c8f64633bb --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/thrift/default.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchurl, fetchpatch, boost, zlib, libevent, openssl, python, cmake, pkgconfig +, bison, flex, twisted +, static ? stdenv.hostPlatform.isStatic +}: + +stdenv.mkDerivation rec { + pname = "thrift"; + version = "0.13.0"; + + src = fetchurl { + url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz"; + sha256 = "0yai9c3bdsrkkjshgim7zk0i7malwfprg00l9774dbrkh2w4ilvs"; + }; + + patches = [ + # Fix a failing test on darwin + # https://issues.apache.org/jira/browse/THRIFT-4976 + (fetchpatch { + url = "https://github.com/apache/thrift/commit/6701dbb8e89f6550c7843e9b75b118998df471c3.diff"; + sha256 = "14rqma2b2zv3zxkkl5iv9kvyp3zihvad6fdc2gcdqv37nqnswx9d"; + }) + ]; + + # Workaround to make the python wrapper not drop this package: + # pythonFull.buildEnv.override { extraLibs = [ thrift ]; } + pythonPath = []; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ boost zlib libevent openssl python bison flex ] + ++ stdenv.lib.optional (!static) twisted; + + preConfigure = "export PY_PREFIX=$out"; + + cmakeFlags = [ + # FIXME: Fails to link in static mode with undefined reference to + # `boost::unit_test::unit_test_main(bool (*)(), int, char**)' + "-DBUILD_TESTING:BOOL=${if static then "OFF" else "ON"}" + ] ++ stdenv.lib.optionals static [ + "-DWITH_STATIC_LIB:BOOL=ON" + "-DOPENSSL_USE_STATIC_LIBS=ON" + ]; + + doCheck = !static; + checkPhase = '' + runHook preCheck + + ${stdenv.lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH=$PWD/lib ctest -E PythonTestSSLSocket + + runHook postCheck + ''; + enableParallelChecking = false; + + meta = with stdenv.lib; { + description = "Library for scalable cross-language services"; + homepage = "http://thrift.apache.org/"; + license = licenses.asl20; + platforms = platforms.linux ++ platforms.darwin; + maintainers = [ maintainers.bjornfor ]; + }; +} |