##// END OF EJS Templates
pyro4: Add the custom header `X-RhodeCode-Backend` to the pyro4 backend responses....
pyro4: Add the custom header `X-RhodeCode-Backend` to the pyro4 backend responses. This custom header sets the SCM backend which is in use. It is used to identify VCS responses in the error handler. VCS responses are skipped during error handling.

File last commit:

r479:c121f2d8 default
r848:2956cade default
Show More
shell.nix
57 lines | 1.5 KiB | text/x-nix | NixLexer
{ pkgs ? (import <nixpkgs> {})
, vcsserverPath ? "./../rhodecode-vcsserver"
, vcsserverNix ? "shell.nix"
, doCheck ? true
}:
let
# Convert vcsserverPath to absolute path.
vcsserverAbsPath =
if pkgs.lib.strings.hasPrefix "/" vcsserverPath then
builtins.toPath "${vcsserverPath}"
else
builtins.toPath ("${builtins.getEnv "PWD"}/${vcsserverPath}");
# Import vcsserver if nix file exists, otherwise set it to null.
vcsserver =
let
nixFile = "${vcsserverAbsPath}/${vcsserverNix}";
in
if pkgs.lib.pathExists "${nixFile}" then
builtins.trace
"Using local vcsserver from ${nixFile}"
import "${nixFile}" {inherit pkgs;}
else
null;
hasVcsserver = !isNull vcsserver;
enterprise = import ./default.nix {
inherit pkgs doCheck;
};
pythonPackages = enterprise.pythonPackages;
in enterprise.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;
buildInputs =
attrs.buildInputs ++
pkgs.lib.optionals (hasVcsserver) vcsserver.propagatedNativeBuildInputs ++
(with pythonPackages; [
bumpversion
invoke
ipdb
]);
shellHook = attrs.shellHook +
pkgs.lib.strings.optionalString (hasVcsserver) ''
# Setup the vcsserver development egg.
pushd ${vcsserverAbsPath}
python setup.py develop --prefix $tmp_path --allow-hosts ""
popd
'';
})