1{ stdenv, fetchurl, python, pkgconfig, readline, libxslt
2, docbook_xsl, docbook_xml_dtd_42, fixDarwinDylibNames
3, wafHook
4}:
5
6stdenv.mkDerivation rec {
7 name = "talloc-2.1.14";
8
9 src = fetchurl {
10 url = "mirror://samba/talloc/${name}.tar.gz";
11 sha256 = "1kk76dyav41ip7ddbbf04yfydb4jvywzi2ps0z2vla56aqkn11di";
12 };
13
14 nativeBuildInputs = [ pkgconfig fixDarwinDylibNames python wafHook
15 docbook_xsl docbook_xml_dtd_42 ];
16 buildInputs = [ readline libxslt ];
17
18 wafPath = "buildtools/bin/waf";
19
20 wafConfigureFlags = [
21 "--enable-talloc-compat1"
22 "--bundled-libraries=NONE"
23 "--builtin-libraries=replace"
24 ];
25
26 # this must not be exported before the ConfigurePhase otherwise waf whines
27 preBuild = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
28 export NIX_CFLAGS_LINK="-no-pie -shared";
29 '';
30
31 postInstall = ''
32 ${stdenv.cc.targetPrefix}ar q $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o
33 '';
34
35 meta = with stdenv.lib; {
36 description = "Hierarchical pool based memory allocator with destructors";
37 homepage = https://tdb.samba.org/;
38 license = licenses.gpl3;
39 platforms = platforms.all;
40 };
41}