about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/tevent
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/tevent')
-rw-r--r--nixpkgs/pkgs/development/libraries/tevent/default.nix68
1 files changed, 68 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/tevent/default.nix b/nixpkgs/pkgs/development/libraries/tevent/default.nix
new file mode 100644
index 000000000000..bdb6eb21ed42
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/tevent/default.nix
@@ -0,0 +1,68 @@
+{ lib, stdenv
+, fetchurl
+, python3
+, pkg-config
+, cmocka
+, readline
+, talloc
+, libxslt
+, docbook-xsl-nons
+, docbook_xml_dtd_42
+, which
+, wafHook
+, libxcrypt
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tevent";
+  version = "0.14.1";
+
+  src = fetchurl {
+    url = "mirror://samba/tevent/${pname}-${version}.tar.gz";
+    sha256 = "sha256-74X8qoD/0jUQNrpLNHYw/vKhrD2pZKfxggRmutA80A0=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    which
+    python3
+    libxslt
+    docbook-xsl-nons
+    docbook_xml_dtd_42
+    wafHook
+  ];
+
+  buildInputs = [
+    python3
+    cmocka
+    readline # required to build python
+    talloc
+    libxcrypt
+  ];
+
+  # otherwise the configure script fails with
+  # PYTHONHASHSEED=1 missing! Don't use waf directly, use ./configure and make!
+  preConfigure = ''
+    export PKGCONFIG="$PKG_CONFIG"
+    export PYTHONHASHSEED=1
+  '';
+
+  wafPath = "buildtools/bin/waf";
+
+  wafConfigureFlags = [
+    "--bundled-libraries=NONE"
+    "--builtin-libraries=replace"
+  ];
+
+  # python-config from build Python gives incorrect values when cross-compiling.
+  # If python-config is not found, the build falls back to using the sysconfig
+  # module, which works correctly in all cases.
+  PYTHON_CONFIG = "/invalid";
+
+  meta = with lib; {
+    description = "An event system based on the talloc memory management library";
+    homepage = "https://tevent.samba.org/";
+    license = licenses.lgpl3Plus;
+    platforms = platforms.all;
+  };
+}