Source: libopengl-perl
Version: 0.6703+dfsg-1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi,

While working on the "reproducible builds" effort [1], we have noticed
that libopengl-perl could not be built reproducibly.

The attached patch removes randomness from the build system. Once
applied, libopengl-perl can be built reproducibly in our reproducible
toolchain.

 [1]: https://wiki.debian.org/ReproducibleBuilds


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
diff -urNad 
libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build
 libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build
--- 
libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build
    1970-01-01 01:00:00.000000000 +0100
+++ libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/reproducible_build 
2015-02-22 08:58:12.617278658 +0000
@@ -0,0 +1,21 @@
+--- libopengl-perl-0.6703+dfsg.orig/Makefile.PL
++++ libopengl-perl-0.6703+dfsg/Makefile.PL
+@@ -8,6 +8,9 @@ use Config;
+ # See lib/ExtUtils/MakeMaker.pm for details of how to influence
+ # the contents of the Makefile that is written.
+ 
++# Ensure deterministic output
++$Data::Dumper::Sortkeys = 1;
++
+ # Supported windowing interfaces
+ our $is_valid_interface =
+ {
+@@ -505,7 +508,7 @@ else # Everyone else
+   }
+ 
+   # Marshall libs
+-  my $libs = ' -l'.join(' -l',values(%$found_libs));
++  my $libs = ' -l'.join(' -l',sort values(%$found_libs));
+   my @more_libs = qw
+   {
+     -lX11
diff -urNad 
libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/series 
libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/series
--- libopengl-perl.orig/libopengl-perl-0.6703+dfsg/debian/patches/series        
2015-02-22 08:51:17.047001226 +0000
+++ libopengl-perl/libopengl-perl-0.6703+dfsg/debian/patches/series     
2015-02-22 08:58:09.049121895 +0000
@@ -4,3 +4,4 @@
 glext_procs-replacement
 use-systems-gl
 dont_link_against_unused_libs
+reproducible_build

Reply via email to