diff --git a/default.nix b/default.nix --- a/default.nix +++ b/default.nix @@ -6,7 +6,7 @@ args@ { system ? builtins.currentSystem -, pythonPackages ? "python27Packages" +, pythonPackages ? "python37Packages" , pythonExternalOverrides ? self: super: {} , doCheck ? false , ... @@ -26,11 +26,6 @@ let system; }; - # Works with the new python-packages, still can fallback to the old - # variant. - basePythonPackagesUnfix = basePythonPackages.__unfix__ or ( - self: basePythonPackages.override (a: { inherit self; })); - # Evaluates to the last segment of a file system path. basename = path: with pkgs.lib; last (splitString "/" path); startsWith = prefix: full: let @@ -72,13 +67,7 @@ let rhodecode-vcsserver = let releaseName = "RhodeCodeVCSServer-${version}"; - pythonWithEnv = - self.python.buildEnv.override { - extraLibs = [ ] ++ self.rhodecode-vcsserver.propagatedBuildInputs; - ignoreCollisions = true; - #--set PYTHONHASHSEED random TODO - }; - in super.rhodecode-vcsserver.override (attrs: { + in super.rhodecode-vcsserver.overridePythonAttrs (attrs: { inherit doCheck version; @@ -88,12 +77,6 @@ let src = rhodecode-vcsserver-src; dontStrip = true; # prevent strip, we don't need it. - # expose following attributed outside - passthru = { - pythonPackages = self; - vcs_pkgs = pkgs; - }; - buildInputs = attrs.buildInputs or [] ++ [ @@ -120,7 +103,7 @@ let # custom check phase for testing checkPhase = '' runHook preCheck - PYTHONHASHSEED=random py.test -vv -p no:sugar -r xw --cov-config=.coveragerc --cov=vcsserver --cov-report=term-missing vcsserver + PYTHONHASHSEED=$RANDOM py.test -vv -p no:sugar -r xw --cov-config=.coveragerc --cov=vcsserver --cov-report=term-missing vcsserver runHook postCheck ''; @@ -145,45 +128,6 @@ let echo "LOCALE_ARCHIVE=\"${pkgs.glibcLocales}/lib/locale/locale-archive\"" >> $out/etc/env_vars.txt echo "LC_ALL=\"en_US.UTF-8\"" >> $out/etc/env_vars.txt - # python based programs need to be wrapped - mkdir -p $out/bin - - # expose python - ln -s ${pythonWithEnv}/bin/python $out/bin/ - - # required binaries from dependencies - ln -s ${pythonWithEnv}/bin/gunicorn $out/bin/ - ln -s ${pythonWithEnv}/bin/prequest $out/bin/ - ln -s ${pythonWithEnv}/bin/pserve $out/bin/ - - # Symlink version control utilities - # We ensure that always the correct version is available as a symlink. - # So that users calling them via the profile path will always use the - # correct version. Wrapping is required so those can "import" - # vcsserver python hooks. - ln -s ${pkgs.git}/bin/git $out/bin - ln -s ${self.mercurial}/bin/hg $out/bin - ln -s ${pkgs.subversion}/bin/svn* $out/bin - - echo "[DONE ]: created symlinks into $out/bin" - DEPS="$out/bin/hg \ - $out/bin/git \ - $out/bin/svn \ - $out/bin/svnserve \ - $out/bin/svnadmin - " - - # wrap only dependency scripts, they require to have full PYTHONPATH set - # to be able to import all packages - for file in $DEPS; - do - wrapProgram $file \ - --prefix PATH : $PATH \ - --prefix PYTHONPATH : $PYTHONPATH - done - - echo "[DONE ]: vcsserver binary wrapping" - # expose sources of vcsserver ln -s $out $out/etc/rhodecode_vcsserver_source ''; @@ -191,7 +135,6 @@ let }); }; - basePythonPackages = with builtins; if isAttrs pythonPackages then pythonPackages @@ -207,14 +150,62 @@ let inherit pkgs basePythonPackages; }; - # Apply all overrides and fix the final package set - myPythonPackagesUnfix = with pkgs.lib; - (extends pythonExternalOverrides - (extends pythonLocalOverrides - (extends pythonVCSServerOverrides - (extends pythonGeneratedPackages - basePythonPackagesUnfix)))); + # Apply all overrides and fix the vcsserver package set + targetPython = basePythonPackages.python.override { + packageOverrides = self: super: with pkgs.lib; + (extends pythonExternalOverrides + (extends pythonLocalOverrides + (extends pythonVCSServerOverrides + (extends pythonGeneratedPackages + (self: super))))) self; + }; + + # Python env with rhodecode-vcsserver + pythonEnv = (targetPython.withPackages(ps: with ps; [rhodecode-vcsserver])); - myPythonPackages = (pkgs.lib.fix myPythonPackagesUnfix); + # Generic env with wrapped binaries + vcsserver = pkgs.buildEnv { + name = if ! isNull targetPython.pkgs.rhodecode-vcsserver + then "vcsserver-${targetPython.pkgs.rhodecode-vcsserver.version}" + else "vcsserver"; + paths = [ + pythonEnv + # Symlink version control utilities + # We ensure that always the correct version is available as a symlink. + # So that users calling them via the profile path will always use the + # correct version. Wrapping is required so those can "import" + # vcsserver python hooks. + pkgs.git + pkgs.subversion + ]; + # expose following attributed outside + passthru = { + pythonPackages = targetPython.pkgs; + vcs_pkgs = pkgs; + }; + buildInputs = [ + pkgs.makeWrapper + ]; + postBuild = (if ! isNull targetPython.pkgs.rhodecode-vcsserver then '' + echo "Writing vcsserver meta information for rccontrol to nix-support/rccontrol" + ln -s ${targetPython.pkgs.rhodecode-vcsserver}/nix-support $out/nix-support + echo "DONE: vcsserver meta information for rccontrol written" + '' else "") + '' + DEPS="$out/bin/*" + # wrap only dependency scripts, they require to have full PYTHONPATH set + # to be able to import all packages + for file in $DEPS; + do + wrapProgram $file \ + --prefix PATH : ${pkgs.git}/bin \ + --prefix PATH : ${pkgs.subversion}/bin \ + --prefix PATH : ${pythonEnv}/bin \ + --prefix PYTHONPATH : ${pythonEnv}/${pythonEnv.sitePackages} \ + --prefix PYTHONPATH : ${pkgs.subversion}/${pythonEnv.sitePackages} \ + --set PYTHONHASHSEED $RANDOM + done + echo "DONE: vcsserver binary wrapping" + ''; + }; -in myPythonPackages.rhodecode-vcsserver +in vcsserver diff --git a/pkgs/nix-common/pip2nix.nix b/pkgs/nix-common/pip2nix.nix --- a/pkgs/nix-common/pip2nix.nix +++ b/pkgs/nix-common/pip2nix.nix @@ -14,6 +14,10 @@ rec { pythonPackages; }; + flit = pythonPackages.flit; + + cython = pythonPackages.pip-tools; + pip-tools = pythonPackages.pip-tools; setuptools = pythonPackages.setuptools; diff --git a/pkgs/overlays.nix b/pkgs/overlays.nix --- a/pkgs/overlays.nix +++ b/pkgs/overlays.nix @@ -50,7 +50,7 @@ self: super: { subversionWithPython = super.subversion.override { httpSupport = true; pythonBindings = true; - python = self.python27Packages.python; + python = self.python37Packages.python; }; in super.lib.overrideDerivation subversionWithPython (oldAttrs: { 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 @@ -52,6 +52,16 @@ self: super: { nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [ # self.python.modules.curses ]; + postInstall = '' + rm -f $out/${self.python.sitePackages}/hgext3rd/__pycache__/__init__.*.pyc + ''; + }); + + "hg-evolve" = super."hg-evolve".override (attrs: { + postInstall = '' + rm -f $out/${self.python.sitePackages}/hgext3rd/__init__.py + rm -f $out/${self.python.sitePackages}/hgext3rd/__init__.pyc + ''; }); "dulwich" = super."dulwich".override (attrs: { @@ -76,6 +86,12 @@ self: super: { ]; }); + "zipp" = super."zipp".override (attrs: { + buildInputs = with self; attrs.buildInputs ++ [ + self."toml" + ]; + }); + # Avoid that base packages screw up the build process inherit (basePythonPackages) setuptools; diff --git a/pkgs/python-packages.nix b/pkgs/python-packages.nix --- a/pkgs/python-packages.nix +++ b/pkgs/python-packages.nix @@ -41,23 +41,6 @@ self: super: { license = [ pkgs.lib.licenses.mit ]; }; }; - "backports.shutil-get-terminal-size" = super.buildPythonPackage rec { - pname = "backports.shutil-get-terminal-size"; - version = "1.0.0"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz"; - sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; "beautifulsoup4" = super.buildPythonPackage rec { pname = "beautifulsoup4"; version = "4.6.3"; @@ -77,10 +60,10 @@ self: super: { }; "cffi" = super.buildPythonPackage rec { pname = "cffi"; - version = "1.12.3"; + version = "1.14.0"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/93/1a/ab8c62b5838722f29f3daffcc8d4bd61844aa9b5f437341cc890ceee483b/cffi-1.12.3.tar.gz"; - sha256 = "0x075521fxwv0mfp4cqzk7lvmw4n94bjw601qkcv314z5s182704"; + url = "https://files.pythonhosted.org/packages/05/54/3324b0c46340c31b909fcec598696aaec7ddc8c18a63f2db352562d3354c/cffi-1.14.0.tar.gz"; + sha256 = "1dn279gw5ql8i5n3s5v4rnv96rhhjjfn7xq729qbl5bs2954yf1d"; }; format = "setuptools"; doCheck = false; @@ -113,27 +96,6 @@ self: super: { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - "configparser" = super.buildPythonPackage rec { - pname = "configparser"; - version = "4.0.2"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/16/4f/48975536bd488d3a272549eb795ac4a13a5f7fcdc8995def77fbef3532ee/configparser-4.0.2.tar.gz"; - sha256 = "1priacxym85yjcf68hh38w55nqswaxp71ryjyfdk222kg9l85ln7"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = [ - self."setuptools" - self."wheel" - self."setuptools-scm" - ]; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; "contextlib2" = super.buildPythonPackage rec { pname = "contextlib2"; version = "0.6.0.post1"; @@ -187,23 +149,6 @@ self: super: { license = [ pkgs.lib.licenses.asl20 ]; }; }; - "cython" = super.buildPythonPackage rec { - pname = "cython"; - version = "0.29.17"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/99/36/a3dc962cc6d08749aa4b9d85af08b6e354d09c5468a3e0edc610f44c856b/Cython-0.29.17.tar.gz"; - sha256 = "1wnaz40hdw4mg5acz5gqb6bhjhn4cvfxg0xdzfy7aa6qn665hqb3"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ]; - }; - }; "decorator" = super.buildPythonPackage rec { pname = "decorator"; version = "4.1.2"; @@ -218,15 +163,15 @@ self: super: { nativeBuildInputs = []; propagatedBuildInputs = []; meta = { - license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ]; + license = [ { fullName = "new BSD License"; } pkgs.lib.licenses.bsdOriginal ]; }; }; "dogpile.cache" = super.buildPythonPackage rec { pname = "dogpile.cache"; - version = "0.9.0"; + version = "0.9.2"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/ac/6a/9ac405686a94b7f009a20a50070a5786b0e1aedc707b88d40d0c4b51a82e/dogpile.cache-0.9.0.tar.gz"; - sha256 = "0sr1fn6b4k5bh0cscd9yi8csqxvj4ngzildav58x5p694mc86j5k"; + url = "https://files.pythonhosted.org/packages/b5/02/9692c82808341747afc87a7c2b701c8eed76c05ec6bc98844c102a537de7/dogpile.cache-0.9.2.tar.gz"; + sha256 = "17h5bkijp4zj49a9a0dd608r4lq5xxrkgiydzfg1gq2xz8gxx7dw"; }; format = "setuptools"; doCheck = false; @@ -237,7 +182,7 @@ self: super: { self."decorator" ]; meta = { - license = [ pkgs.lib.licenses.bsdOriginal ]; + license = [ pkgs.lib.licenses.mit pkgs.lib.licenses.bsdOriginal ]; }; }; "dogpile.core" = super.buildPythonPackage rec { @@ -274,65 +219,6 @@ self: super: { license = [ pkgs.lib.licenses.gpl2Plus ]; }; }; - "enum34" = super.buildPythonPackage rec { - pname = "enum34"; - version = "1.1.10"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/11/c4/2da1f4952ba476677a42f25cd32ab8aaf0e1c0d0e00b89822b835c7e654c/enum34-1.1.10.tar.gz"; - sha256 = "0j7ji699fwswm4vg6w1v07fkbf8dkzdm6gfh88jvs5nqgr3sgrnc"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.bsdOriginal ]; - }; - }; - "funcsigs" = super.buildPythonPackage rec { - pname = "funcsigs"; - version = "1.0.2"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz"; - sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ]; - }; - }; - "gevent" = super.buildPythonPackage rec { - pname = "gevent"; - version = "1.5.0"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/5a/79/2c63d385d017b5dd7d70983a463dfd25befae70c824fedb857df6e72eff2/gevent-1.5.0.tar.gz"; - sha256 = "0aac3d4vhv5n4rsb6cqzq0d1xx9immqz4fmpddw35yxkwdc450dj"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = [ - self."setuptools" - self."wheel" - self."cython" - self."cffi" - self."greenlet" - ]; - propagatedBuildInputs = [ - self."greenlet" - ]; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; "gprof2dot" = super.buildPythonPackage rec { pname = "gprof2dot"; version = "2017.9.19"; @@ -347,49 +233,34 @@ self: super: { nativeBuildInputs = []; propagatedBuildInputs = []; meta = { - license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ]; + license = [ { fullName = "LGPL"; } { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } ]; }; }; - "greenlet" = super.buildPythonPackage rec { - pname = "greenlet"; - version = "0.4.15"; + "gunicorn" = super.buildPythonPackage rec { + pname = "gunicorn"; + version = "20.0.4"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/f8/e8/b30ae23b45f69aa3f024b46064c0ac8e5fcb4f22ace0dca8d6f9c8bbe5e7/greenlet-0.4.15.tar.gz"; - sha256 = "1g4g1wwc472ds89zmqlpyan3fbnzpa8qm48z3z1y6mlk44z485ll"; + url = "https://files.pythonhosted.org/packages/33/b8/f5fd32e1f46fcfefd7cb5c84dee1cf657ab3540ee92b8a09fc40e4887bf0/gunicorn-20.0.4.tar.gz"; + sha256 = "09n6fc019bgrvph1s5h1lwhn2avcsprw6ncd203qhra3i8mvn10r"; }; format = "setuptools"; doCheck = false; buildInputs = []; checkInputs = []; nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; - "gunicorn" = super.buildPythonPackage rec { - pname = "gunicorn"; - version = "19.9.0"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz"; - sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; + propagatedBuildInputs = [ + self."setuptools" + ]; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; "hg-evolve" = super.buildPythonPackage rec { pname = "hg-evolve"; - version = "9.1.0"; + version = "10.0.0"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/20/36/5a6655975aa0c663be91098d31a0b24841acad44fe896aa2bdee77c6b883/hg-evolve-9.1.0.tar.gz"; - sha256 = "1mna81cmzxxn7s2nwz3g1xgdjlcc1axkvfmwg7gjqghwn3pdraps"; + url = "https://files.pythonhosted.org/packages/b8/81/d86d3b4e6c602074805b086ae7471672d24d7ffa4f68ddb97bf68dd460fd/hg-evolve-10.0.0.tar.gz"; + sha256 = "03kn1c62y6rb851wjhsaxkrwq223hkc4ij59i85999byyb2hyqad"; }; format = "setuptools"; doCheck = false; @@ -443,10 +314,10 @@ self: super: { }; "importlib-metadata" = super.buildPythonPackage rec { pname = "importlib-metadata"; - version = "1.6.0"; + version = "1.6.1"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/b4/1b/baab42e3cd64c9d5caac25a9d6c054f8324cdc38975a44d600569f1f7158/importlib_metadata-1.6.0.tar.gz"; - sha256 = "07icyggasn38yv2swdrd8z6i0plazmc9adavsdkbqqj91j53ll9l"; + url = "https://files.pythonhosted.org/packages/aa/9a/8483b77e2decd95963d7e34bc9bc91a26e71fd89b57d8cf978ca24747c7f/importlib_metadata-1.6.1.tar.gz"; + sha256 = "0if5fp7wgr7gdrm47dw1v9bpfvb74zchljm7ac7w1zlc0q4ds185"; }; format = "setuptools"; doCheck = false; @@ -458,69 +329,18 @@ self: super: { self."setuptools-scm" ]; propagatedBuildInputs = [ - self."configparser" - self."contextlib2" - self."pathlib2" self."zipp" ]; meta = { license = [ pkgs.lib.licenses.asl20 ]; }; }; - "ipdb" = super.buildPythonPackage rec { - pname = "ipdb"; - version = "0.13.2"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/2c/bb/a3e1a441719ebd75c6dac8170d3ddba884b7ee8a5c0f9aefa7297386627a/ipdb-0.13.2.tar.gz"; - sha256 = "0jcd849rx30y3wcgzsqbn06v0yjlzvb9x3076q0yxpycdwm1ryvp"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = [ - self."ipython" - self."setuptools" - ]; - meta = { - license = [ pkgs.lib.licenses.bsdOriginal ]; - }; - }; - "ipython" = super.buildPythonPackage rec { - pname = "ipython"; - version = "5.10.0"; + "mercurial" = super.buildPythonPackage rec { + pname = "mercurial"; + version = "5.4.1"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/b6/73/c8f68b3a7d0deece3d2f7ab727fbf262bfca7475330b44043a5503b3aa7a/ipython-5.10.0.tar.gz"; - sha256 = "1vjgfayfsjkwsccizpmr8gfg6p1sr9513bxnyzg0v45h5g8f5yfi"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = [ - self."backports.shutil-get-terminal-size" - self."decorator" - self."pathlib2" - self."pexpect" - self."pickleshare" - self."prompt-toolkit" - self."pygments" - self."setuptools" - self."simplegeneric" - self."traitlets" - ]; - meta = { - license = [ pkgs.lib.licenses.bsdOriginal ]; - }; - }; - "ipython-genutils" = super.buildPythonPackage rec { - pname = "ipython-genutils"; - version = "0.2.0"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz"; - sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb"; + url = "https://files.pythonhosted.org/packages/83/54/d81317f98f31f05026dd4255828e04a1c4a2e1c4e8d7291e0b5b51d99b07/mercurial-5.4.1.tar.gz"; + sha256 = "1ilam0dz121nn4852jgkgyzyrvk3hn5cqnivy8gk1qg815mh4763"; }; format = "setuptools"; doCheck = false; @@ -529,24 +349,7 @@ self: super: { nativeBuildInputs = []; propagatedBuildInputs = []; meta = { - license = [ pkgs.lib.licenses.bsdOriginal ]; - }; - }; - "mercurial" = super.buildPythonPackage rec { - pname = "mercurial"; - version = "5.1.1"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/22/39/e1a95f6048aa0785b82f5faad8281ae7320894a635cb4a57e19479639c92/mercurial-5.1.1.tar.gz"; - sha256 = "17z42rfjdkrks4grzgac66nfh285zf1pwxd2zwx1p71pw2jqpz1m"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.gpl1 pkgs.lib.licenses.gpl2Plus ]; + license = [ pkgs.lib.licenses.gpl2Plus pkgs.lib.licenses.gpl1 ]; }; }; "mock" = super.buildPythonPackage rec { @@ -562,28 +365,25 @@ self: super: { checkInputs = []; nativeBuildInputs = []; propagatedBuildInputs = [ - self."funcsigs" self."six" ]; meta = { - license = [ pkgs.lib.licenses.bsdOriginal { fullName = "OSI Approved :: BSD License"; } ]; + license = [ { fullName = "OSI Approved :: BSD License"; } pkgs.lib.licenses.bsdOriginal ]; }; }; "more-itertools" = super.buildPythonPackage rec { pname = "more-itertools"; - version = "5.0.0"; + version = "8.3.0"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/dd/26/30fc0d541d9fdf55faf5ba4b0fd68f81d5bd2447579224820ad525934178/more-itertools-5.0.0.tar.gz"; - sha256 = "1r12cm6mcdwdzz7d47a6g4l437xsvapdlgyhqay3i2nrlv03da9q"; + url = "https://files.pythonhosted.org/packages/16/e8/b371710ad458e56b6c74b82352fdf1625e75c03511c66a75314f1084f057/more-itertools-8.3.0.tar.gz"; + sha256 = "1gk7jbl4f5hm99cbd4ci3xp79jxf6ng0i693ir7mwbr3labvi2sm"; }; format = "setuptools"; doCheck = false; buildInputs = []; checkInputs = []; nativeBuildInputs = []; - propagatedBuildInputs = [ - self."six" - ]; + propagatedBuildInputs = []; meta = { license = [ pkgs.lib.licenses.mit ]; }; @@ -607,10 +407,10 @@ self: super: { }; "packaging" = super.buildPythonPackage rec { pname = "packaging"; - version = "20.3"; + version = "20.4"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/65/37/83e3f492eb52d771e2820e88105f605335553fe10422cba9d256faeb1702/packaging-20.3.tar.gz"; - sha256 = "18xpablq278janh03bai9xd4kz9b0yfp6vflazn725ns9x3jna9w"; + url = "https://files.pythonhosted.org/packages/55/fd/fc1aca9cf51ed2f2c11748fa797370027babd82f87829c7a8e6dbe720145/packaging-20.4.tar.gz"; + sha256 = "1y3rc1ams1i25calk6b9jf1gl85ix5a23a146swjvhdr8x7zfms3"; }; format = "setuptools"; doCheck = false; @@ -622,7 +422,7 @@ self: super: { self."six" ]; meta = { - license = [ pkgs.lib.licenses.bsdOriginal { fullName = "BSD or Apache License, Version 2.0"; } pkgs.lib.licenses.asl20 ]; + license = [ { fullName = "BSD-2-Clause or Apache-2.0"; } pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.asl20 ]; }; }; "pastedeploy" = super.buildPythonPackage rec { @@ -655,51 +455,12 @@ self: super: { checkInputs = []; nativeBuildInputs = []; propagatedBuildInputs = [ - self."scandir" self."six" ]; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - "pexpect" = super.buildPythonPackage rec { - pname = "pexpect"; - version = "4.8.0"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/e5/9b/ff402e0e930e70467a7178abb7c128709a30dfb22d8777c043e501bc1b10/pexpect-4.8.0.tar.gz"; - sha256 = "032cg337h8awydgypz6f4wx848lw8dyrj4zy988x0lyib4ws8rgw"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = [ - self."ptyprocess" - ]; - meta = { - license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ]; - }; - }; - "pickleshare" = super.buildPythonPackage rec { - pname = "pickleshare"; - version = "0.7.5"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz"; - sha256 = "1jmghg3c53yp1i8cm6pcrm280ayi8621rwyav9fac7awjr3kss47"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = [ - self."pathlib2" - ]; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; "plaster" = super.buildPythonPackage rec { pname = "plaster"; version = "1.0"; @@ -765,26 +526,6 @@ self: super: { license = [ pkgs.lib.licenses.mit ]; }; }; - "prompt-toolkit" = super.buildPythonPackage rec { - pname = "prompt-toolkit"; - version = "1.0.18"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/c5/64/c170e5b1913b540bf0c8ab7676b21fdd1d25b65ddeb10025c6ca43cccd4c/prompt_toolkit-1.0.18.tar.gz"; - sha256 = "09h1153wgr5x2ny7ds0w2m81n3bb9j8hjb8sjfnrg506r01clkyx"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = [ - self."six" - self."wcwidth" - ]; - meta = { - license = [ pkgs.lib.licenses.bsdOriginal ]; - }; - }; "psutil" = super.buildPythonPackage rec { pname = "psutil"; version = "5.7.0"; @@ -802,23 +543,6 @@ self: super: { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - "ptyprocess" = super.buildPythonPackage rec { - pname = "ptyprocess"; - version = "0.6.0"; - src = fetchurl { - url = "https://code.rhodecode.com/upstream/ptyprocess/artifacts/download/0-c8b019b1-c4d3-46ac-a0ad-1206ec3fb3cb.tar.gz?sha256=50394f2c5e117fcab4360bf99c8bc40be7211ee1a5860aeb3809b44249550c3e"; - sha256 = "0ghcam4l5d0973mhm1m5w4g23rqbqj5rry8b6ssclzqibqn4yfah"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ { fullName = "ISC License (ISCL)"; } ]; - }; - }; "py" = super.buildPythonPackage rec { pname = "py"; version = "1.8.1"; @@ -864,10 +588,7 @@ self: super: { doCheck = false; buildInputs = []; checkInputs = []; - nativeBuildInputs = [ - self."pycparser" - self."cffi" - ]; + nativeBuildInputs = []; propagatedBuildInputs = [ self."cffi" self."six" @@ -878,10 +599,10 @@ self: super: { }; "pygments" = super.buildPythonPackage rec { pname = "pygments"; - version = "2.4.2"; + version = "2.6.1"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/7e/ae/26808275fc76bf2832deb10d3a3ed3107bc4de01b85dcccbe525f2cd6d1e/Pygments-2.4.2.tar.gz"; - sha256 = "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748"; + url = "https://files.pythonhosted.org/packages/6e/4d/4d2fe93a35dfba417311a4ff627489a947b01dc0cc377a3673c00cf7e4b2/Pygments-2.6.1.tar.gz"; + sha256 = "0i4gnd4q0mgkq0dp5wymn7ca8zjd8fgp63139svs6jf2c6h48wv4"; }; format = "setuptools"; doCheck = false; @@ -929,7 +650,6 @@ self: super: { self."hupper" self."plaster" self."plaster-pastedeploy" - self."repoze.lru" self."setuptools" self."translationstring" self."venusian" @@ -938,7 +658,7 @@ self: super: { self."zope.interface" ]; meta = { - license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; + license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } { fullName = "Repoze Public License"; } ]; }; }; "pytest" = super.buildPythonPackage rec { @@ -960,11 +680,9 @@ self: super: { propagatedBuildInputs = [ self."atomicwrites" self."attrs" - self."funcsigs" self."importlib-metadata" self."more-itertools" self."packaging" - self."pathlib2" self."pluggy" self."py" self."six" @@ -991,7 +709,7 @@ self: super: { self."pytest" ]; meta = { - license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ]; + license = [ pkgs.lib.licenses.mit pkgs.lib.licenses.bsdOriginal ]; }; }; "pytest-profiling" = super.buildPythonPackage rec { @@ -1080,10 +798,10 @@ self: super: { }; "redis" = super.buildPythonPackage rec { pname = "redis"; - version = "3.4.1"; + version = "3.5.3"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/ef/2e/2c0f59891db7db087a7eeaa79bc7c7f2c039e71a2b5b0a41391e9d462926/redis-3.4.1.tar.gz"; - sha256 = "07yaj0j9fs7xdkg5bg926fa990khyigjbp31si8ai20vj8sv7kqd"; + url = "https://files.pythonhosted.org/packages/b3/17/1e567ff78c83854e16b98694411fe6e08c3426af866ad11397cddceb80d3/redis-3.5.3.tar.gz"; + sha256 = "18h5b87g15x3j6pb1h2q27ri37p2qpvc9n2wgn5yl3b6m3y0qzhf"; }; format = "setuptools"; doCheck = false; @@ -1109,12 +827,12 @@ self: super: { nativeBuildInputs = []; propagatedBuildInputs = []; meta = { - license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; + license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } { fullName = "Repoze Public License"; } ]; }; }; "rhodecode-vcsserver" = super.buildPythonPackage rec { pname = "rhodecode-vcsserver"; - version = "4.19.0"; + version = "5.0.0"; src = ./.; format = "setuptools"; doCheck = false; @@ -1132,14 +850,10 @@ self: super: { self."dogpile.cache" self."dogpile.core" self."dulwich" - self."gevent" self."gprof2dot" - self."greenlet" self."gunicorn" self."hg-evolve" self."hgsubversion" - self."ipdb" - self."ipython" self."mercurial" self."mock" self."msgpack-python" @@ -1157,7 +871,6 @@ self: super: { self."repoze.lru" self."simplejson" self."six" - self."subprocess32" self."subvertpy" self."translationstring" self."waitress" @@ -1167,7 +880,7 @@ self: super: { self."zope.interface" ]; meta = { - license = [ { fullName = "GPL V3"; } { fullName = "GNU General Public License v3 or later (GPLv3+)"; } ]; + license = [ { fullName = "GNU General Public License v3 or later (GPLv3+)"; } { fullName = "GPL V3"; } ]; }; }; "scandir" = super.buildPythonPackage rec { @@ -1223,40 +936,23 @@ self: super: { }; "setuptools-scm" = super.buildPythonPackage rec { pname = "setuptools-scm"; - version = "3.5.0"; + version = "4.1.2"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/4b/c1/118ec08816737cc46b4dd93b22f7a138fbfb14b53f4b4718fd9983e70a50/setuptools_scm-3.5.0-py2.py3-none-any.whl"; - sha256 = "13z30zcwzp1g9g27xv91yrhhbsx2ljw0xkvb36vkx9708cyxn8qd"; + url = "https://files.pythonhosted.org/packages/ad/d3/e54f8b4cde0f6fb4f231629f570c1a33ded18515411dee6df6fe363d976f/setuptools_scm-4.1.2-py2.py3-none-any.whl"; + sha256 = "09jqn78qd7w5hik4v3hg4mw3byl0jm8hkwd5swgcxxx5xcp8w9b9"; }; format = "wheel"; doCheck = false; buildInputs = []; checkInputs = []; nativeBuildInputs = []; - propagatedBuildInputs = []; + propagatedBuildInputs = [ + self."setuptools" + ]; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - "simplegeneric" = super.buildPythonPackage rec { - pname = "simplegeneric"; - version = "0.8.1"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip"; - sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = [ - pkgs."unzip" - ]; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.zpl21 ]; - }; - }; "simplejson" = super.buildPythonPackage rec { pname = "simplejson"; version = "3.16.0"; @@ -1271,15 +967,15 @@ self: super: { nativeBuildInputs = []; propagatedBuildInputs = []; meta = { - license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ]; + license = [ pkgs.lib.licenses.mit { fullName = "Academic Free License (AFL)"; } ]; }; }; "six" = super.buildPythonPackage rec { pname = "six"; - version = "1.11.0"; + version = "1.15.0"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; - sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h"; + url = "https://files.pythonhosted.org/packages/6b/34/415834bfdafca3c5f451532e8a8d9ba89a21c9743a0c59fbd0205c7f9426/six-1.15.0.tar.gz"; + sha256 = "0n82108wxn5giff50hd9ykjhd3zl7cndabdasi6568yvbh1rqqrh"; }; format = "setuptools"; doCheck = false; @@ -1291,23 +987,6 @@ self: super: { license = [ pkgs.lib.licenses.mit ]; }; }; - "subprocess32" = super.buildPythonPackage rec { - pname = "subprocess32"; - version = "3.5.4"; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz"; - sha256 = "17f7mvwx2271s1wrl0qac3wjqqnrqag866zs3qc8v5wp0k43fagb"; - }; - format = "setuptools"; - doCheck = false; - buildInputs = []; - checkInputs = []; - nativeBuildInputs = []; - propagatedBuildInputs = []; - meta = { - license = [ pkgs.lib.licenses.psfl ]; - }; - }; "subvertpy" = super.buildPythonPackage rec { pname = "subvertpy"; version = "0.10.1"; @@ -1322,7 +1001,7 @@ self: super: { nativeBuildInputs = []; propagatedBuildInputs = []; meta = { - license = [ pkgs.lib.licenses.lgpl21Plus pkgs.lib.licenses.gpl2Plus ]; + license = [ pkgs.lib.licenses.gpl2Plus pkgs.lib.licenses.lgpl21Plus ]; }; }; "termcolor" = super.buildPythonPackage rec { @@ -1342,26 +1021,21 @@ self: super: { license = [ pkgs.lib.licenses.mit ]; }; }; - "traitlets" = super.buildPythonPackage rec { - pname = "traitlets"; - version = "4.3.3"; + "toml" = super.buildPythonPackage rec { + pname = "toml"; + version = "0.10.1"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/75/b0/43deb021bc943f18f07cbe3dac1d681626a48997b7ffa1e7fb14ef922b21/traitlets-4.3.3.tar.gz"; - sha256 = "1xsrwgivpkxlbr4dfndfsi098s29yqgswgjc1qqn69yxklvfw8yh"; + url = "https://files.pythonhosted.org/packages/da/24/84d5c108e818ca294efe7c1ce237b42118643ce58a14d2462b3b2e3800d5/toml-0.10.1.tar.gz"; + sha256 = "03wbqm5cn685cwx2664hjdpz370njl7lf0yal8s0dkp5w4mn2swj"; }; format = "setuptools"; doCheck = false; buildInputs = []; checkInputs = []; nativeBuildInputs = []; - propagatedBuildInputs = [ - self."decorator" - self."enum34" - self."ipython-genutils" - self."six" - ]; + propagatedBuildInputs = []; meta = { - license = [ pkgs.lib.licenses.bsdOriginal ]; + license = [ pkgs.lib.licenses.mit ]; }; }; "translationstring" = super.buildPythonPackage rec { @@ -1400,16 +1074,18 @@ self: super: { }; "waitress" = super.buildPythonPackage rec { pname = "waitress"; - version = "1.3.1"; + version = "1.4.4"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/a6/e6/708da7bba65898e5d759ade8391b1077e49d07be0b0223c39f5be04def56/waitress-1.3.1.tar.gz"; - sha256 = "1iysl8ka3l4cdrr0r19fh1cv28q41mwpvgsb81ji7k4shkb0k3i7"; + url = "https://files.pythonhosted.org/packages/9a/32/90a74e5ab5fd4fa4bd051a51eb9a8f63bbbf3e00a00dc5cf73ebd4ddb46a/waitress-1.4.4.tar.gz"; + sha256 = "0qdjrwgfah09izsvll05c75fyfj1wmzpmblpn1nar1vli983dd0v"; }; format = "setuptools"; doCheck = false; buildInputs = []; checkInputs = []; - nativeBuildInputs = []; + nativeBuildInputs = [ + self."setuptools" + ]; propagatedBuildInputs = []; meta = { license = [ pkgs.lib.licenses.zpl21 ]; @@ -1417,10 +1093,10 @@ self: super: { }; "wcwidth" = super.buildPythonPackage rec { pname = "wcwidth"; - version = "0.1.9"; + version = "0.2.4"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/25/9d/0acbed6e4a4be4fc99148f275488580968f44ddb5e69b8ceb53fc9df55a0/wcwidth-0.1.9.tar.gz"; - sha256 = "1wf5ycjx8s066rdvr0fgz4xds9a8zhs91c4jzxvvymm1c8l8cwzf"; + url = "https://files.pythonhosted.org/packages/2e/30/268d9d3ed18439b6983a8e630cd52d81fd7460a152d6e801d1b8394e51a1/wcwidth-0.2.4.tar.gz"; + sha256 = "13z4a332pvrmn930y1fk4ry82mccsvjxjdpk8lk882rnw5p5nswc"; }; format = "setuptools"; doCheck = false; @@ -1434,10 +1110,10 @@ self: super: { }; "webob" = super.buildPythonPackage rec { pname = "webob"; - version = "1.8.5"; + version = "1.8.6"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/9d/1a/0c89c070ee2829c934cb6c7082287c822e28236a4fcf90063e6be7c35532/WebOb-1.8.5.tar.gz"; - sha256 = "11khpzaxc88q31v25ic330gsf56fwmbdc9b30br8mvp0fmwspah5"; + url = "https://files.pythonhosted.org/packages/2a/32/5f3f43d0784bdd9392db0cb98434d7cd23a0d8a420c4d243ad4cb8517f2a/WebOb-1.8.6.tar.gz"; + sha256 = "026i3z99nr3px75isa9mbnky5i7rffiv4d124h5kxfjjsxz92fma"; }; format = "setuptools"; doCheck = false; @@ -1473,10 +1149,10 @@ self: super: { }; "zipp" = super.buildPythonPackage rec { pname = "zipp"; - version = "1.2.0"; + version = "3.1.0"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/78/08/d52f0ea643bc1068d6dc98b412f4966a9b63255d20911a23ac3220c033c4/zipp-1.2.0.tar.gz"; - sha256 = "1c91lnv1bxjimh8as27hz7bghsjkkbxn1d37xq7in9c82iai0167"; + url = "https://files.pythonhosted.org/packages/ce/8c/2c5f7dc1b418f659d36c04dec9446612fc7b45c8095cc7369dd772513055/zipp-3.1.0.tar.gz"; + sha256 = "15pxxs9gp1lcghbl5426fk823h764a5d04cra267kxlqbkby96f5"; }; format = "setuptools"; doCheck = false; @@ -1487,9 +1163,7 @@ self: super: { self."wheel" self."setuptools-scm" ]; - propagatedBuildInputs = [ - self."contextlib2" - ]; + propagatedBuildInputs = []; meta = { license = [ pkgs.lib.licenses.mit ]; }; @@ -1515,10 +1189,10 @@ self: super: { }; "zope.interface" = super.buildPythonPackage rec { pname = "zope.interface"; - version = "4.6.0"; + version = "5.1.0"; src = fetchurl { - url = "https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6/zope.interface-4.6.0.tar.gz"; - sha256 = "1rgh2x3rcl9r0v0499kf78xy86rnmanajf4ywmqb943wpk50sg8v"; + url = "https://files.pythonhosted.org/packages/af/d2/9675302d7ced7ec721481f4bbecd28a390a8db4ff753d28c64057b975396/zope.interface-5.1.0.tar.gz"; + sha256 = "03nrl6b8cb600dnnh46y149awvrm0gxyqgwq5hdw3lvys8mw9r20"; }; format = "setuptools"; doCheck = false; diff --git a/pkgs/shell-generate.nix b/pkgs/shell-generate.nix --- a/pkgs/shell-generate.nix +++ b/pkgs/shell-generate.nix @@ -1,5 +1,5 @@ { pkgs ? (import {}) -, pythonPackages ? "python27Packages" +, pythonPackages ? "python37Packages" }: with pkgs.lib; @@ -28,6 +28,8 @@ pkgs.stdenv.mkDerivation { pip2nix.pip2nix pip2nix.pip pip2nix.pip-tools + pip2nix.cython + pip2nix.flit # compile using ffi pkgs.libffi diff --git a/requirements.txt b/requirements.txt --- a/requirements.txt +++ b/requirements.txt @@ -3,14 +3,14 @@ # our custom configobj https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626#egg=configobj==5.0.6 -dogpile.cache==0.9.0 +dogpile.cache==0.9.2 dogpile.core==0.4.1 decorator==4.1.2 dulwich==0.13.0 hgsubversion==1.9.3 -hg-evolve==9.1.0 +hg-evolve==10.0.0 -mercurial==5.1.1 +mercurial==5.4.1 msgpack-python==0.5.6 pastedeploy==2.1.0 @@ -18,28 +18,27 @@ pyramid==1.10.4 pygit2==0.28.2 repoze.lru==0.7 -redis==3.4.1 +redis==3.5.3 simplejson==3.16.0 subvertpy==0.10.1 -six==1.11.0 +six==1.15.0 translationstring==1.3 -webob==1.8.5 +webob==1.8.6 zope.deprecation==4.4.0 -zope.interface==4.6.0 +zope.interface==5.1.0 ## http servers -gevent==1.5.0 -greenlet==0.4.15 -gunicorn==19.9.0 -waitress==1.3.1 - -## debug -ipdb==0.13.2 -ipython==5.10.0 +#gevent==20.6.0 +#greenlet==0.4.16 +gunicorn==20.0.4 +waitress==1.4.4 ## test related requirements -r requirements_test.txt ## uncomment to add the debug libraries +#ipdb==0.13.2 +#ipython==7.15.0 + #-r requirements_debug.txt diff --git a/requirements_pinned.txt b/requirements_pinned.txt --- a/requirements_pinned.txt +++ b/requirements_pinned.txt @@ -3,19 +3,17 @@ atomicwrites==1.4.0 attrs==19.3.0 contextlib2==0.6.0.post1 -cffi==1.12.3 +cffi==1.14.0 hupper==1.10.2 -importlib-metadata==1.6.0 -packaging==20.3 +importlib-metadata==1.6.1 +packaging==20.4 pathlib2==2.3.5 -pygments==2.4.2 +pygments==2.6.1 pyparsing==2.4.7 psutil==5.7.0 pluggy==0.13.1 scandir==1.10.0 setproctitle==1.1.10 venusian==1.2.0 -wcwidth==0.1.9 - -# ptyprocess backport, pypi version doesn't support egg/source installs on python 2.X -https://code.rhodecode.com/upstream/ptyprocess/artifacts/download/0-c8b019b1-c4d3-46ac-a0ad-1206ec3fb3cb.tar.gz?sha256=50394f2c5e117fcab4360bf99c8bc40be7211ee1a5860aeb3809b44249550c3e#egg=ptyprocess==0.6.0 +wcwidth==0.2.4 +toml==0.10.1 diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -77,7 +77,7 @@ test_requirements = _get_requirements( def get_version(): version = pkgutil.get_data('vcsserver', 'VERSION') - return str(version.strip()) + return version.decode().strip() # additional files that goes into package itself @@ -88,8 +88,7 @@ package_data = { } description = 'Version Control System Server' -keywords = ' '.join([ - 'CLI', 'RhodeCode', 'RhodeCode Enterprise', 'RhodeCode Tools']) +keywords = ' '.join(['Version Control System']) # README/DESCRIPTION generation readme_file = 'README.rst' diff --git a/shell.nix b/shell.nix --- a/shell.nix +++ b/shell.nix @@ -2,45 +2,42 @@ # environment. { pkgs ? (import {}) -, pythonPackages ? "python27Packages" +, pythonPackages ? "python37Packages" , doCheck ? false }: let - vcsserver = import ./default.nix { + # Full runtime environment without the actual Python package + env = import ./default.nix { inherit doCheck; + pythonExternalOverrides = self: super: { + rhodecode-vcsserver = null; + }; }; - vcs-pythonPackages = vcsserver.pythonPackages; - -in vcsserver.override (attrs: rec { - # Avoid that we dump any sources into the store when entering the shell and - # make development a little bit more convenient. - src = null; - - # Add dependencies which are useful for the development environment. - buildInputs = - attrs.buildInputs ++ - (with vcs-pythonPackages; [ - ipdb - ]); + # The python package with full runtime environment as dependency for nix-shell + package = (import ./default.nix { + inherit + doCheck; + pythonExternalOverrides = self: super: { + rhodecode-vcsserver = super.rhodecode-vcsserver.overridePythonAttrs(attrs: { + nativeBuildInputs = with self; + attrs.nativeBuildInputs ++ + attrs.buildInputs ++ + attrs.propagatedBuildInputs ++ [ + env + pytest + ipdb + ipython + ]; + }); + }; + }).passthru.pythonPackages.rhodecode-vcsserver; - # place to inject some required libs from develop installs - propagatedBuildInputs = - attrs.propagatedBuildInputs ++ - []; - - # Make sure we execute both hooks - shellHook = '' - runHook preShellHook - runHook postShellHook - ''; - - preShellHook = '' - echo "Entering vcsserver-shell" - +in package.overridePythonAttrs(attrs: { + postShellHook= '' # Custom prompt to distinguish from other dev envs. export PS1="\n\[\033[1;32m\][vcsserver-shell:\w]$\[\033[0m\] " @@ -48,19 +45,6 @@ in vcsserver.override (attrs: rec { export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive" export LC_ALL="en_US.UTF-8" - # Setup a temporary directory. - tmp_path=$(mktemp -d) - export PATH="${pkgs.subversion}/bin:${pkgs.git}/bin:${vcs-pythonPackages.mercurial}/bin:$tmp_path/bin:$PATH" - export PYTHONPATH="$tmp_path/${vcs-pythonPackages.python.sitePackages}:$PYTHONPATH" - mkdir -p $tmp_path/${vcs-pythonPackages.python.sitePackages} - - # Develop installation - echo "[BEGIN]: develop install of rhodecode-vcsserver" - python setup.py develop --prefix $tmp_path --allow-hosts "" - ''; - - postShellHook = '' - ''; })