diff --git a/release.nix b/release.nix index c6bd3494a63f9e04866205a32d1f21f07138b93e..e6415f2e441b2895f94f25854fe2b9803e6d06a2 100644 --- a/release.nix +++ b/release.nix @@ -4,13 +4,27 @@ with pkgs; let + versionSuffix = + if jailbreak + then "-jailbreak" + else ""; cSrc = stdenv.mkDerivation { name = "card10-src"; - src = ./c; + src = ./.; phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + nativeBuildInputs = [ git ]; + prePatch = "cd c"; patches = [ ./0001-feat-nix-add-jailbreak-arg.patch ]; + postPatch = '' + VERSION="$(git describe --always)${versionSuffix}" + GITHASH="$(git rev-parse HEAD)" + + substituteInPlace tools/version-header.sh \ + --replace "\$VERSION" "$VERSION" \ + --replace "\$GITHASH" "$GITHASH" + ''; installPhase = '' cp -ar . $out '';