From: Niko Tyni Date: Mon, 19 Oct 2015 20:56:36 +0000 (+0300) Subject: gtkmodule: Preserve order of required-gtype-classes for reproducibility X-Git-Tag: 0.35.7~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0056ea4e8d0e25dba13a856fc0aa18646217e4c6;p=thirdparty%2Fvala.git gtkmodule: Preserve order of required-gtype-classes for reproducibility The elements of current_required_app_classes end up in the generated code in g_type_ensure() statements. The order of these can vary between builds when using a HashSet, breaking reproducibilty. See https://wiki.debian.org/ReproducibleBuilds https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802528 --- diff --git a/codegen/valagtkmodule.vala b/codegen/valagtkmodule.vala index 07c022e28..1558469a8 100644 --- a/codegen/valagtkmodule.vala +++ b/codegen/valagtkmodule.vala @@ -32,7 +32,7 @@ public class Vala.GtkModule : GSignalModule { /* GtkBuilder xml child to Vala class mapping */ private HashMap current_child_to_class_map = new HashMap(str_hash, str_equal); /* Required custom application-specific gtype classes to be ref'd before initializing the template */ - private HashSet current_required_app_classes = new HashSet(); + private List current_required_app_classes = new ArrayList(); private void ensure_cclass_to_vala_map () { // map C name of gtypeinstance classes to Vala classes