91b3db1309
According to Nixpkgs manual[1] and NixOS 23.11 Release Note[2], the `sourceRoot` attribute passed to `stdenv.mkDerivation` should be specified as `"${src.name}"` or `"${src.name}/subdir"` when `src` is produced using `fetchgit`-based fetchers. `sourceRoot = "source"` or `sourceRoot = "source/subdir"` is based on the assumption that the `name` attribute of these pre-unpacked fetchers are always `"source"`, which is not the case. Expecting constant `name` also makes the source FODs prone to irrelevent hashes during version bumps. [1]: https://nixos.org/manual/nixpkgs/unstable/#var-stdenv-sourceRoot [2]: https://nixos.org/manual/nixos/stable/release-notes#sec-release-23.11
30 lines
547 B
Nix
30 lines
547 B
Nix
{ lib
|
|
, stdenv
|
|
, python
|
|
, flit-core
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "${python.libPrefix}-bootstrap-${flit-core.pname}";
|
|
inherit (flit-core) version src patches meta;
|
|
|
|
sourceRoot = "${src.name}/flit_core";
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
${python.interpreter} -m flit_core.wheel
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
${python.interpreter} bootstrap_install.py dist/flit_core-*.whl \
|
|
--install-root "$out" --installdir "/${python.sitePackages}"
|
|
|
|
runHook postInstall
|
|
'';
|
|
}
|