diff --git a/pkgs/python-packages-overrides.nix b/pkgs/python-packages-overrides.nix --- a/pkgs/python-packages-overrides.nix +++ b/pkgs/python-packages-overrides.nix @@ -72,7 +72,7 @@ self: super: { ]; }); - "nbconvert" = super."nbconvert".override (attrs: { + "nbconvert" = super."nbconvert".override (attrs: { propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ # marcink: plug in jupyter-client for notebook rendering self."jupyter-client" @@ -120,10 +120,12 @@ self: super: { pkgs.curl pkgs.openssl ]; + preConfigure = '' substituteInPlace setup.py --replace '--static-libs' '--libs' export PYCURL_SSL_LIBRARY=openssl ''; + meta = { license = pkgs.lib.licenses.mit; }; @@ -168,14 +170,32 @@ self: super: { propagatedBuildInputs = [ pkgs.pam ]; + # TODO: johbo: Check if this can be avoided, or transform into # a real patch patchPhase = '' substituteInPlace pam.py \ --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so.0"' ''; + }); + "python-saml" = super."python-saml".override (attrs: { + buildInputs = [ + pkgs.libxml2 + pkgs.libxslt + ]; + }); + + "dm.xmlsec.binding" = super."dm.xmlsec.binding".override (attrs: { + buildInputs = [ + pkgs.libxml2 + pkgs.libxslt + pkgs.xmlsec + pkgs.libtool + ]; + }); + "pyzmq" = super."pyzmq".override (attrs: { buildInputs = [ pkgs.czmq diff --git a/pkgs/python-packages.nix b/pkgs/python-packages.nix --- a/pkgs/python-packages.nix +++ b/pkgs/python-packages.nix @@ -335,6 +335,32 @@ self: super: { license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; }; }; + "defusedxml" = super.buildPythonPackage { + name = "defusedxml-0.5.0"; + doCheck = false; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/74/ba/4ba4e89e21b5a2e267d80736ea674609a0a33cc4435a6d748ef04f1f9374/defusedxml-0.5.0.tar.gz"; + sha256 = "1x54n0h8hl92vvwyymx883fbqpqjwn2mc8fb383bcg3z9zwz5mr4"; + }; + meta = { + license = [ pkgs.lib.licenses.psfl ]; + }; + }; + "dm.xmlsec.binding" = super.buildPythonPackage { + name = "dm.xmlsec.binding-1.3.7"; + doCheck = false; + propagatedBuildInputs = [ + self."setuptools" + self."lxml" + ]; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/2c/9e/7651982d50252692991acdae614af821fd6c79bc8dcd598ad71d55be8fc7/dm.xmlsec.binding-1.3.7.tar.gz"; + sha256 = "03jjjscx1pz2nc0dwiw9nia02qbz1c6f0f9zkyr8fmvys2n5jkb3"; + }; + meta = { + license = [ pkgs.lib.licenses.bsdOriginal ]; + }; + }; "docutils" = super.buildPythonPackage { name = "docutils-0.14"; doCheck = false; @@ -671,6 +697,20 @@ self: super: { license = [ pkgs.lib.licenses.mit ]; }; }; + "isodate" = super.buildPythonPackage { + name = "isodate-0.6.0"; + doCheck = false; + propagatedBuildInputs = [ + self."six" + ]; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/b1/80/fb8c13a4cd38eb5021dc3741a9e588e4d1de88d895c1910c6fc8a08b7a70/isodate-0.6.0.tar.gz"; + sha256 = "1n7jkz68kk5pwni540pr5zdh99bf6ywydk1p5pdrqisrawylldif"; + }; + meta = { + license = [ pkgs.lib.licenses.bsdOriginal ]; + }; + }; "itsdangerous" = super.buildPythonPackage { name = "itsdangerous-0.24"; doCheck = false; @@ -1543,6 +1583,22 @@ self: super: { license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ]; }; }; + "python-saml" = super.buildPythonPackage { + name = "python-saml-2.4.2"; + doCheck = false; + propagatedBuildInputs = [ + self."dm.xmlsec.binding" + self."isodate" + self."defusedxml" + ]; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/79/a8/a6611017e0883102fd5e2b73c9d90691b8134e38247c04ee1531d3dc647c/python-saml-2.4.2.tar.gz"; + sha256 = "0dls4hwvf13yg7x5yfjrghbywg8g38vn5vr0rsf70hli3ydbfm43"; + }; + meta = { + license = [ pkgs.lib.licenses.mit ]; + }; + }; "pytz" = super.buildPythonPackage { name = "pytz-2018.4"; doCheck = false; @@ -1697,6 +1753,7 @@ self: super: { self."python-ldap" self."python-memcached" self."python-pam" + self."python-saml" self."pytz" self."tzlocal" self."pyzmq" diff --git a/pkgs/shell-generate.nix b/pkgs/shell-generate.nix --- a/pkgs/shell-generate.nix +++ b/pkgs/shell-generate.nix @@ -32,6 +32,11 @@ pkgs.stdenv.mkDerivation { # We need postgresql to be around pkgs.postgresql + # we need the below for saml + pkgs.libxml2 + pkgs.libxslt + pkgs.xmlsec + # Curl is needed for pycurl pkgs.curl ]; diff --git a/requirements.txt b/requirements.txt --- a/requirements.txt +++ b/requirements.txt @@ -66,6 +66,7 @@ python-dateutil python-ldap==3.1.0 python-memcached==1.59 python-pam==1.8.4 +python-saml pytz==2018.4 tzlocal==1.5.1 pyzmq==14.6.0