summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2018-09-16 06:56:02 +0000
committerGitHub <noreply@github.com>2018-09-16 06:56:02 +0000
commit32632fbb730b6088ec2ac896d7d8eecbf93cb128 (patch)
treef06d8bbae3ae9c125debf33b21e160bc32939741 /pkgs
parentc7a789100feca90877cf0e2c971d852e7fe5ef58 (diff)
parentb53e495a3891163eb888544e8f7b35ee6128511e (diff)
downloadnixlib-32632fbb730b6088ec2ac896d7d8eecbf93cb128.tar
nixlib-32632fbb730b6088ec2ac896d7d8eecbf93cb128.tar.gz
nixlib-32632fbb730b6088ec2ac896d7d8eecbf93cb128.tar.bz2
nixlib-32632fbb730b6088ec2ac896d7d8eecbf93cb128.tar.lz
nixlib-32632fbb730b6088ec2ac896d7d8eecbf93cb128.tar.xz
nixlib-32632fbb730b6088ec2ac896d7d8eecbf93cb128.tar.zst
nixlib-32632fbb730b6088ec2ac896d7d8eecbf93cb128.zip
Merge pull request #46721 from YorikSar/gn
gn: generate last_commit_position.h without git
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/build-managers/gn/default.nix25
1 files changed, 19 insertions, 6 deletions
diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix
index 75719036c107..a273afd71580 100644
--- a/pkgs/development/tools/build-managers/gn/default.nix
+++ b/pkgs/development/tools/build-managers/gn/default.nix
@@ -1,16 +1,28 @@
-{ stdenv, lib, fetchgit, fetchzip, fetchpatch, darwin
+{ stdenv, lib, fetchgit, fetchzip, fetchpatch, darwin, writeText
 , git, ninja, python }:
 
+let
+  rev = "106b823805adcc043b2bfe5bc21d58f160a28a7b";
+  sha256 = "1a5s6i07s8l4f1bakh3fyaym00xz7zgd49sp6awm10xb7yjh95ba";
+
+  shortRev = builtins.substring 0 7 rev;
+  lastCommitPosition = writeText "last_commit_position.h" ''
+    #ifndef OUT_LAST_COMMIT_POSITION_H_
+    #define OUT_LAST_COMMIT_POSITION_H_
+
+    #define LAST_COMMIT_POSITION "(${shortRev})"
+
+    #endif  // OUT_LAST_COMMIT_POSITION_H_
+  '';
+
+in
 stdenv.mkDerivation rec {
   name = "gn-${version}";
   version = "20180830";
 
   src = fetchgit {
     url = "https://gn.googlesource.com/gn";
-    rev = "106b823805adcc043b2bfe5bc21d58f160a28a7b";
-    leaveDotGit = true;  # gen.py uses "git describe" to generate last_commit_position.h
-    deepClone = true;
-    sha256 = "00xl7rfcwyig23q6qnqzv13lvzm3n30di242zcz2m9rdlfspiayb";
+    inherit rev sha256;
   };
 
   postPatch = ''
@@ -31,7 +43,8 @@ stdenv.mkDerivation rec {
   ]);
 
   buildPhase = ''
-    python build/gen.py --no-sysroot
+    python build/gen.py --no-sysroot --no-last-commit-position
+    ln -s ${lastCommitPosition} out/last_commit_position.h
     ninja -j $NIX_BUILD_CORES -C out gn
   '';