diff --git a/pkgs/development/libraries/libpulsar/default.nix b/pkgs/by-name/li/libpulsar/package.nix similarity index 78% rename from pkgs/development/libraries/libpulsar/default.nix rename to pkgs/by-name/li/libpulsar/package.nix index 93880415725f..40426343b9aa 100644 --- a/pkgs/development/libraries/libpulsar/default.nix +++ b/pkgs/by-name/li/libpulsar/package.nix @@ -1,38 +1,43 @@ { lib, - asioSupport ? true, + stdenv, + fetchFromGitHub, + asio_1_32_0, boost, boost186, - log4cxxSupport ? false, log4cxx, - snappySupport ? false, snappy, - zlibSupport ? true, zlib, - zstdSupport ? true, zstd, gtest, - gtestSupport ? false, cmake, curl, - fetchFromGitHub, - protobuf, + protobuf_21, jsoncpp, openssl, pkg-config, - stdenv, + + asioSupport ? true, + log4cxxSupport ? false, + snappySupport ? false, + zlibSupport ? true, + zstdSupport ? true, + gtestSupport ? false, }: +let + protobuf = protobuf_21; +in stdenv.mkDerivation (finalAttrs: { pname = "libpulsar"; - version = "3.7.2"; + version = "4.1.0"; src = fetchFromGitHub { owner = "apache"; repo = "pulsar-client-cpp"; - rev = "v${finalAttrs.version}"; - hash = "sha256-3kUyimyv0Si3zUFaIsIVdulzH8l2fxe6BO9a5L6n8I8="; + tag = "v${finalAttrs.version}"; + hash = "sha256-+gGddndiRot2kW7KGuKfWA85mh8e+9PetnEBQvfZB1I="; }; nativeBuildInputs = [ @@ -40,18 +45,28 @@ stdenv.mkDerivation (finalAttrs: { pkg-config protobuf # protoc ] - ++ lib.optional gtestSupport gtest.dev; + ++ lib.optionals gtestSupport [ + (lib.getDev gtest) + ]; buildInputs = [ + curl jsoncpp openssl - curl protobuf ] - ++ lib.optional snappySupport snappy.dev - ++ lib.optional zlibSupport zlib - ++ lib.optional zstdSupport zstd - ++ lib.optional log4cxxSupport log4cxx + ++ lib.optionals snappySupport [ + (lib.getDev snappy) + ] + ++ lib.optionals zlibSupport [ + zlib + ] + ++ lib.optionals zstdSupport [ + zstd + ] + ++ lib.optionals log4cxxSupport [ + log4cxx + ] ++ lib.optionals asioSupport [ # io_service was removed in 1.33.0 asio_1_32_0 @@ -85,9 +100,9 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - homepage = "https://pulsar.apache.org/docs/next/client-libraries-cpp/"; description = "Apache Pulsar C++ library"; - changelog = "https://github.com/apache/pulsar-client-cpp/releases/tag/v${finalAttrs.version}"; + homepage = "https://pulsar.apache.org/docs/next/client-libraries-cpp/"; + changelog = "https://github.com/apache/pulsar-client-cpp/releases/tag/${finalAttrs.src.tag}"; platforms = lib.platforms.all; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ corbanr ]; diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix index d44dadbff007..2d76c8c237c3 100644 --- a/pkgs/development/python-modules/celery/default.nix +++ b/pkgs/development/python-modules/celery/default.nix @@ -51,16 +51,16 @@ withAmqpRepl ? false, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "celery"; - version = "5.6.2"; + version = "5.6.3"; pyproject = true; src = fetchFromGitHub { owner = "celery"; repo = "celery"; - tag = "v${version}"; - hash = "sha256-S84hLGwVVgxnUB6wnqU58tN56t/tQ79ZUni/iP5sx94="; + tag = "v${finalAttrs.version}"; + hash = "sha256-5YPM8/AnCSjeDDMQ30kTNjPr6QdlUiqzzBadtmjqoNg="; }; patches = lib.optionals (!withAmqpRepl) [ @@ -157,7 +157,7 @@ buildPythonPackage rec { pytest-xdist pytestCheckHook ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; disabledTestPaths = [ # test_eventlet touches network @@ -212,9 +212,9 @@ buildPythonPackage rec { meta = { description = "Distributed task queue"; homepage = "https://github.com/celery/celery/"; - changelog = "https://github.com/celery/celery/blob/${src.tag}/Changelog.rst"; + changelog = "https://github.com/celery/celery/blob/${finalAttrs.src.tag}/Changelog.rst"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ fab ]; mainProgram = "celery"; }; -} +}) diff --git a/pkgs/development/python-modules/cramjam/default.nix b/pkgs/development/python-modules/cramjam/default.nix index c6bf9311cc24..cd35c8fee54e 100644 --- a/pkgs/development/python-modules/cramjam/default.nix +++ b/pkgs/development/python-modules/cramjam/default.nix @@ -11,21 +11,21 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cramjam"; - version = "2.11.0.post1"; + version = "2.12.0"; pyproject = true; src = fetchFromGitHub { owner = "milesgranger"; repo = "cramjam"; - tag = "v${version}"; - hash = "sha256-iYx/cPQpZVVPAH+HTiYH/E9tmdnHvKf3Cel4yZpXSIA="; + tag = "v${finalAttrs.version}"; + hash = "sha256-vGT57ou9nnCVCw8LR+w+5MV54EqwT2R+ww9acRQk8Lc="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname src version; - hash = "sha256-jLGCyrVHtauWhiDghtYgt5MhgOl8wNiM7TAQhrCk2xU="; + inherit (finalAttrs) pname src version; + hash = "sha256-evXYLbv+GwSBUJBb0upjQTFtMPdQbKka8KfJltMUmDs="; }; nativeBuildInputs = with rustPlatform; [ @@ -61,8 +61,8 @@ buildPythonPackage rec { meta = { description = "Thin Python bindings to de/compression algorithms in Rust"; homepage = "https://github.com/milesgranger/pyrus-cramjam"; - changelog = "https://github.com/milesgranger/cramjam/releases/tag/v${version}"; + changelog = "https://github.com/milesgranger/cramjam/releases/tag/${finalAttrs.src.tag}"; license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ veprbl ]; }; -} +}) diff --git a/pkgs/development/python-modules/pulsar-client/default.nix b/pkgs/development/python-modules/pulsar-client/default.nix index cfe1cfa6b322..cc79373e4e85 100644 --- a/pkgs/development/python-modules/pulsar-client/default.nix +++ b/pkgs/development/python-modules/pulsar-client/default.nix @@ -3,8 +3,10 @@ buildPythonPackage, fetchFromGitHub, - # build + # build-system setuptools, + + # nativeBuildInputs cmake, pkg-config, @@ -13,29 +15,34 @@ pybind11, certifi, - # optional dependencies + # optional-dependencies fastavro, grpcio, prometheus-client, protobuf, ratelimit, - # test + # tests unittestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pulsar-client"; - version = "3.9.0"; + version = "3.10.0"; pyproject = true; src = fetchFromGitHub { owner = "apache"; repo = "pulsar-client-python"; - tag = "v${version}"; - hash = "sha256-TxX+om+uKjZlgG10qcLAddiUisBWLxBfBSHEHGix1d4="; + tag = "v${finalAttrs.version}"; + hash = "sha256-ZmuZskkviHantE5vOJd0Di8aqu086G36TQJoEFW2VaY="; }; + patches = [ + # Remove TLS bindings removed in libpulsar 4.x + ./fix-libpulsar-4.patch + ]; + build-system = [ setuptools ]; @@ -67,13 +74,12 @@ buildPythonPackage rec { ratelimit ]; avro = [ fastavro ]; - all = lib.concatAttrValues (lib.removeAttrs optional-dependencies [ "all" ]); }; nativeCheckInputs = [ unittestCheckHook ] - ++ optional-dependencies.all; + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; unittestFlagsArray = [ "-s" @@ -87,8 +93,8 @@ buildPythonPackage rec { meta = { description = "Apache Pulsar Python client library"; homepage = "https://pulsar.apache.org/docs/next/client-libraries-python/"; - changelog = "https://github.com/apache/pulsar-client-python/releases/tag/${src.tag}"; + changelog = "https://github.com/apache/pulsar-client-python/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/pulsar-client/fix-libpulsar-4.patch b/pkgs/development/python-modules/pulsar-client/fix-libpulsar-4.patch new file mode 100644 index 000000000000..dfa55fb64dc8 --- /dev/null +++ b/pkgs/development/python-modules/pulsar-client/fix-libpulsar-4.patch @@ -0,0 +1,23 @@ +Remove TLS bindings that were removed in libpulsar 4.x. + +isUseTls/setUseTls were removed because TLS is now inferred from the +service URL scheme. getTlsTrustCertsFilePath getter was also removed. + +This matches upstream's fix in v3.11.0-candidate-1. + +--- a/src/config.cc ++++ b/src/config.cc +@@ -174,11 +174,8 @@ void export_config(module_& m) { + .def("stats_interval_in_seconds", &ClientConfiguration::getStatsIntervalInSeconds) + .def("stats_interval_in_seconds", &ClientConfiguration::setStatsIntervalInSeconds, + return_value_policy::reference) +- .def("use_tls", &ClientConfiguration::isUseTls) +- .def("use_tls", &ClientConfiguration::setUseTls, return_value_policy::reference) +- .def("tls_trust_certs_file_path", &ClientConfiguration::getTlsTrustCertsFilePath, +- return_value_policy::copy) +- .def("tls_trust_certs_file_path", &ClientConfiguration::setTlsTrustCertsFilePath, ++ .def("tls_trust_certs_file_path", ++ &ClientConfiguration::setTlsTrustCertsFilePath, + return_value_policy::reference) + .def("tls_private_key_file_path", &ClientConfiguration::getTlsPrivateKeyFilePath, + return_value_policy::copy) diff --git a/pkgs/development/python-modules/pyshark/default.nix b/pkgs/development/python-modules/pyshark/default.nix index edc5bd5c7060..64db47763f55 100644 --- a/pkgs/development/python-modules/pyshark/default.nix +++ b/pkgs/development/python-modules/pyshark/default.nix @@ -1,28 +1,42 @@ { lib, stdenv, - appdirs, buildPythonPackage, + pythonAtLeast, fetchFromGitHub, + + # patches fetchpatch, + replaceVars, + wireshark-cli, + + # build-system + setuptools, + + # dependencies + appdirs, lxml, packaging, - pytestCheckHook, - replaceVars, - setuptools, termcolor, - wireshark-cli, + + # tests + pytestCheckHook, + writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyshark"; version = "0.6"; pyproject = true; + # Almost all tests fail with: + # RuntimeError: There is no current event loop in thread 'MainThread' + disabled = pythonAtLeast "3.14"; + src = fetchFromGitHub { owner = "KimiNewt"; repo = "pyshark"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-kzJDzUK6zknUyXPdKc4zMvWim4C5NQCSJSS45HI6hKM="; }; @@ -46,7 +60,7 @@ buildPythonPackage rec { }) ]; - sourceRoot = "${src.name}/src"; + sourceRoot = "${finalAttrs.src.name}/src"; build-system = [ setuptools ]; @@ -59,12 +73,9 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook + writableTmpDirAsHomeHook ]; - preCheck = '' - export HOME=$(mktemp -d) - ''; - disabledTests = [ # flaky # KeyError: 'Packet of index 0 does not exist in capture' @@ -83,8 +94,8 @@ buildPythonPackage rec { meta = { description = "Python wrapper for tshark, allowing Python packet parsing using Wireshark dissectors"; homepage = "https://github.com/KimiNewt/pyshark/"; - changelog = "https://github.com/KimiNewt/pyshark/releases/tag/${version}"; + changelog = "https://github.com/KimiNewt/pyshark/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = [ ]; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 070a81c101cf..1a09c77b2e54 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6761,10 +6761,6 @@ with pkgs; libprom ; - libpulsar = callPackage ../development/libraries/libpulsar { - protobuf = protobuf_21; - }; - libsigcxx = callPackage ../development/libraries/libsigcxx { }; libsigcxx30 = callPackage ../development/libraries/libsigcxx/3.0.nix { };