From 8e3e02b0155ea783ecd2242d3b666e16cb9c1d4e Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 10 May 2022 00:13:12 +0300 Subject: [PATCH] nghttp2: remove useless nulls and make python3 support build --- .../development/libraries/nghttp2/default.nix | 38 +++++++++---------- pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix index 01df15c0a83..ca8cb641819 100644 --- a/pkgs/development/libraries/nghttp2/default.nix +++ b/pkgs/development/libraries/nghttp2/default.nix @@ -6,15 +6,15 @@ # Optional dependencies , enableApp ? with stdenv.hostPlatform; !isWindows && !isStatic -, c-ares ? null, libev ? null, openssl ? null, zlib ? null -, enableAsioLib ? false, boost ? null -, enableGetAssets ? false, libxml2 ? null -, enableHpack ? false, jansson ? null -, enableJemalloc ? false, jemalloc ? null -, enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null +, c-ares, libev, openssl, zlib +, enableAsioLib ? false, boost +, enableGetAssets ? false, libxml2 +, enableHpack ? false, jansson +, enableJemalloc ? false, jemalloc +, enablePython ? false, python3Packages, ncurses # Unit tests ; we have to set TZDIR, which is a GNUism. -, enableTests ? stdenv.hostPlatform.isGnu, cunit ? null, tzdata ? null +, enableTests ? stdenv.hostPlatform.isGnu, cunit, tzdata # downstream dependencies, for testing , curl @@ -25,13 +25,9 @@ # All mutable patches (generated by GitHub or cgit) that are needed here # should be included directly in Nixpkgs as files. -assert enableApp -> c-ares != null && libev != null && openssl != null && zlib != null; -assert enableAsioLib -> boost != null; -assert enableGetAssets -> enableApp == true && libxml2 != null; -assert enableHpack -> enableApp == true && jansson != null; -assert enableJemalloc -> enableApp == true && jemalloc != null; -assert enablePython -> python != null && cython != null && ncurses != null && setuptools != null; -assert enableTests -> cunit != null && tzdata != null; +assert enableGetAssets -> enableApp; +assert enableHpack -> enableApp; +assert enableJemalloc -> enableApp; stdenv.mkDerivation rec { pname = "nghttp2"; @@ -47,14 +43,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ] ++ lib.optionals (enableApp) [ installShellFiles ] - ++ lib.optionals (enablePython) [ cython ]; + ++ lib.optionals (enablePython) [ python3Packages.cython ]; buildInputs = lib.optionals enableApp [ c-ares libev openssl zlib ] ++ lib.optionals (enableAsioLib) [ boost ] ++ lib.optionals (enableGetAssets) [ libxml2 ] ++ lib.optionals (enableHpack) [ jansson ] ++ lib.optionals (enableJemalloc) [ jemalloc ] - ++ lib.optionals (enablePython) [ python ncurses setuptools ]; + ++ lib.optionals (enablePython) [ python3Packages.python ncurses python3Packages.setuptools ]; enableParallelBuilding = true; @@ -62,7 +58,7 @@ stdenv.mkDerivation rec { "--disable-examples" (lib.enableFeature enableApp "app") ] ++ lib.optionals (enableAsioLib) [ "--enable-asio-lib" "--with-boost-libdir=${boost}/lib" ] - ++ lib.optionals (enablePython) [ "--with-cython=${cython}/bin/cython" ]; + ++ lib.optionals (enablePython) [ "--with-cython=${python3Packages.cython}/bin/cython" ]; # Unit tests require CUnit and setting TZDIR environment variable doCheck = enableTests; @@ -72,13 +68,13 @@ stdenv.mkDerivation rec { ''; preInstall = lib.optionalString (enablePython) '' - mkdir -p $out/${python.sitePackages} + mkdir -p $out/${python3Packages.python.sitePackages} # convince installer it's ok to install here - export PYTHONPATH="$PYTHONPATH:$out/${python.sitePackages}" + export PYTHONPATH="$PYTHONPATH:$out/${python3Packages.python.sitePackages}" ''; postInstall = lib.optionalString (enablePython) '' - mkdir -p $python/${python.sitePackages} - mv $out/${python.sitePackages}/* $python/${python.sitePackages} + mkdir -p $python/${python3Packages.python.sitePackages} + mv $out/${python3Packages.python.sitePackages}/* $python/${python3Packages.python.sitePackages} rm -r $out/lib '' + lib.optionalString (enableApp) '' installShellCompletion --bash doc/bash_completion/{h2load,nghttp,nghttpd,nghttpx} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 42bf379faca..ae7158be004 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5645,7 +5645,7 @@ in { }); nghttp2 = (toPythonModule (pkgs.nghttp2.override { - inherit (self) python cython setuptools; + python3Packages = self; inherit (pkgs) ncurses; enableApp = false; # build only libnghttp2 ... enablePython = true; # ... and its Python bindings