nixos/filesystems: don't silently ignore label when device is set (#361418)
[NixPkgs.git] / pkgs / by-name / vk / vkd3d-proton / sources.nix
blob7db9c6804d92b6459462c88e5adcd24053e8a934
1 { fetchFromGitHub }:
4   vkd3d-proton =
5     let
6       self = {
7         pname = "vkd3d-proton";
8         version = "2.13";
10         src = fetchFromGitHub {
11           owner = "HansKristian-Work";
12           repo = "vkd3d-proton";
13           rev = "v${self.version}";
14           fetchSubmodules = true;
15           #
16           # Some files are filled by using Git commands; it requires deepClone.
17           # More info at `checkout_ref` function in nix-prefetch-git.
18           # However, `.git` is a bit nondeterministic (and Git itself makes no
19           # guarrantees whatsoever).
20           # Then, in order to enhance reproducibility, what we will do here is:
21           #
22           # - Execute the desired Git commands;
23           # - Save the obtained info into files;
24           # - Remove `.git` afterwards.
25           #
26           deepClone = true;
27           postFetch = ''
28             cd $out
29             mkdir -p .nixpkgs-auxfiles/
30             git describe --always --exclude='*' --abbrev=15 --dirty=0 > .nixpkgs-auxfiles/vkd3d_build
31             git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version
32             find $out -name .git -print0 | xargs -0 rm -fr
33           '';
34           hash = "sha256-dJYQ6pJdfRQwr8OrxxpWG6YMfeTXqzTrHXDd5Ecxbi8=";
35         };
36       };
37     in
38     self;