Source: openclonk
Version: 7.0-3
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Dear Maintainer,

While working on the `€œreproducible builds'€ effort [1], we have noticed
that 'openclonk' could not be built reproducibly.

The attached patch honours the SOURCE_DATE_EPOCH environment
variable [2] to get a reproducible copyright year from the last debian
changelog entry.
Once applied, openclonk can be built reproducibly in our current
experimental framework.

Regards,
Alexis Bienvenüe.

 [1]: https://wiki.debian.org/ReproducibleBuilds
 [2]: https://reproducible-builds.org/specs/source-date-epoch/


diff -Nru openclonk-7.0/debian/changelog openclonk-7.0/debian/changelog
--- openclonk-7.0/debian/changelog	2016-02-14 12:26:56.000000000 +0100
+++ openclonk-7.0/debian/changelog	2016-05-04 11:15:38.000000000 +0200
@@ -1,3 +1,9 @@
+openclonk (7.0-3.0~reproducible1) UNRELEASED; urgency=medium
+
+  * Honour SOURCE_DATE_EPOCH for the copyright year.
+
+ -- Alexis Bienvenüe <p...@passoire.fr>  Wed, 04 May 2016 11:15:38 +0200
+
 openclonk (7.0-3) unstable; urgency=medium
 
   * Ship Music.ocg's content unpacked.
diff -Nru openclonk-7.0/debian/patches/honour_SOURCE_DATE_EPOCH.patch openclonk-7.0/debian/patches/honour_SOURCE_DATE_EPOCH.patch
--- openclonk-7.0/debian/patches/honour_SOURCE_DATE_EPOCH.patch	1970-01-01 01:00:00.000000000 +0100
+++ openclonk-7.0/debian/patches/honour_SOURCE_DATE_EPOCH.patch	2016-05-04 11:14:54.000000000 +0200
@@ -0,0 +1,24 @@
+Description: Honour SOURCE_DATE_EPOCH
+ Honour the SOURCE_DATE_EPOCH environment variable to get the copyright year,
+ to make the build reproducible.
+ See https://reproducible-builds.org/specs/source-date-epoch/
+Author: Alexis Bienvenüe <p...@passoire.fr>
+
+--- openclonk-7.0.orig/cmake/Version.cmake
++++ openclonk-7.0/cmake/Version.cmake
+@@ -24,7 +24,14 @@ git_get_changeset_id(C4REVISION)
+ ############################################################################
+ 
+ IF(CMAKE_HOST_UNIX)
+-	EXECUTE_PROCESS(COMMAND "date" "+%Y" OUTPUT_VARIABLE DATE)
++if (DEFINED ENV{SOURCE_DATE_EPOCH})
++  EXECUTE_PROCESS(
++    COMMAND "date" "-u" "-d" "@$ENV{SOURCE_DATE_EPOCH}" "+%Y"
++    OUTPUT_VARIABLE DATE
++    OUTPUT_STRIP_TRAILING_WHITESPACE)
++else ()
++  EXECUTE_PROCESS(COMMAND "date" "+%Y" OUTPUT_VARIABLE DATE)
++endif ()
+ ELSEIF(CMAKE_HOST_WIN32)
+ 	EXECUTE_PROCESS(COMMAND "cscript.exe" "//nologo" "${CMAKE_CURRENT_SOURCE_DIR}/tools/get_current_year.vbs" OUTPUT_VARIABLE DATE)
+ ENDIF()
diff -Nru openclonk-7.0/debian/patches/series openclonk-7.0/debian/patches/series
--- openclonk-7.0/debian/patches/series	2016-02-14 12:26:08.000000000 +0100
+++ openclonk-7.0/debian/patches/series	2016-05-04 11:13:40.000000000 +0200
@@ -1 +1,2 @@
 do-not-pack-music-ocg.patch
+honour_SOURCE_DATE_EPOCH.patch
_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to