Change:
The package providing is missing several features that other distributions enable by default. Some examples: Upstream Debian Packaging: Arch Linux Packaging: Fedora Packaging: Features like and should probably be enabled by default. I was expecting curve support from the package and even saw in the package's inputs, yet I ran into an on . See the unused input: See the ENOTSUP error here: An we should probably provide build options similar to the upstream RHEL packaging. See Most should probably be enabled by default. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
I can work on this tomorrow, but I'd rather follow what : Certainly we need to enable the flag to use . About CurveZMQ, I'd say the best option is to provide an input flag as that can be overridden by those who prefer it.
Since we depend on anyway I don't think there is any harm in enabling CurveZMQ by default - even without a flag. Are there negative side effects when enabling CurveZMQ?
Sorry, I was confusing the CurveCP protocol, which is supported by enabling , with CurveZMQ, which is a CurveCP implementation but its a whole different library that depends on . There is no flag related to CurveZMQ on ZeroMQ. But we do need to enable the flag to build with CurveCP support. Yes, sure, if the flag doesn't apply to Nix then it will not be considered.
(Why it wasn't closed automatically if it was linked?)

Discussion:
<del> { lib , stdenv , fetchFromGitHub , cmake , asciidoc , pkg-config , libsodium , enableDrafts ? false </del> <ins> { lib, stdenv, fetchFromGitHub, cmake, pkg-config, libsodium, asciidoc, xmlto, enableDrafts ? false, # for passthru.tests azmq, cppzmq, czmq, zmqpp, ffmpeg, python3, </ins> }: <del> stdenv.mkDerivation rec { </del> <ins> stdenv.mkDerivation (finalAttrs: { </ins> pname = "zeromq"; version = "4.3.5"; src = fetchFromGitHub { owner = "zeromq"; repo = "libzmq"; <del> rev = "v${version}"; sha256 = "sha256-q2h5y0Asad+fGB9haO4Vg7a1ffO2JSb7czzlhmT3VmI="; </del> <ins> rev = "v${finalAttrs.version}"; hash = "sha256-q2h5y0Asad+fGB9haO4Vg7a1ffO2JSb7czzlhmT3VmI="; </ins> }; <del> nativeBuildInputs = [ cmake asciidoc pkg-config ]; </del> <ins> nativeBuildInputs = [ cmake pkg-config asciidoc xmlto ]; </ins> buildInputs = [ libsodium ]; doCheck = false; # fails all the tests (ctest) <del> cmakeFlags = lib.optional enableDrafts "-DENABLE_DRAFTS=ON"; </del> <ins> cmakeFlags = [ (lib.cmakeBool "WITH_LIBSODIUM" true) (lib.cmakeBool "ENABLE_CURVE" true) (lib.cmakeBool "ENABLE_DRAFTS" enableDrafts) ]; </ins> postPatch = '' substituteInPlace CMakeLists.txt 

--replace '$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} ''; <del> meta = with lib; { </del> <ins> postBuild = '' # From https://gitlab.archlinux.org/archlinux/packaging/packages/zeromq/-/blob/main/PKGBUILD # man pages aren't created when using cmake # https://github.com/zeromq/libzmq/issues/4160 pushd ../doc for FILE in *.txt; do asciidoc  -d manpage  -b docbook  -f asciidoc.conf  -a zmq_version="${finalAttrs.version}"  "''${FILE}" xmlto --skip-validation man "''${FILE%.txt}.xml" done popd ''; postInstall = '' # Install manually created man pages install -vDm644 -t "$out/share/man/man3" ../doc/*.3 install -vDm644 -t "$out/share/man/man7" ../doc/*.7 ''; passthru.tests = { inherit azmq cppzmq czmq zmqpp ; pyzmq = python3.pkgs.pyzmq; ffmpeg = ffmpeg.override { withZmq = true; }; }; meta = { </ins> branch = "4"; homepage = "http://www.zeromq.org"; description = "Intelligent Transport Layer"; <del> license = licenses.mpl20; platforms = platforms.all; maintainers = with maintainers; [ fpletz ]; </del> <ins> license = lib.licenses.mpl20; platforms = lib.platforms.all; maintainers = with lib.maintainers; [ fpletz ]; </ins> }; <del> } </del> <ins> }) </ins>