python3Packages.setuptools-rust: fix passthru test

The build wanted to create a Cargo.lock in the top-level source
directory (presumably because it is also a Cargo project), since we
were crating the lock file in sourceRoot (which was set to the example
project). This failed because the sources are read-only. Change the
test to create the lock file in the top-level crate directory, which
is Cargo's default behavior.
This commit is contained in:
Daniël de Kok 2021-03-20 08:38:14 +01:00
parent 807f70aff6
commit 313177129b
2 changed files with 8 additions and 4 deletions

View file

@ -17,5 +17,9 @@ callPackage ../../../tools/rust/maturin/pyo3-test/generic.nix {
rust.rustc rust.rustc
]); ]);
sourceRoot = "source/examples/word-count"; preConfigure = ''
# sourceRoot puts Cargo.lock in the wrong place due to the
# example setup.
cd examples/word-count
'';
} }

View file

@ -10,7 +10,7 @@
, buildAndTestSubdir ? null , buildAndTestSubdir ? null
, format ? "pyproject" , format ? "pyproject"
, sourceRoot ? "source" , preConfigure ? ""
}: }:
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
@ -25,14 +25,14 @@ python3Packages.buildPythonPackage rec {
}; };
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit src sourceRoot patches; inherit src patches;
name = "${pname}-${version}"; name = "${pname}-${version}";
hash = "sha256-//TmozgWy9zrSpMKX92XdHj4fw/T1Elfgn4YhhR7ot0="; hash = "sha256-//TmozgWy9zrSpMKX92XdHj4fw/T1Elfgn4YhhR7ot0=";
}; };
patches = [ ./Cargo.lock.patch ]; patches = [ ./Cargo.lock.patch ];
inherit buildAndTestSubdir format nativeBuildInputs sourceRoot; inherit buildAndTestSubdir format nativeBuildInputs preConfigure;
pythonImportsCheck = [ "word_count" ]; pythonImportsCheck = [ "word_count" ];