Paste number 147277: racket patch

Paste number 147277: racket patch
Pasted by: civodul
When:7 years, 3 weeks ago
Share:Tweet this! | http://paste.lisp.org/+35N1
Channel:None
Paste contents:
Raw Source | XML | Display As
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index df4bf7f..b332b55 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -31,8 +31,9 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages libphidget)
-  #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libjpeg)
   #:use-module (ice-9 match))
@@ -364,31 +365,46 @@ implementation techniques and as an expository tool.")
                        (lib "gdk-pixbuf")))))
          (alist-cons-before
           'configure 'pre-configure
-          (lambda* (#:key inputs #:allow-other-keys)
-            (chdir "src")
-
-            ;; The GUI libs are dynamically opened through the FFI, so they
-            ;; must be in the loader's search path.
-            (setenv "LD_LIBRARY_PATH" (string-join (gui-libs inputs) ":")))
+          (lambda _
+            (chdir "src"))
           (alist-cons-after
-           'unpack 'patch-/bin/sh
-           (lambda _
+           'unpack 'patch-file-names
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; The GUI libs are dynamically opened through the FFI, so they
+             ;; must be in the loader's search path.
+             (substitute* (find-files "." "glib\\.rkt")
+               (("\"libg")
+                (string-append "\"" (assoc-ref inputs "glib")
+                               "/lib/libg")))
+             (substitute* (find-files "." "cairo-lib\\.rkt")
+               (("\"libcairo")
+                (string-append "\"" (assoc-ref inputs "cairo")
+                               "/lib/libcairo")))
+             (substitute* (find-files "." "pango\\.rkt")
+               (("\"libpango")
+                (string-append "\"" (assoc-ref inputs "pango")
+                               "/lib/libpango")))
+             (substitute* (find-files "." "jpeg\\.rkt")
+               (("\"libjpeg")
+                (string-append "\"" (assoc-ref inputs "libjpeg")
+                               "/lib/libjpeg")))
+             (substitute* (find-files "collects/mred/private/wx/gtk" "")
+               (("\"libgtkglext")
+                (string-append "\"" (assoc-ref inputs "gtkglext")
+                               "/lib/libgtkglext"))
+               (("\"libgtk")
+                (string-append "\"" (assoc-ref inputs "gtk")
+                               "/lib/libgtk"))
+               (("\"libgdk_pixbuf")
+                (string-append "\"" (assoc-ref inputs "gdk-pixbuf")
+                               "/lib/libgdk_pixbuf"))
+               (("\"libgdk")
+                (string-append "\"" (assoc-ref inputs "gtk")
+                               "/lib/libgtk")))
+
              (substitute* "collects/racket/system.rkt"
                (("/bin/sh") (which "sh"))))
-           (alist-cons-after
-            'install 'wrap-programs
-            (lambda* (#:key inputs outputs #:allow-other-keys)
-              (let ((out (assoc-ref outputs "out")))
-                (define (wrap prog)
-                  (wrap-program prog
-                                `("LD_LIBRARY_PATH" ":" prefix
-                                  ,(gui-libs inputs))))
-
-                (with-directory-excursion (string-append out "/bin")
-                  (for-each wrap
-                            (list "gracket" "drracket" "slideshow" "mred"))
-                  #t)))
-            %standard-phases))))
+           %standard-phases)))
        #:tests? #f                                ; XXX: how to run them?
        ))
     (inputs `(("libffi" ,libffi)
@@ -397,7 +413,8 @@ implementation techniques and as an expository tool.")
               ("pango" ,pango)
               ("libjpeg" ,libjpeg-8)
               ("gdk-pixbuf" ,gdk-pixbuf)
-              ("gtk" ,gtk+-2)))
+              ("gtk" ,gtk+-2)
+              ("gtkglext" ,gtkglext)))
     (home-page "http://racket-lang.org")
     (synopsis "Implementation of Scheme and related languages")
     (description

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.