##// END OF EJS Templates
http: Add error handling for the repo-locked exception. Part of #4237...
http: Add error handling for the repo-locked exception. Part of #4237 Previously the repo locekd exception was raised on return of the call to the hooks daemon and propagates all the way up to the WSGI server (e.g. waitress). In case of locked repos we want to return a custom response which contains an explanation for the user that the repo is locked and who has locked it.

File last commit:

r73:dab86b02 default
r85:a0c3f57b default
Show More
python-packages-overrides.nix
57 lines | 1.7 KiB | text/x-nix | NixLexer
/ pkgs / python-packages-overrides.nix
# Overrides for the generated python-packages.nix
#
# This function is intended to be used as an extension to the generated file
# python-packages.nix. The main objective is to add needed dependencies of C
# libraries and tweak the build instructions where needed.
{ pkgs, basePythonPackages }:
let
sed = "sed -i";
in
self: super: {
subvertpy = super.subvertpy.override (attrs: {
# TODO: johbo: Remove the "or" once we drop 16.03 support
SVN_PREFIX = "${pkgs.subversion.dev or pkgs.subversion}";
propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
pkgs.aprutil
pkgs.subversion
];
preBuild = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
${sed} -e "s/'gcc'/'clang'/" setup.py
'';
});
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
'';
});
Pyro4 = super.Pyro4.override (attrs: {
# TODO: Was not able to generate this version, needs further
# investigation.
name = "Pyro4-4.35";
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/P/Pyro4/Pyro4-4.35.src.tar.gz";
md5 = "cbe6cb855f086a0f092ca075005855f3";
};
});
# Avoid that setuptools is replaced, this leads to trouble
# with buildPythonPackage.
setuptools = basePythonPackages.setuptools;
}