about summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc/patches/use-source-date-epoch.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/gcc/patches/use-source-date-epoch.patch')
-rw-r--r--pkgs/development/compilers/gcc/patches/use-source-date-epoch.patch52
1 files changed, 0 insertions, 52 deletions
diff --git a/pkgs/development/compilers/gcc/patches/use-source-date-epoch.patch b/pkgs/development/compilers/gcc/patches/use-source-date-epoch.patch
deleted file mode 100644
index 65a5ab028c1c..000000000000
--- a/pkgs/development/compilers/gcc/patches/use-source-date-epoch.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html
-
-diff --git a/libcpp/macro.c b/libcpp/macro.c
-index 1e0a0b5..a52e3cb 100644
---- a/libcpp/macro.c
-+++ b/libcpp/macro.c
-@@ -349,14 +349,38 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node)
- 	     slow on some systems.  */
- 	  time_t tt;
- 	  struct tm *tb = NULL;
-+	  char *source_date_epoch;
- 
--	  /* (time_t) -1 is a legitimate value for "number of seconds
--	     since the Epoch", so we have to do a little dance to
--	     distinguish that from a genuine error.  */
--	  errno = 0;
--	  tt = time(NULL);
--	  if (tt != (time_t)-1 || errno == 0)
--	    tb = localtime (&tt);
-+	  /* Allow the date and time to be set externally by an exported
-+	     environment variable to enable reproducible builds. */
-+	  source_date_epoch = getenv ("SOURCE_DATE_EPOCH");
-+	  if (source_date_epoch)
-+	    {
-+	      errno = 0;
-+	      tt = (time_t) strtol (source_date_epoch, NULL, 10);
-+	      if (errno == 0)
-+	        {
-+		  tb = gmtime (&tt);
-+		  if (tb == NULL)
-+		    cpp_error (pfile, CPP_DL_ERROR,
-+			       "SOURCE_DATE_EPOCH=\"%s\" is not a valid date",
-+			       source_date_epoch);
-+	        }
-+	      else
-+		cpp_error (pfile, CPP_DL_ERROR,
-+			   "SOURCE_DATE_EPOCH=\"%s\" is not a valid number",
-+			   source_date_epoch);
-+	    }
-+	  else
-+	    {
-+	    /* (time_t) -1 is a legitimate value for "number of seconds
-+	       since the Epoch", so we have to do a little dance to
-+	       distinguish that from a genuine error.  */
-+	    errno = 0;
-+	    tt = time(NULL);
-+	    if (tt != (time_t)-1 || errno == 0)
-+	      tb = localtime (&tt);
-+	  }
- 
- 	  if (tb)
- 	    {