Gegl cannot be built reproducible because it includes info about the build machine
Hey, I am a packager for gegl (Arch Linux) and I noticed that the package is not able to be built in a reproducible manner because it encodes information about the build machine into the build output. If you're not familiar with reproducible build in general their website has a nice paragraph on it ("Why does it matter?" over at https://reproducible-builds.org/).
The main issue seems to be this part, where there are default tile sizes encoded (presumably because the machines have different number of cores or amount of RAM):
usr/share/gir-1.0/Gegl-0.4.gir
@@ -2284,15 +2284,15 @@
</property>
<property name="swap-compression" writable="1" transfer-ownership="none" default-value="NULL">
<type name="utf8" c:type="gchar*"/>
</property>
<property name="threads" writable="1" construct="1" transfer-ownership="none" default-value="64">
<type name="gint" c:type="gint"/>
</property>
- <property name="tile-cache-size" writable="1" transfer-ownership="none" default-value="176488038400">
+ <property name="tile-cache-size" writable="1" transfer-ownership="none" default-value="128960106496">
<type name="guint64" c:type="guint64"/>
</property>
<property name="tile-height" writable="1" transfer-ownership="none" default-value="128">
<type name="gint" c:type="gint"/>
</property>
<property name="tile-width" writable="1" transfer-ownership="none" default-value="128">
<type name="gint" c:type="gint"/>
See https://reproducible.archlinux.org/api/v0/builds/586011/diffoscope for the full diff between the machines.
Could you fix this behaviour or did I miss a build option to set a default size to this? Also what would be a resonable default size?
Downstream tracking issue: https://gitlab.archlinux.org/archlinux/packaging/packages/gegl/-/issues/1