nox: show trace for evaluation errors

Backports upstream commit 8900531.
This commit is contained in:
Tobias Geerinckx-Rice 2015-07-03 04:52:06 +02:00
parent dfdcbb3640
commit 8e16c57424
2 changed files with 43 additions and 0 deletions

View file

@ -10,6 +10,8 @@ pythonPackages.buildPythonPackage rec {
sha256 = "1s1jhickdhym70qrb5h4qxq1mvkpwgdppqpfb2jnpfaf1az6c207";
};
patches = [ ./show-trace.patch ];
buildInputs = [ pythonPackages.pbr ];
pythonPath = with pythonPackages; [

View file

@ -0,0 +1,41 @@
From: Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>
Date: Tue, 2 Jun 2015 13:04:19 +0200
Subject: [PATCH] Run `nix-env` & `nix-shell` with `--show-trace`
Evaluation is broken often enough that this seems wise.
Debugging such errors without a backtrace is most unpleasant.
diff -Naur nix-nox-0.0.1/nox/nixpkgs_repo.py nix-nox-0.0.1b/nox/nixpkgs_repo.py
--- nox/nox/nixpkgs_repo.py 2014-10-26 21:50:33.000000000 +0100
+++ nox/nox/nixpkgs_repo.py 2015-07-03 04:46:08.114975479 +0200
@@ -75,7 +75,7 @@
def packages(path):
"""List all nix packages in the repo, as a set"""
- output = subprocess.check_output(['nix-env', '-f', path, '-qaP', '--drv-path'],
+ output = subprocess.check_output(['nix-env', '-f', path, '-qaP', '--drv-path', '--show-trace'],
universal_newlines=True)
return set(output.split('\n'))
diff -Naur nix-nox-0.0.1/nox/search.py nix-nox-0.0.1b/nox/search.py
--- nox/nox/search.py 2014-09-20 14:55:33.000000000 +0200
+++ nox/nox/search.py 2015-07-03 04:46:54.264813143 +0200
@@ -10,7 +10,7 @@
def nix_packages_json():
click.echo('Refreshing cache')
- output = subprocess.check_output(['nix-env', '-qa', '--json'],
+ output = subprocess.check_output(['nix-env', '-qa', '--json', '--show-trace'],
universal_newlines=True)
return json.loads(output)
@@ -70,7 +70,7 @@
value_proc=parse_input)
attributes = [p.attribute for p in packages]
if action == 'install':
- subprocess.check_call(['nix-env', '-iA'] + attributes)
+ subprocess.check_call(['nix-env', '-iA', '--show-trace'] + attributes)
elif action == 'shell':
attributes = [a[len('nixpkgs.'):] for a in attributes]
- subprocess.check_call(['nix-shell', '-p'] + attributes)
+ subprocess.check_call(['nix-shell', '-p', '--show-trace'] + attributes)