nixpkgs/pkgs/development/tools/gendef/default.nix
Yueh-Shun Li 91b3db1309 treewide: fix sourceRoot for fetchgit-based src
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
2024-03-09 07:53:25 +08:00

23 lines
641 B
Nix

{ fetchgit, lib, stdenv }:
stdenv.mkDerivation (finalAttrs: {
pname = "gendef";
version = "11.0.1";
src = fetchgit {
url = "https://git.code.sf.net/p/mingw-w64/mingw-w64.git";
rev = "v${finalAttrs.version}";
hash = "sha256-0vbAHSN+uwxoXXZtbuycP67PxjcB8Ftxd/Oij1gqE3Y=";
};
sourceRoot = "${finalAttrs.src.name}/mingw-w64-tools/gendef";
meta = {
description = "A tool which generate def files from DLLs";
homepage = "https://sourceforge.net/p/mingw-w64/wiki2/gendef/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ hughobrien ];
platforms = lib.platforms.linux;
};
})