nerdfonts: fix wrong attribute name in error message (#364463)
[NixPkgs.git] / pkgs / development / libraries / zeromq / 4.x.nix
blob6801eddc178f01f376eca5a4f5d34a4a011fa3d7
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   pkg-config,
7   libsodium,
8   asciidoc,
9   xmlto,
10   enableDrafts ? false,
11   # for passthru.tests
12   azmq,
13   cppzmq,
14   czmq,
15   zmqpp,
16   ffmpeg,
17   python3,
20 stdenv.mkDerivation (finalAttrs: {
21   pname = "zeromq";
22   version = "4.3.5";
24   src = fetchFromGitHub {
25     owner = "zeromq";
26     repo = "libzmq";
27     rev = "v${finalAttrs.version}";
28     hash = "sha256-q2h5y0Asad+fGB9haO4Vg7a1ffO2JSb7czzlhmT3VmI=";
29   };
31   nativeBuildInputs = [
32     cmake
33     pkg-config
34     asciidoc
35     xmlto
36   ];
38   buildInputs = [ libsodium ];
40   doCheck = false; # fails all the tests (ctest)
42   cmakeFlags = [
43     (lib.cmakeBool "WITH_LIBSODIUM" true)
44     (lib.cmakeBool "ENABLE_CURVE" true)
45     (lib.cmakeBool "ENABLE_DRAFTS" enableDrafts)
46   ];
48   postPatch = ''
49     substituteInPlace CMakeLists.txt \
50       --replace '$'{prefix}/'$'{CMAKE_INSTALL_LIBDIR} '$'{CMAKE_INSTALL_FULL_LIBDIR} \
51       --replace '$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR}
52   '';
54   postBuild = ''
55     # From https://gitlab.archlinux.org/archlinux/packaging/packages/zeromq/-/blob/main/PKGBUILD
56     # man pages aren't created when using cmake
57     # https://github.com/zeromq/libzmq/issues/4160
58     pushd ../doc
59     for FILE in *.txt; do
60         asciidoc \
61             -d manpage \
62             -b docbook \
63             -f asciidoc.conf \
64             -a zmq_version="${finalAttrs.version}" \
65             "''${FILE}"
66         xmlto --skip-validation man "''${FILE%.txt}.xml"
67     done
68     popd
69   '';
71   postInstall = ''
72     # Install manually created man pages
73     install -vDm644 -t "$out/share/man/man3" ../doc/*.3
74     install -vDm644 -t "$out/share/man/man7" ../doc/*.7
75   '';
77   passthru.tests = {
78     inherit
79       azmq
80       cppzmq
81       czmq
82       zmqpp
83       ;
84     pyzmq = python3.pkgs.pyzmq;
85     ffmpeg = ffmpeg.override { withZmq = true; };
86   };
88   meta = {
89     branch = "4";
90     homepage = "http://www.zeromq.org";
91     description = "Intelligent Transport Layer";
92     license = lib.licenses.mpl20;
93     platforms = lib.platforms.all;
94     maintainers = with lib.maintainers; [ fpletz ];
95   };