Just to piggy-back on this discussion, I'm attempting to package
"Hedgewars" and needed this patch to get fpc working properly:

From 4f76fb12f031652e11063c0fb37949229caa45cc Mon Sep 17 00:00:00 2001
From: Marius Bakke <mba...@fastmail.com>
Date: Tue, 25 Apr 2017 15:39:30 +0200
Subject: [PATCH] gnu: fpc: Make sure it finds gcc and ld at runtime.

* gnu/packages/fpc.scm (fpc)[inputs]: Add GCC and LD-WRAPPER.
[arguments]: Add 'wrap' phase.
---
 gnu/packages/pascal.scm | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/pascal.scm b/gnu/packages/pascal.scm
index a343ddcd6..fbb5b1d10 100644
--- a/gnu/packages/pascal.scm
+++ b/gnu/packages/pascal.scm
@@ -24,7 +24,9 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bootstrap)
+  #:use-module (gnu packages commencement)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages xml))
 
@@ -67,6 +69,8 @@
       (supported-systems '("i686-linux" "x86_64-linux"))
       (inputs
        `(("expat" ,expat)
+         ("glibc" ,glibc/linux)
+         ("ld-wrapper" ,ld-wrapper)
          ("ncurses" ,ncurses)
          ("zlib" ,zlib)))
       (native-inputs
@@ -168,7 +172,19 @@
                     (system*
                      (string-append out "/lib/fpc/" ,version "/samplecfg")
                      (string-append out "/lib/fpc/" ,version)
-                     (string-append out "/etc"))))))))))
+                     (string-append out "/etc"))))))
+             (add-after 'install 'wrap
+               (lambda* (#:key inputs outputs #:allow-other-keys)
+                 (let* ((out (assoc-ref outputs "out"))
+                        (fpc (string-append out "/bin/fpc"))
+                        (ld (assoc-ref inputs "ld-wrapper"))
+                        (glibc (assoc-ref inputs "glibc")))
+                   (wrap-program fpc
+                     `("PATH" ":" prefix (,(string-append ld "/bin")))
+                     `("LIBRARY_PATH" ":" prefix (,(string-append glibc "/lib"))))
+                   #t)))))))
+      ;; fpc invokes gcc, so make sure LIBRARY_PATH et.al are set.
+      ;(native-search-paths (package-native-search-paths gcc))
       (home-page "http://www.freepascal.org";)
       (synopsis "The Free Pascal Compiler")
       (description
-- 
2.13.1

Attachment: signature.asc
Description: PGP signature

Reply via email to