Subject: [PATCH 3/4] gnu: sdcc: Embed absolute reference to μCsim.

From: Simon South <[email-masked]>
Date: Thu, 28 Sep 2023 16:14:47 -0400

* gnu/packages/embedded.scm (sdcc)[arguments]<#:phases>: Add
"embed-absolute-ucsim-reference" phase.
[inputs]: Add ucsim.
---
 gnu/packages/embedded.scm | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 630f2b37e0..9202aaf5b6 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1680,9 +1680,18 @@ (define-public sdcc
                 (("debugger/mcs51" line)
                  (string-append line  "\n"
                                 "TARGETS += sdcc-misc\n"
-                                "PKGS += $(SDCC_MISC)"))))))))
+                                "PKGS += $(SDCC_MISC)")))))
+          (add-after 'patch-makefiles 'embed-absolute-ucsim-reference
+            (lambda _
+              ;; Embed in the debugger an absolute reference to the MCS-51
+              ;; simulator from Guix's μCsim package to ensure it is always
+              ;; available.
+              (substitute* "debugger/mcs51/sdcdb.c"
+                (("s51")
+                 (string-append #$(this-package-input "ucsim")
+                                "/bin/s51"))))))))
     (inputs
-     (list readline))
+     (list readline ucsim))
     (native-inputs
      (list bison boost flex python-2 texinfo zlib))
     (home-page "https://sdcc.sourceforge.net/")
-- 
2.41.0