From: Timo Paulssen <timonator@perpetuum-immobile.de>
Date: Fri, 20 Sep 2024 18:52:04 +0200
Subject: Reproducibility patches for NQP
---
 tools/build/gen-version.pl       | 8 +++++++-
 tools/templates/moar/Makefile.in | 6 +++---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/tools/build/gen-version.pl b/tools/build/gen-version.pl
index 0453297..45084e5 100755
--- a/tools/build/gen-version.pl
+++ b/tools/build/gen-version.pl
@@ -27,7 +27,13 @@ close($fh);
 chomp $VERSION;
 
 my $sha = Digest::SHA->new;
-find(sub { return unless /\.nqp\z/; $sha->addfile($_) }, "src");
+find({
+  wanted => sub {
+   return unless /\.nqp\z/;
+   $sha->addfile($_);
+  },
+  preprocess => sub { sort @_ } },
+  "src");
 if ($backend eq 'moar') {
     $sha->addfile(File::Spec->catfile($libdir, 'MAST', $_)) for qw(Nodes.nqp Ops.nqp);
 }
diff --git a/tools/templates/moar/Makefile.in b/tools/templates/moar/Makefile.in
index 2002e9c..5b7a328 100644
--- a/tools/templates/moar/Makefile.in
+++ b/tools/templates/moar/Makefile.in
@@ -50,11 +50,11 @@
 	$(NOECHO)$(CP) @bpm(INST_NQP_M)@ @nfpq($(DESTDIR)$(BIN_DIR)/@bpm(NQP_M)@)@
 @expand(@m_install@)@
 
-@bpv(CC_INST_NQP)@=@moar::cc@ @moar::ccswitch@ @moar::cflags@ @static_nqp_home_define@ @bpm(MOAR_INC_PATHS)@
+@bpv(CC_INST_NQP)@=@moar::cc@ @moar::ccswitch@ @moar::cflags@ $(CFLAGS) @static_nqp_home_define@ @bpm(MOAR_INC_PATHS)@
 @bpv(LD_INST_NQP)@=@moar::ld@ @ldflags@ @mingw_unicode@
 @bpv(LD_INST_NQP_POST)@=@moar::lddir@"@moar::libdir@" @c_runner_libs@ @moar_lib@
 
-@bpv(CC_BUILD_RUNNER)@=@moar::cc@ @moar::ccswitch@ @moar::cflags@
+@bpv(CC_BUILD_RUNNER)@=@moar::cc@ @moar::ccswitch@ @moar::cflags@ $(CFLAGS)
 @bpv(LD_BUILD_RUNNER)@=@moar::ld@ @ldflags@ @mingw_unicode@
 
 @bpm(INST_NQP)@: @nfp(src/vm/moar/runner/main.c)@
@@ -91,7 +91,7 @@
 		--set-var=exec_name=@shquot(@nfp($(BASE_DIR)/@bpm(NQP)@)@)@ \
 		--set-var=mbc=@bsm(NQP)@
 	$(NOECHO)@bpm(CC_BUILD_RUNNER)@ @moar::ccout@nqp@moar::obj@ nqp.c
-	$(NOECHO)@bpm(LD_BUILD_RUNNER)@ @moar::ldout@@bpm(NQP)@ nqp-m@moar::obj@
+	$(NOECHO)@bpm(LD_BUILD_RUNNER)@ @moar::ldout@@bpm(NQP)@ nqp@moar::obj@
 
 @backend_prefix@-runner-default-install: @backend_prefix@-runner-default @backend_prefix@-install
 	@echo(+++ Installing default runner)@
