Source: meshy
Version: 0.0~git20260527.eb01027-2
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps
X-Debbugs-Cc: [email protected]

Hi,

Whilst working on the Reproducible Builds effort [0], we noticed that
meshy could not be built reproducibly.

This is because the /usr/bin/meshy embeds the current build date. A
patch is attached that generates this VERSION string from the
SOURCE_DATE_EPOCH environment variable instead.


 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
--- a/debian/patches/Reproducible-build.patch   1969-12-31 16:00:00.000000000 
-0800
--- b/debian/patches/Reproducible-build.patch   2026-06-01 09:42:17.395387979 
-0700
@@ -0,0 +1,21 @@
+Description: Make the build reproducible
+Author: Chris Lamb <[email protected]>
+Last-Update: 2026-06-01
+
+--- meshy-0.0~git20260527.eb01027.orig/meson.build
++++ meshy-0.0~git20260527.eb01027/meson.build
+@@ -28,7 +28,13 @@ endforeach
+ APPLICATION_ID = 'page.codeberg.sesivany.Meshy'
+ pkgdatadir = get_option('prefix') / get_option('datadir') / 'meshy'
+ 
+-date_version = run_command('date', '+%Y%m%d', check: true).stdout().strip()
++date_exe = find_program('date')
++cmd = run_command('sh', '-c', 'echo $SOURCE_DATE_EPOCH')
++source_date_epoch = cmd.stdout().strip()
++if source_date_epoch == ''
++      source_date_epoch = run_command(date_exe, '+%s').stdout().strip()
++endif
++date_version = run_command(date_exe, '-u', '-d', '@' + source_date_epoch, 
'+%Y%m%d').stdout().strip()
+ 
+ conf = configuration_data()
+ conf.set('PYTHON', py_installation.full_path())
--- a/debian/patches/series     2026-06-01 09:30:26.769966310 -0700
--- b/debian/patches/series     2026-06-01 09:42:16.452513634 -0700
@@ -1,2 +1,3 @@
 Install-into-PYTHONDIR-instead-of-usr-share-meshy.patch
 gresource-is-in-usr-share-meshy.patch
+Reproducible-build.patch

Reply via email to