# HG changeset patch # User Marcin Kuzminski # Date 2018-06-28 09:54:03 # Node ID c4583ce6fca24348987d438a1ffe0dfc9456826e # Parent c76a5a73139d75a450694a71c1e4adf038c44d35 nix: updated to 18.03 packages. - new nix structure - adjusted build problems - new generated python-packages.nix - drop setuptools - release.nix update diff --git a/default.nix b/default.nix --- a/default.nix +++ b/default.nix @@ -4,163 +4,168 @@ # derivation. For advanced tweaks to pimp up the development environment we use # "shell.nix" so that it does not have to clutter this file. -{ pkgs ? (import {}) -, pythonPackages ? "python27Packages" +args@ +{ pythonPackages ? "python27Packages" , pythonExternalOverrides ? self: super: {} -, doCheck ? true +, doCheck ? false +, ... }: -let pkgs_ = pkgs; in +let pkgs_ = (import {}); in let - pkgs = pkgs_.overridePackages (self: super: { - # bump GIT version - git = pkgs.lib.overrideDerivation pkgs_.git (oldAttrs: { - name = "git-2.16.4"; - src = pkgs.fetchurl { - url = "https://www.kernel.org/pub/software/scm/git/git-2.16.4.tar.xz"; - sha256 = "0cnmidjvbdf81mybcvxvl0c2r2x2nvq2jj2dl59dmrc7qklv0sbf"; - }; - - patches = [ - ./pkgs/git_patches/docbook2texi.patch - ./pkgs/git_patches/symlinks-in-bin.patch - ./pkgs/git_patches/git-sh-i18n.patch - ./pkgs/git_patches/ssh-path.patch - ]; - - }); - # Override subversion derivation to - # - activate python bindings - subversion = let - subversionWithPython = super.subversion.override { - httpSupport = true; - pythonBindings = true; - python = self.python27Packages.python; - }; - - in + # TODO: Currently we ignore the passed in pkgs, instead we should use it + # somehow as a base and apply overlays to it. + pkgs = import { + overlays = [ + (import ./pkgs/overlays.nix) + ]; + inherit (pkgs_) + system; + }; - pkgs.lib.overrideDerivation subversionWithPython (oldAttrs: { - name = "subversion-1.9.7"; - src = pkgs.fetchurl { - url = "https://www.apache.org/dist/subversion/subversion-1.9.7.tar.gz"; - sha256 = "0g3cs2h008z8ymgkhbk54jp87bjh7y049rn42igj881yi2f20an7"; - }; - - }); - - }); + # Works with the new python-packages, still can fallback to the old + # variant. + basePythonPackagesUnfix = basePythonPackages.__unfix__ or ( + self: basePythonPackages.override (a: { inherit self; })); - inherit (pkgs.lib) fix extends; - basePythonPackages = with builtins; if isAttrs pythonPackages - then pythonPackages - else getAttr pythonPackages pkgs; + # Evaluates to the last segment of a file system path. + basename = path: with pkgs.lib; last (splitString "/" path); - elem = builtins.elem; - basename = path: with pkgs.lib; last (splitString "/" path); - startsWith = prefix: full: let - actualPrefix = builtins.substring 0 (builtins.stringLength prefix) full; - in actualPrefix == prefix; - + # source code filter used as arugment to builtins.filterSource. src-filter = path: type: with pkgs.lib; let ext = last (splitString "." path); in - !elem (basename path) [".hg" ".git" "__pycache__" ".eggs" - "node_modules" "build" "data" "tmp"] && - !elem ext ["egg-info" "pyc"] && - !startsWith "result" path; + !builtins.elem (basename path) [ + ".git" ".hg" "__pycache__" ".eggs" ".idea" ".dev" + "bower_components" "node_modules" + "build" "data" "result" "tmp"] && + !builtins.elem ext ["egg-info" "pyc"] && + # TODO: johbo: This check is wrong, since "path" contains an absolute path, + # it would still be good to restore it since we want to ignore "result-*". + !hasPrefix "result" path; + sources = + let + inherit (pkgs.lib) all isString attrValues; + sourcesConfig = pkgs.config.rc.sources or {}; + in + # Ensure that sources are configured as strings. Using a path + # would result in a copy into the nix store. + assert all isString (attrValues sourcesConfig); + sourcesConfig; + + version = builtins.readFile "${rhodecode-vcsserver-src}/vcsserver/VERSION"; rhodecode-vcsserver-src = builtins.filterSource src-filter ./.; - pythonGeneratedPackages = self: basePythonPackages.override (a: { - inherit self; - }) // (scopedImport { - self = self; - super = basePythonPackages; - inherit pkgs; - inherit (pkgs) fetchurl fetchgit; - } ./pkgs/python-packages.nix); - - pythonOverrides = import ./pkgs/python-packages-overrides.nix { - inherit basePythonPackages pkgs; - }; - - version = builtins.readFile ./vcsserver/VERSION; - pythonLocalOverrides = self: super: { - rhodecode-vcsserver = super.rhodecode-vcsserver.override (attrs: { - inherit doCheck version; + rhodecode-vcsserver = + let + releaseName = "RhodeCodeVCSServer-${version}"; + in super.rhodecode-vcsserver.override (attrs: { + inherit + doCheck + version; name = "rhodecode-vcsserver-${version}"; - releaseName = "RhodeCodeVCSServer-${version}"; + releaseName = releaseName; src = rhodecode-vcsserver-src; dontStrip = true; # prevent strip, we don't need it. - propagatedBuildInputs = attrs.propagatedBuildInputs ++ ([ - pkgs.git - pkgs.subversion - ]); - - # TODO: johbo: Make a nicer way to expose the parts. Maybe - # pkgs/default.nix? + # expose following attributed outside passthru = { pythonPackages = self; }; - # Add VCSServer bin directory to path so that tests can find 'vcsserver'. + propagatedBuildInputs = + attrs.propagatedBuildInputs or [] ++ [ + pkgs.git + pkgs.subversion + ]; + + # Add bin directory to path so that tests can find 'vcsserver'. preCheck = '' export PATH="$out/bin:$PATH" ''; - # put custom attrs here + # custom check phase for testing checkPhase = '' runHook preCheck - PYTHONHASHSEED=random py.test -p no:sugar -vv --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 ''; + postCheck = '' + echo "Cleanup of vcsserver/tests" + rm -rf $out/lib/${self.python.libPrefix}/site-packages/vcsserver/tests + ''; + postInstall = '' - echo "Writing meta information for rccontrol to nix-support/rccontrol" + echo "Writing vcsserver meta information for rccontrol to nix-support/rccontrol" mkdir -p $out/nix-support/rccontrol cp -v vcsserver/VERSION $out/nix-support/rccontrol/version - echo "DONE: Meta information for rccontrol written" + echo "DONE: vcsserver meta information for rccontrol written" + + mkdir -p $out/etc + cp configs/production.ini $out/etc + echo "DONE: saved vcsserver production.ini into $out/etc" # python based programs need to be wrapped + mkdir -p $out/bin + ln -s ${self.python}/bin/python $out/bin ln -s ${self.pyramid}/bin/* $out/bin/ ln -s ${self.gunicorn}/bin/gunicorn $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. - ln -s ${self.python}/bin/python $out/bin + 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" for file in $out/bin/*; do wrapProgram $file \ - --set PATH $PATH \ - --set PYTHONPATH $PYTHONPATH \ + --prefix PATH : $PATH \ + --prefix PYTHONPATH : $PYTHONPATH \ --set PYTHONHASHSEED random done + echo "DONE: vcsserver binary wrapping" ''; }); }; + basePythonPackages = with builtins; + if isAttrs pythonPackages then + pythonPackages + else + getAttr pythonPackages pkgs; + + pythonGeneratedPackages = import ./pkgs/python-packages.nix { + inherit pkgs; + inherit (pkgs) fetchurl fetchgit fetchhg; + }; + + pythonVCSServerOverrides = import ./pkgs/python-packages-overrides.nix { + inherit pkgs basePythonPackages; + }; + + # Apply all overrides and fix the final package set - myPythonPackages = - (fix + myPythonPackagesUnfix = with pkgs.lib; (extends pythonExternalOverrides (extends pythonLocalOverrides - (extends pythonOverrides - pythonGeneratedPackages)))); + (extends pythonVCSServerOverrides + (extends pythonGeneratedPackages + basePythonPackagesUnfix)))); + + myPythonPackages = (pkgs.lib.fix myPythonPackagesUnfix); in myPythonPackages.rhodecode-vcsserver diff --git a/pkgs/README.rst b/pkgs/README.rst new file mode 100644 --- /dev/null +++ b/pkgs/README.rst @@ -0,0 +1,28 @@ + +============================== + Generate the Nix expressions +============================== + +Details can be found in the repository of `RhodeCode Enterprise CE`_ inside of +the file `docs/contributing/dependencies.rst`. + +Start the environment as follows: + +.. code:: shell + + nix-shell pkgs/shell-generate.nix + + +Python dependencies +=================== + +.. code:: shell + + pip2nix generate --licenses + # or faster + nix-shell pkgs/shell-generate.nix --command "pip2nix generate --licenses" + + +.. Links + +.. _RhodeCode Enterprise CE: https://code.rhodecode.com/rhodecode-enterprise-ce diff --git a/pkgs/nix-common/pip2nix.nix b/pkgs/nix-common/pip2nix.nix new file mode 100755 --- /dev/null +++ b/pkgs/nix-common/pip2nix.nix @@ -0,0 +1,17 @@ +{ pkgs +, pythonPackages +}: + +rec { + pip2nix-src = pkgs.fetchzip { + url = https://github.com/johbo/pip2nix/archive/51e6fdae34d0e8ded9efeef7a8601730249687a6.tar.gz; + sha256 = "02a4jjgi7lsvf8mhrxsd56s9a3yg20081rl9bgc2m84w60v2gbz2"; + }; + + pip2nix = import pip2nix-src { + inherit + pkgs + pythonPackages; + }; + +} diff --git a/pkgs/overlays.nix b/pkgs/overlays.nix new file mode 100755 --- /dev/null +++ b/pkgs/overlays.nix @@ -0,0 +1,37 @@ +self: super: { + # bump GIT version + git = super.lib.overrideDerivation super.git (oldAttrs: { + name = "git-2.16.4"; + src = self.fetchurl { + url = "https://www.kernel.org/pub/software/scm/git/git-2.16.4.tar.xz"; + sha256 = "0cnmidjvbdf81mybcvxvl0c2r2x2nvq2jj2dl59dmrc7qklv0sbf"; + }; + + patches = [ + ./git_patches/docbook2texi.patch + ./git_patches/symlinks-in-bin.patch + ./git_patches/git-sh-i18n.patch + ./git_patches/ssh-path.patch + ]; + + }); + + # Override subversion derivation to + # - activate python bindings + subversion = + let + subversionWithPython = super.subversion.override { + httpSupport = true; + pythonBindings = true; + python = self.python27Packages.python; + }; + in + super.lib.overrideDerivation subversionWithPython (oldAttrs: { + name = "subversion-1.9.7"; + src = self.fetchurl { + url = "https://www.apache.org/dist/subversion/subversion-1.9.7.tar.gz"; + sha256 = "0g3cs2h008z8ymgkhbk54jp87bjh7y049rn42igj881yi2f20an7"; + }; + }); + +} diff --git a/pkgs/patch-beaker-lock-func-debug.diff b/pkgs/patch_beaker/patch-beaker-lock-func-debug.diff rename from pkgs/patch-beaker-lock-func-debug.diff rename to pkgs/patch_beaker/patch-beaker-lock-func-debug.diff diff --git a/pkgs/patch-beaker-metadata-reuse.diff b/pkgs/patch_beaker/patch-beaker-metadata-reuse.diff rename from pkgs/patch-beaker-metadata-reuse.diff rename to pkgs/patch_beaker/patch-beaker-metadata-reuse.diff 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 @@ -4,58 +4,49 @@ # python-packages.nix. The main objective is to add needed dependencies of C # libraries and tweak the build instructions where needed. -{ pkgs, basePythonPackages }: +{ pkgs +, basePythonPackages +}: let sed = "sed -i"; + in self: super: { - beaker = super.beaker.override (attrs: { + "beaker" = super."beaker".override (attrs: { patches = [ - ./patch-beaker-lock-func-debug.diff - ./patch-beaker-metadata-reuse.diff + ./patch_beaker/patch-beaker-lock-func-debug.diff + ./patch_beaker/patch-beaker-metadata-reuse.diff ]; }); - subvertpy = super.subvertpy.override (attrs: { - # TODO: johbo: Remove the "or" once we drop 16.03 support - SVN_PREFIX = "${pkgs.subversion.dev or pkgs.subversion}"; + "hgsubversion" = super."hgsubversion".override (attrs: { propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ + pkgs.sqlite + #basePythonPackages.sqlite3 + self.mercurial + ]; + }); + + "subvertpy" = super."subvertpy".override (attrs: { + SVN_PREFIX = "${pkgs.subversion.dev}"; + propagatedBuildInputs = [ + pkgs.apr.dev pkgs.aprutil pkgs.subversion ]; - preBuild = pkgs.lib.optionalString pkgs.stdenv.isDarwin '' - ${sed} -e "s/'gcc'/'clang'/" setup.py - ''; }); - hgsubversion = super.hgsubversion.override (attrs: { - propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ - pkgs.sqlite - basePythonPackages.sqlite3 + "mercurial" = super."mercurial".override (attrs: { + propagatedBuildInputs = [ + # self.python.modules.curses ]; }); - mercurial = super.mercurial.override (attrs: { - propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ - self.python.modules.curses - ] ++ pkgs.lib.optional pkgs.stdenv.isDarwin - pkgs.darwin.apple_sdk.frameworks.ApplicationServices; - }); - - pyramid = super.pyramid.override (attrs: { - postFixup = '' - wrapPythonPrograms - # TODO: johbo: "wrapPython" adds this magic line which - # confuses pserve. - ${sed} '/import sys; sys.argv/d' $out/bin/.pserve-wrapped - ''; - }); - - # Avoid that setuptools is replaced, this leads to trouble - # with buildPythonPackage. - setuptools = basePythonPackages.setuptools; + # 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 @@ -1,873 +1,915 @@ -# Generated by pip2nix 0.4.0 +# Generated by pip2nix 0.8.0.dev1 # See https://github.com/johbo/pip2nix -{ - atomicwrites = super.buildPythonPackage { +{ pkgs, fetchurl, fetchgit, fetchhg }: + +self: super: { + "atomicwrites" = super.buildPythonPackage { name = "atomicwrites-1.1.5"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/a1/e1/2d9bc76838e6e6667fde5814aa25d7feb93d6fa471bf6816daac2596e8b2/atomicwrites-1.1.5.tar.gz"; - sha256 = "240831ea22da9ab882b551b31d4225591e5e447a68c5e188db5b89ca1d487585"; + sha256 = "11bm90fwm2avvf4f3ib8g925w7jr4m11vcsinn1bi6ns4bm32214"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - attrs = super.buildPythonPackage { + "attrs" = super.buildPythonPackage { name = "attrs-18.1.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/e4/ac/a04671e118b57bee87dabca1e0f2d3bda816b7a551036012d0ca24190e71/attrs-18.1.0.tar.gz"; - sha256 = "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b"; + sha256 = "0yzqz8wv3w1srav5683a55v49i0szkm47dyrnkd56fqs8j8ypl70"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - backports.shutil-get-terminal-size = super.buildPythonPackage { + "backports.shutil-get-terminal-size" = super.buildPythonPackage { name = "backports.shutil-get-terminal-size-1.0.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz"; - sha256 = "713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80"; + sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - beaker = super.buildPythonPackage { + "beaker" = super.buildPythonPackage { name = "beaker-1.9.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [funcsigs]; + propagatedBuildInputs = [ + self."funcsigs" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz"; - sha256 = "32276ed686ab7203baf60520452903e35d1c3515f632683ea4a5881c8cd55921"; + sha256 = "08arsn61r255lhz6hcpn2lsiqpg30clla805ysx06wmbhvb6w9rj"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - beautifulsoup4 = super.buildPythonPackage { + "beautifulsoup4" = super.buildPythonPackage { name = "beautifulsoup4-4.6.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/fa/8d/1d14391fdaed5abada4e0f63543fef49b8331a34ca60c88bd521bcf7f782/beautifulsoup4-4.6.0.tar.gz"; - sha256 = "808b6ac932dccb0a4126558f7dfdcf41710dd44a4ef497a0bb59a77f9f078e89"; + sha256 = "12cf0ygpz9srpfh9gx2f9ba0swa1rzypv3sm4r0hmjyw6b4nm2w0"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - configobj = super.buildPythonPackage { + "configobj" = super.buildPythonPackage { name = "configobj-5.0.6"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [six]; + propagatedBuildInputs = [ + self."six" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz"; - sha256 = "a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902"; + sha256 = "00h9rcmws03xvdlfni11yb60bz3kxfvsj6dg6nrpzj71f03nbxd2"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - cov-core = super.buildPythonPackage { + "cov-core" = super.buildPythonPackage { name = "cov-core-1.15.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [coverage]; + propagatedBuildInputs = [ + self."coverage" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz"; - sha256 = "4a14c67d520fda9d42b0da6134638578caae1d374b9bb462d8de00587dba764c"; + sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - coverage = super.buildPythonPackage { + "coverage" = super.buildPythonPackage { name = "coverage-3.7.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz"; - sha256 = "d1aea1c4aa61b8366d6a42dd3650622fbf9c634ed24eaf7f379c8b970e5ed44e"; + sha256 = "0knlbq79g2ww6xzsyknj9rirrgrgc983dpa2d9nkdf31mb2a3bni"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - decorator = super.buildPythonPackage { + "decorator" = super.buildPythonPackage { name = "decorator-4.1.2"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz"; - sha256 = "7cb64d38cb8002971710c8899fbdfb859a23a364b7c99dab19d1f719c2ba16b5"; + sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ]; }; }; - dulwich = super.buildPythonPackage { + "dulwich" = super.buildPythonPackage { name = "dulwich-0.13.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/84/95/732d280eee829dacc954e8109f97b47abcadcca472c2ab013e1635eb4792/dulwich-0.13.0.tar.gz"; - sha256 = "8ed35334e22cf93e7dcfd5113d8e262041967fe4c3cead5e262c9102f3e63238"; + sha256 = "0f1jwvrh549c4rgavkn3wizrch904s73s4fmrxykxy9cw8s57lwf"; }; meta = { license = [ pkgs.lib.licenses.gpl2Plus ]; }; }; - enum34 = super.buildPythonPackage { + "enum34" = super.buildPythonPackage { name = "enum34-1.1.6"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; - sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"; + sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - funcsigs = super.buildPythonPackage { + "funcsigs" = super.buildPythonPackage { name = "funcsigs-1.0.2"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz"; - sha256 = "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"; + sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7"; }; meta = { license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ]; }; }; - gevent = super.buildPythonPackage { + "gevent" = super.buildPythonPackage { name = "gevent-1.2.2"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [greenlet]; + propagatedBuildInputs = [ + self."greenlet" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; - sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; + sha256 = "0bbbjvi423y9k9xagrcsimnayaqymg6f2dj76m9z3mjpkjpci4a7"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - gprof2dot = super.buildPythonPackage { + "gprof2dot" = super.buildPythonPackage { name = "gprof2dot-2017.9.19"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz"; - sha256 = "cebc7aa2782fd813ead415ea1fae3409524343485eadc7fb60ef5bd1e810309e"; + sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f"; }; meta = { license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ]; }; }; - greenlet = super.buildPythonPackage { + "greenlet" = super.buildPythonPackage { name = "greenlet-0.4.13"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/13/de/ba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb/greenlet-0.4.13.tar.gz"; - sha256 = "0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4"; + sha256 = "1r412gfx25jrdiv444prmz5a8igrfabwnwqyr6b52ypq7ga87vqg"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - gunicorn = super.buildPythonPackage { + "gunicorn" = super.buildPythonPackage { name = "gunicorn-19.7.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/30/3a/10bb213cede0cc4d13ac2263316c872a64bf4c819000c8ccd801f1d5f822/gunicorn-19.7.1.tar.gz"; - sha256 = "eee1169f0ca667be05db3351a0960765620dad53f53434262ff8901b68a1b622"; + sha256 = "08mnl5l1p47q5wk38d7mafnhsqk50yba0l9kvc2vwrx61jgidqgf"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - hg-evolve = super.buildPythonPackage { + "hg-evolve" = super.buildPythonPackage { name = "hg-evolve-8.0.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/06/1a/c5c12d8f117426f05285a820ee5a23121882f5381104e86276b72598934f/hg-evolve-8.0.1.tar.gz"; - sha256 = "49dc14fe7322b3ded107a96e47c1f0a75a19472d4b6b7ce80b670ab25c742aaf"; + sha256 = "1brafifb42k71gl7qssb5m3ijnm7y30lfvm90z8xxcr2fgz19p29"; }; meta = { license = [ { fullName = "GPLv2+"; } ]; }; }; - hgsubversion = super.buildPythonPackage { + "hgsubversion" = super.buildPythonPackage { name = "hgsubversion-1.9.2"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [mercurial subvertpy]; + propagatedBuildInputs = [ + self."mercurial" + self."subvertpy" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/05/80/3a3cef10dd65e86528ef8d7ac57a41ebc782d0f3c6cfa4fed021aa9fbee0/hgsubversion-1.9.2.tar.gz"; - sha256 = "9fed1e68411130b0447d0bbd217183830f5f1eaaaa0d5aa7de24609895058998"; + sha256 = "16490narhq14vskml3dam8g5y3w3hdqj3g8bgm2b0c0i85l1xvcz"; }; meta = { license = [ pkgs.lib.licenses.gpl1 ]; }; }; - hupper = super.buildPythonPackage { + "hupper" = super.buildPythonPackage { name = "hupper-1.3"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/51/0c/96335b1f2f32245fb871eea5bb9773196505ddb71fad15190056a282df9e/hupper-1.3.tar.gz"; - sha256 = "20387760e4d32bd4813c2cabc8e51d92b2c22c546102a0af182c33c152cd7ede"; + sha256 = "1pkyrm9c2crc32ps00k1ahnc5clj3pjwiarc7j0x8aykwih7ff10"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - infrae.cache = super.buildPythonPackage { + "infrae.cache" = super.buildPythonPackage { name = "infrae.cache-1.0.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [beaker repoze.lru]; + propagatedBuildInputs = [ + self."beaker" + self."repoze.lru" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz"; - sha256 = "844b1baa0ab7613159c7e2ee368a5ec4d574e409ff86963e1f45f08dacd478b7"; + sha256 = "1dvqsjn8vw253wz9d1pz17j79mf4bs53dvp2qxck2qdp1am1njw4"; }; meta = { - license = [ pkgs.lib.licenses.zpt21 ]; + license = [ pkgs.lib.licenses.zpl21 ]; }; }; - ipdb = super.buildPythonPackage { + "ipdb" = super.buildPythonPackage { name = "ipdb-0.11"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [setuptools ipython]; + propagatedBuildInputs = [ + self."setuptools" + self."ipython" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/80/fe/4564de08f174f3846364b3add8426d14cebee228f741c27e702b2877e85b/ipdb-0.11.tar.gz"; - sha256 = "7081c65ed7bfe7737f83fa4213ca8afd9617b42ff6b3f1daf9a3419839a2a00a"; + sha256 = "02m0l8wrhhd3z7dg3czn5ys1g5pxib516hpshdzp7rxzsxgcd0bh"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - ipython = super.buildPythonPackage { + "ipython" = super.buildPythonPackage { name = "ipython-5.1.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit pygments pexpect backports.shutil-get-terminal-size pathlib2 pexpect]; + propagatedBuildInputs = [ + self."setuptools" + self."decorator" + self."pickleshare" + self."simplegeneric" + self."traitlets" + self."prompt-toolkit" + self."pygments" + self."pexpect" + self."backports.shutil-get-terminal-size" + self."pathlib2" + self."pexpect" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz"; - sha256 = "7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961"; + sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - ipython-genutils = super.buildPythonPackage { + "ipython-genutils" = super.buildPythonPackage { name = "ipython-genutils-0.2.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz"; - sha256 = "eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"; + sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - mako = super.buildPythonPackage { + "mako" = super.buildPythonPackage { name = "mako-1.0.7"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [markupsafe]; + propagatedBuildInputs = [ + self."markupsafe" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz"; - sha256 = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae"; + sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - markupsafe = super.buildPythonPackage { + "markupsafe" = super.buildPythonPackage { name = "markupsafe-1.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; - sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"; + sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - mercurial = super.buildPythonPackage { + "mercurial" = super.buildPythonPackage { name = "mercurial-4.6.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/12/e7/46894628ed3d6b0ae1e324523b09fdb8a90f0720bebe43cab88e0ea91b39/mercurial-4.6.1.tar.gz"; - sha256 = "89fa8ecbc8aa6e48e98f9803a1683ba91367124295dba2407b28c34ca621108d"; + sha256 = "138h46k4rhr8gd0a5nwm8896f4x97dla20wqizllhvmar35qxyl9"; }; meta = { license = [ pkgs.lib.licenses.gpl1 pkgs.lib.licenses.gpl2Plus ]; }; }; - mock = super.buildPythonPackage { + "mock" = super.buildPythonPackage { name = "mock-1.0.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz"; - sha256 = "b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f"; + sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - more-itertools = super.buildPythonPackage { + "more-itertools" = super.buildPythonPackage { name = "more-itertools-4.2.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [six]; + propagatedBuildInputs = [ + self."six" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/c0/2f/6773347277d76c5ade4414a6c3f785ef27e7f5c4b0870ec7e888e66a8d83/more-itertools-4.2.0.tar.gz"; - sha256 = "2b6b9893337bfd9166bee6a62c2b0c9fe7735dcf85948b387ec8cba30e85d8e8"; + sha256 = "1s6qhl7a7jy8gqw8p545rxfp7rwz1hmjr9p6prk93zbv6f9rhsrb"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - msgpack-python = super.buildPythonPackage { + "msgpack-python" = super.buildPythonPackage { name = "msgpack-python-0.4.8"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0/msgpack-python-0.4.8.tar.gz"; - sha256 = "1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886"; + sha256 = "11pqk5braa6wndpnr1dhg64js82vjgxnm0lzy73rwl831zgijaqs"; }; meta = { license = [ pkgs.lib.licenses.asl20 ]; }; }; - pastedeploy = super.buildPythonPackage { + "pastedeploy" = super.buildPythonPackage { name = "pastedeploy-1.5.2"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz"; - sha256 = "d5858f89a255e6294e63ed46b73613c56e3b9a2d82a42f1df4d06c8421a9e3cb"; + sha256 = "1jz3m4hq8v6hyhfjz9425nd3nvn52cvbfipdcd72krjmla4qz1fm"; + }; + meta = { + license = [ pkgs.lib.licenses.mit ]; + }; + }; + "pathlib2" = super.buildPythonPackage { + name = "pathlib2-2.3.0"; + doCheck = false; + propagatedBuildInputs = [ + self."six" + self."scandir" + ]; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz"; + sha256 = "1cx5gs2v9j2vnzmcrbq5l8fq2mwrr1h6pyf1sjdji2w1bavm09fk"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - pathlib2 = super.buildPythonPackage { - name = "pathlib2-2.3.0"; - buildInputs = with self; []; + "pexpect" = super.buildPythonPackage { + name = "pexpect-4.6.0"; doCheck = false; - propagatedBuildInputs = with self; [six scandir]; + propagatedBuildInputs = [ + self."ptyprocess" + ]; src = fetchurl { - url = "https://files.pythonhosted.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz"; - sha256 = "d32550b75a818b289bd4c1f96b60c89957811da205afcceab75bc8b4857ea5b3"; + url = "https://files.pythonhosted.org/packages/89/43/07d07654ee3e25235d8cea4164cdee0ec39d1fda8e9203156ebe403ffda4/pexpect-4.6.0.tar.gz"; + sha256 = "1fla85g47iaxxpjhp9vkxdnv4pgc7rplfy6ja491smrrk0jqi3ia"; + }; + meta = { + license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ]; + }; + }; + "pickleshare" = super.buildPythonPackage { + name = "pickleshare-0.7.4"; + doCheck = false; + propagatedBuildInputs = [ + self."pathlib2" + ]; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz"; + sha256 = "0yvk14dzxk7g6qpr7iw23vzqbsr0dh4ij4xynkhnzpfz4xr2bac4"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - pexpect = super.buildPythonPackage { - name = "pexpect-4.5.0"; - buildInputs = with self; []; + "plaster" = super.buildPythonPackage { + name = "plaster-1.0"; doCheck = false; - propagatedBuildInputs = with self; [ptyprocess]; + propagatedBuildInputs = [ + self."setuptools" + ]; src = fetchurl { - url = "https://files.pythonhosted.org/packages/09/0e/75f0c093654988b8f17416afb80f7621bcf7d36bbd6afb4f823acdb4bcdc/pexpect-4.5.0.tar.gz"; - sha256 = "9f8eb3277716a01faafaba553d629d3d60a1a624c7cf45daa600d2148c30020c"; + url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz"; + sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3"; }; meta = { - license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ]; + license = [ pkgs.lib.licenses.mit ]; }; }; - pickleshare = super.buildPythonPackage { - name = "pickleshare-0.7.4"; - buildInputs = with self; []; + "plaster-pastedeploy" = super.buildPythonPackage { + name = "plaster-pastedeploy-0.5"; doCheck = false; - propagatedBuildInputs = with self; [pathlib2]; + propagatedBuildInputs = [ + self."pastedeploy" + self."plaster" + ]; src = fetchurl { - url = "https://files.pythonhosted.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz"; - sha256 = "84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b"; + url = "https://files.pythonhosted.org/packages/e7/05/cc12d9d3efaa10046b6ec5de91b16486c95de4847dc57599bf58021a3d5c/plaster_pastedeploy-0.5.tar.gz"; + sha256 = "1aavz3vbh7m9m6hfidwh6gqlrs1mrxl7k6794rm9jdik59dii8vh"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - plaster = super.buildPythonPackage { - name = "plaster-1.0"; - buildInputs = with self; []; + "pluggy" = super.buildPythonPackage { + name = "pluggy-0.6.0"; doCheck = false; - propagatedBuildInputs = with self; [setuptools]; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz"; - sha256 = "8351c7c7efdf33084c1de88dd0f422cbe7342534537b553c49b857b12d98c8c3"; - }; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; - plaster-pastedeploy = super.buildPythonPackage { - name = "plaster-pastedeploy-0.5"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; [pastedeploy plaster]; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/e7/05/cc12d9d3efaa10046b6ec5de91b16486c95de4847dc57599bf58021a3d5c/plaster_pastedeploy-0.5.tar.gz"; - sha256 = "70a3185b2a3336996a26e9987968cf35e84cf13390b7e8a0a9a91eb8f6f85ba9"; - }; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; - pluggy = super.buildPythonPackage { - name = "pluggy-0.6.0"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz"; - sha256 = "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff"; + sha256 = "1zqckndfn85l1cd8pndw212zg1bq9fkg1nnj32kp2mppppsyg2kz"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - prompt-toolkit = super.buildPythonPackage { + "prompt-toolkit" = super.buildPythonPackage { name = "prompt-toolkit-1.0.15"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [six wcwidth]; + propagatedBuildInputs = [ + self."six" + self."wcwidth" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz"; - sha256 = "858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917"; + sha256 = "05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - ptyprocess = super.buildPythonPackage { - name = "ptyprocess-0.5.2"; - buildInputs = with self; []; + "ptyprocess" = super.buildPythonPackage { + name = "ptyprocess-0.6.0"; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { - url = "https://files.pythonhosted.org/packages/51/83/5d07dc35534640b06f9d9f1a1d2bc2513fb9cc7595a1b0e28ae5477056ce/ptyprocess-0.5.2.tar.gz"; - sha256 = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365"; + url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz"; + sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj"; }; meta = { license = [ ]; }; }; - py = super.buildPythonPackage { + "py" = super.buildPythonPackage { name = "py-1.5.3"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz"; - sha256 = "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881"; + sha256 = "10gq2lckvgwlk9w6yzijhzkarx44hsaknd0ypa08wlnpjnsgmj99"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - pygments = super.buildPythonPackage { + "pygments" = super.buildPythonPackage { name = "pygments-2.2.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; - sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"; + sha256 = "1k78qdvir1yb1c634nkv6rbga8wv4289xarghmsbbvzhvr311bnv"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - pyramid = super.buildPythonPackage { + "pyramid" = super.buildPythonPackage { name = "pyramid-1.9.2"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [setuptools webob repoze.lru zope.interface zope.deprecation venusian translationstring pastedeploy plaster plaster-pastedeploy hupper]; + propagatedBuildInputs = [ + self."setuptools" + self."webob" + self."repoze.lru" + self."zope.interface" + self."zope.deprecation" + self."venusian" + self."translationstring" + self."pastedeploy" + self."plaster" + self."plaster-pastedeploy" + self."hupper" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/a0/c1/b321d07cfc4870541989ad131c86a1d593bfe802af0eca9718a0dadfb97a/pyramid-1.9.2.tar.gz"; - sha256 = "cf89a48cb899291639686bf3d4a883b39e496151fa4871fb83cc1a3200d5b925"; + sha256 = "09drsl0346nchgxp2j7sa5hlk7mkhfld9wvbd0wicacrp26a92fg"; + }; + meta = { + license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; + }; + }; + "pyramid-mako" = super.buildPythonPackage { + name = "pyramid-mako-1.0.2"; + doCheck = false; + propagatedBuildInputs = [ + self."pyramid" + self."mako" + ]; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz"; + sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d"; }; meta = { license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; }; }; - pyramid-mako = super.buildPythonPackage { - name = "pyramid-mako-1.0.2"; - buildInputs = with self; []; + "pytest" = super.buildPythonPackage { + name = "pytest-3.6.0"; doCheck = false; - propagatedBuildInputs = with self; [pyramid mako]; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz"; - sha256 = "6da0987b9874cf53e72139624665a73965bbd7fbde504d1753e4231ce916f3a1"; - }; - meta = { - license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; - }; - }; - pytest = super.buildPythonPackage { - name = "pytest-3.6.0"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; [py six setuptools attrs more-itertools atomicwrites pluggy funcsigs]; + propagatedBuildInputs = [ + self."py" + self."six" + self."setuptools" + self."attrs" + self."more-itertools" + self."atomicwrites" + self."pluggy" + self."funcsigs" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/67/6a/5bcdc22f8dbada1d2910d6e1a3a03f6b14306c78f81122890735b28be4bf/pytest-3.6.0.tar.gz"; - sha256 = "39555d023af3200d004d09e51b4dd9fdd828baa863cded3fd6ba2f29f757ae2d"; + sha256 = "0bdfazvjjbxssqzyvkb3m2x2in7xv56ipr899l00s87k7815sm9r"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - pytest-cov = super.buildPythonPackage { + "pytest-cov" = super.buildPythonPackage { name = "pytest-cov-2.5.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [pytest coverage]; + propagatedBuildInputs = [ + self."pytest" + self."coverage" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz"; - sha256 = "03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d"; + sha256 = "0bbfpwdh9k3636bxc88vz9fa7vf4akchgn513ql1vd0xy4n7bah3"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ]; }; }; - pytest-profiling = super.buildPythonPackage { + "pytest-profiling" = super.buildPythonPackage { name = "pytest-profiling-1.3.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [six pytest gprof2dot]; + propagatedBuildInputs = [ + self."six" + self."pytest" + self."gprof2dot" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz"; - sha256 = "6b86a2e547bf1a70610da6568d91ed3e785d15a12151abebdd5e885fba532523"; + sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb"; + }; + meta = { + license = [ pkgs.lib.licenses.mit ]; + }; + }; + "pytest-runner" = super.buildPythonPackage { + name = "pytest-runner-4.2"; + doCheck = false; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz"; + sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - pytest-runner = super.buildPythonPackage { - name = "pytest-runner-4.2"; - buildInputs = with self; []; + "pytest-sugar" = super.buildPythonPackage { + name = "pytest-sugar-0.9.1"; doCheck = false; - propagatedBuildInputs = with self; []; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz"; - sha256 = "d23f117be39919f00dd91bffeb4f15e031ec797501b717a245e377aee0f577be"; - }; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; - pytest-sugar = super.buildPythonPackage { - name = "pytest-sugar-0.9.1"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; [pytest termcolor]; + propagatedBuildInputs = [ + self."pytest" + self."termcolor" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz"; - sha256 = "ab8cc42faf121344a4e9b13f39a51257f26f410e416c52ea11078cdd00d98a2c"; + sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - pytest-timeout = super.buildPythonPackage { + "pytest-timeout" = super.buildPythonPackage { name = "pytest-timeout-1.2.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [pytest]; + propagatedBuildInputs = [ + self."pytest" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/be/e9/a9106b8bc87521c6813060f50f7d1fdc15665bc1bbbe71c0ffc1c571aaa2/pytest-timeout-1.2.1.tar.gz"; - sha256 = "68b7d264633d5d33ee6b14ce3a7f7d05f8fd9d2f6ae594283221ec021736b7cd"; + sha256 = "1kdp6qbh5v1168l99rba5yfzvy05gmzkmkhldgp36p9xcdjd5dv8"; }; meta = { license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ]; }; }; - repoze.lru = super.buildPythonPackage { + "repoze.lru" = super.buildPythonPackage { name = "repoze.lru-0.7"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz"; - sha256 = "0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77"; + sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84"; }; meta = { license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; }; }; - rhodecode-vcsserver = super.buildPythonPackage { + "rhodecode-vcsserver" = super.buildPythonPackage { name = "rhodecode-vcsserver-4.13.0"; - buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-profiling gprof2dot pytest-timeout mock webtest cov-core coverage configobj]; + buildInputs = [ + self."pytest" + self."py" + self."pytest-cov" + self."pytest-sugar" + self."pytest-runner" + self."pytest-profiling" + self."gprof2dot" + self."pytest-timeout" + self."mock" + self."webtest" + self."cov-core" + self."coverage" + self."configobj" + ]; doCheck = true; - propagatedBuildInputs = with self; [beaker configobj decorator dulwich hgsubversion hg-evolve infrae.cache mako markupsafe mercurial msgpack-python pastedeploy pyramid pyramid-mako pygments pathlib2 repoze.lru simplejson subprocess32 subvertpy six translationstring webob zope.deprecation zope.interface gevent greenlet gunicorn waitress ipdb ipython pytest py pytest-cov pytest-sugar pytest-runner pytest-profiling gprof2dot pytest-timeout mock webtest cov-core coverage]; + propagatedBuildInputs = [ + self."beaker" + self."configobj" + self."decorator" + self."dulwich" + self."hgsubversion" + self."hg-evolve" + self."infrae.cache" + self."mako" + self."markupsafe" + self."mercurial" + self."msgpack-python" + self."pastedeploy" + self."pyramid" + self."pyramid-mako" + self."pygments" + self."pathlib2" + self."repoze.lru" + self."simplejson" + self."subprocess32" + self."subvertpy" + self."six" + self."translationstring" + self."webob" + self."zope.deprecation" + self."zope.interface" + self."gevent" + self."greenlet" + self."gunicorn" + self."waitress" + self."ipdb" + self."ipython" + self."pytest" + self."py" + self."pytest-cov" + self."pytest-sugar" + self."pytest-runner" + self."pytest-profiling" + self."gprof2dot" + self."pytest-timeout" + self."mock" + self."webtest" + self."cov-core" + self."coverage" + ]; src = ./.; meta = { license = [ { fullName = "GPL V3"; } { fullName = "GNU General Public License v3 or later (GPLv3+)"; } ]; }; }; - scandir = super.buildPythonPackage { + "scandir" = super.buildPythonPackage { name = "scandir-1.7"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/13/bb/e541b74230bbf7a20a3949a2ee6631be299378a784f5445aa5d0047c192b/scandir-1.7.tar.gz"; - sha256 = "b2d55be869c4f716084a19b1e16932f0769711316ba62de941320bf2be84763d"; + sha256 = "0gbnhjzg42rj87ljv9kb648rfxph69ly3c8r9841dxy4d7l5pmdj"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ]; }; }; - setuptools = super.buildPythonPackage { - name = "setuptools-39.2.0"; - buildInputs = with self; []; + "simplegeneric" = super.buildPythonPackage { + name = "simplegeneric-0.8.1"; + doCheck = false; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip"; + sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw"; + }; + meta = { + license = [ pkgs.lib.licenses.zpl21 ]; + }; + }; + "simplejson" = super.buildPythonPackage { + name = "simplejson-3.11.1"; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { - url = "https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a2854de729fa68da9d5c6b48fa00/setuptools-39.2.0.zip"; - sha256 = "f7cddbb5f5c640311eb00eab6e849f7701fa70bf6a183fc8a2c33dd1d1672fb2"; + url = "https://files.pythonhosted.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz"; + sha256 = "1rr58dppsq73p0qcd9bsw066cdd3v63sqv7j6sqni8frvm4jv8h1"; + }; + meta = { + license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ]; + }; + }; + "six" = super.buildPythonPackage { + name = "six-1.11.0"; + doCheck = false; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; + sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - simplegeneric = super.buildPythonPackage { - name = "simplegeneric-0.8.1"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; []; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip"; - sha256 = "dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173"; - }; - meta = { - license = [ pkgs.lib.licenses.zpt21 ]; - }; - }; - simplejson = super.buildPythonPackage { - name = "simplejson-3.11.1"; - buildInputs = with self; []; + "subprocess32" = super.buildPythonPackage { + name = "subprocess32-3.5.1"; doCheck = false; - propagatedBuildInputs = with self; []; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz"; - sha256 = "01a22d49ddd9a168b136f26cac87d9a335660ce07aa5c630b8e3607d6f4325e7"; - }; - meta = { - license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ]; - }; - }; - six = super.buildPythonPackage { - name = "six-1.11.0"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; []; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; - sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; - }; - meta = { - license = [ pkgs.lib.licenses.mit ]; - }; - }; - subprocess32 = super.buildPythonPackage { - name = "subprocess32-3.5.1"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/de/fb/fd3e91507021e2aecdb081d1b920082628d6b8869ead845e3e87b3d2e2ca/subprocess32-3.5.1.tar.gz"; - sha256 = "18ece9f877eca0c2521ed99a40a3a14af230c71f006d00cd0b2d6a6ddd1af171"; + sha256 = "0wgi3bfnssid1g6h0v803z3k1wjal6il16nr3r9c587cfzwfkv0q"; }; meta = { license = [ pkgs.lib.licenses.psfl ]; }; }; - subvertpy = super.buildPythonPackage { + "subvertpy" = super.buildPythonPackage { name = "subvertpy-0.10.1"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/9d/76/99fa82affce75f5ac0f7dbe513796c3f37311ace0c68e1b063683b4f9b99/subvertpy-0.10.1.tar.gz"; - sha256 = "322e7f3fba1c7e680931e11eefb5f6cf77307dcb6cab23caf67f7cc993673618"; + sha256 = "061ncy9wjz3zyv527avcrdyk0xygyssyy7p1644nhzhwp8zpybij"; }; meta = { license = [ pkgs.lib.licenses.lgpl21Plus pkgs.lib.licenses.gpl2Plus ]; }; }; - termcolor = super.buildPythonPackage { + "termcolor" = super.buildPythonPackage { name = "termcolor-1.1.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz"; - sha256 = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"; + sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - traitlets = super.buildPythonPackage { + "traitlets" = super.buildPythonPackage { name = "traitlets-4.3.2"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; [ipython-genutils six decorator enum34]; + propagatedBuildInputs = [ + self."ipython-genutils" + self."six" + self."decorator" + self."enum34" + ]; src = fetchurl { url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz"; - sha256 = "9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835"; + sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww"; }; meta = { license = [ pkgs.lib.licenses.bsdOriginal ]; }; }; - translationstring = super.buildPythonPackage { + "translationstring" = super.buildPythonPackage { name = "translationstring-1.3"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz"; - sha256 = "4ee44cfa58c52ade8910ea0ebc3d2d84bdcad9fa0422405b1801ec9b9a65b72d"; + sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f"; }; meta = { license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ]; }; }; - venusian = super.buildPythonPackage { + "venusian" = super.buildPythonPackage { name = "venusian-1.1.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz"; - sha256 = "9902e492c71a89a241a18b2f9950bea7e41d025cc8f3af1ea8d8201346f8577d"; + sha256 = "0zapz131686qm0gazwy8bh11vr57pr89jbwbl50s528sqy9f80lr"; }; meta = { license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; }; }; - waitress = super.buildPythonPackage { + "waitress" = super.buildPythonPackage { name = "waitress-1.1.0"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz"; - sha256 = "d33cd3d62426c0f1b3cd84ee3d65779c7003aae3fc060dee60524d10a57f05a9"; + sha256 = "1a85gyji0kajc3p0s1pwwfm06w4wfxjkvvl4rnrz3h164kbd6g6k"; }; meta = { - license = [ pkgs.lib.licenses.zpt21 ]; + license = [ pkgs.lib.licenses.zpl21 ]; }; }; - wcwidth = super.buildPythonPackage { + "wcwidth" = super.buildPythonPackage { name = "wcwidth-0.1.7"; - buildInputs = with self; []; doCheck = false; - propagatedBuildInputs = with self; []; src = fetchurl { url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz"; - sha256 = "3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e"; + sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx"; + }; + meta = { + license = [ pkgs.lib.licenses.mit ]; + }; + }; + "webob" = super.buildPythonPackage { + name = "webob-1.7.4"; + doCheck = false; + src = fetchurl { + url = "https://files.pythonhosted.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz"; + sha256 = "1na01ljg04z40il7vcrn8g29vaw7nvg1xvhk64cr4jys5wcay44d"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - webob = super.buildPythonPackage { - name = "webob-1.7.4"; - buildInputs = with self; []; + "webtest" = super.buildPythonPackage { + name = "webtest-2.0.29"; doCheck = false; - propagatedBuildInputs = with self; []; + propagatedBuildInputs = [ + self."six" + self."webob" + self."waitress" + self."beautifulsoup4" + ]; src = fetchurl { - url = "https://files.pythonhosted.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz"; - sha256 = "8d10af182fda4b92193113ee1edeb687ab9dc44336b37d6804e413f0240d40d9"; + url = "https://files.pythonhosted.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz"; + sha256 = "0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v"; }; meta = { license = [ pkgs.lib.licenses.mit ]; }; }; - webtest = super.buildPythonPackage { - name = "webtest-2.0.29"; - buildInputs = with self; []; + "zope.deprecation" = super.buildPythonPackage { + name = "zope.deprecation-4.3.0"; doCheck = false; - propagatedBuildInputs = with self; [six webob waitress beautifulsoup4]; + propagatedBuildInputs = [ + self."setuptools" + ]; src = fetchurl { - url = "https://files.pythonhosted.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz"; - sha256 = "dbbccc15ac2465066c95dc3a7de0d30cde3791e886ccbd7e91d5d2a2580c922d"; + url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz"; + sha256 = "095jas41wbxgmw95kwdxqhbc3bgihw2hzj9b3qpdg85apcsf2lkx"; }; meta = { - license = [ pkgs.lib.licenses.mit ]; + license = [ pkgs.lib.licenses.zpl21 ]; }; }; - zope.deprecation = super.buildPythonPackage { - name = "zope.deprecation-4.3.0"; - buildInputs = with self; []; + "zope.interface" = super.buildPythonPackage { + name = "zope.interface-4.5.0"; doCheck = false; - propagatedBuildInputs = with self; [setuptools]; + propagatedBuildInputs = [ + self."setuptools" + ]; src = fetchurl { - url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz"; - sha256 = "7d52e134bbaaa0d72e1e2bc90f0587f1adc116c4bdf15912afaf2f1e8856b224"; + url = "https://files.pythonhosted.org/packages/ac/8a/657532df378c2cd2a1fe6b12be3b4097521570769d4852ec02c24bd3594e/zope.interface-4.5.0.tar.gz"; + sha256 = "0k67m60ij06wkg82n15qgyn96waf4pmrkhv0njpkfzpmv5q89hsp"; }; meta = { - license = [ pkgs.lib.licenses.zpt21 ]; - }; - }; - zope.interface = super.buildPythonPackage { - name = "zope.interface-4.5.0"; - buildInputs = with self; []; - doCheck = false; - propagatedBuildInputs = with self; [setuptools]; - src = fetchurl { - url = "https://files.pythonhosted.org/packages/ac/8a/657532df378c2cd2a1fe6b12be3b4097521570769d4852ec02c24bd3594e/zope.interface-4.5.0.tar.gz"; - sha256 = "57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c"; - }; - meta = { - license = [ pkgs.lib.licenses.zpt21 ]; + license = [ pkgs.lib.licenses.zpl21 ]; }; }; diff --git a/pkgs/shell-generate.nix b/pkgs/shell-generate.nix new file mode 100755 --- /dev/null +++ b/pkgs/shell-generate.nix @@ -0,0 +1,41 @@ +{ pkgs ? (import {}) +, pythonPackages ? "python27Packages" +}: + +with pkgs.lib; + +let _pythonPackages = pythonPackages; in +let + pythonPackages = getAttr _pythonPackages pkgs; + + pip2nix = import ./nix-common/pip2nix.nix { + inherit + pkgs + pythonPackages; + }; + +in + +pkgs.stdenv.mkDerivation { + name = "pip2nix-generated"; + buildInputs = [ + pip2nix.pip2nix + pythonPackages.pip-tools + pkgs.apr + pkgs.aprutil + ]; + + shellHook = '' + runHook preShellHook + echo "Setting SVN_* variables" + export SVN_LIBRARY_PATH=${pkgs.subversion}/lib + export SVN_HEADER_PATH=${pkgs.subversion.dev}/include + runHook postShellHook + ''; + + preShellHook = '' + echo "Starting Generate Shell" + # Custom prompt to distinguish from other dev envs. + export PS1="\n\[\033[1;32m\][Generate-shell:\w]$\[\033[0m\] " + ''; +} diff --git a/release.nix b/release.nix --- a/release.nix +++ b/release.nix @@ -1,9 +1,10 @@ +# This file defines how to "build" for packaging. + { pkgs ? import {} , doCheck ? true }: let - vcsserver = import ./default.nix { inherit doCheck diff --git a/requirements.txt b/requirements.txt --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ -## core -setuptools==39.2.0 +## dependencies beaker==1.9.1 configobj==5.0.6 diff --git a/shell.nix b/shell.nix --- a/shell.nix +++ b/shell.nix @@ -1,41 +1,67 @@ -{ pkgs ? import {} +# This file contains the adjustments which are desired for a development +# environment. + +{ pkgs ? (import {}) +, pythonPackages ? "python27Packages" , doCheck ? false }: let vcsserver = import ./default.nix { - inherit pkgs doCheck; + inherit + pkgs + doCheck; }; vcs-pythonPackages = vcsserver.pythonPackages; in vcsserver.override (attrs: { - # 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 ]); - # Somewhat snappier setup of the development environment - # TODO: think of supporting a stable path again, so that multiple shells - # can share it. - postShellHook = '' - # Set locale - export LC_ALL="en_US.UTF-8" + # 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 VCS-Shell" # Custom prompt to distinguish from other dev envs. export PS1="\n\[\033[1;32m\][VCS-shell:\w]$\[\033[0m\] " + # Set locale + export LC_ALL="en_US.UTF-8" + + # Setup a temporary directory. tmp_path=$(mktemp -d) export PATH="$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 = '' + + ''; + })