summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2020-01-22 22:50:55 -0600
committerEric Bavier <bavier@member.fsf.org>2020-01-22 22:50:55 -0600
commit30adc9e0e14f56e45f5d4909c3105dce6d016778 (patch)
tree079ee0a07eeabda79cf8dd2861382e41f17fd2c3
parentc356e65610f287e740d3ec25cf5301f8e928a654 (diff)
downloadguix-30adc9e0e14f56e45f5d4909c3105dce6d016778.tar.gz
gnu: perl-term-readline-gnu: Fix library initialization.
* gnu/packages/perl.scm (perl-term-readline-gnu)[arguments]: Patch library
search directories into Makefile.PL so that the resulting Gnu.so library
contains expected DT_NEEDED entries for libreadline and libncurses.
-rw-r--r--gnu/packages/perl.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 98fc302ddd..9fc3493a5d 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013, 2019 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
@@ -8513,12 +8513,16 @@ screen size, and retrieval/modification of the control characters.")
      `(#:tests? #f ; Tests fail without other Term::ReadLine interfaces present
        #:phases (modify-phases %standard-phases
                   (add-before 'configure 'patch-search-lib
-                    (lambda _
+                    (lambda* (#:key inputs #:allow-other-keys)
                       (substitute* "Makefile.PL"
-                        ;; The configuration provides no way to pass
-                        ;; additional directories to search for the ncurses
-                        ;; library, so just skip the search.
-                        (("&search_lib\\('-lncurses'\\)") "'-lncurses'")))))))
+                        ;; The configuration provides no way easy was to pass
+                        ;; additional directories to search for libraries, so
+                        ;; just patch in the flags.
+                        (("-lreadline" &)
+                         (format #f "-L~a/lib ~a" (assoc-ref inputs "readline") &))
+                        (("&search_lib\\('-lncurses'\\)")
+                         (string-append "'-L" (assoc-ref inputs "ncurses") "/lib"
+                                        " -lncurses'"))))))))
     (home-page "https://metacpan.org/release/Term-ReadLine-Gnu")
     (synopsis "GNU Readline/History Library interface for Perl")
     (description "This module implements an interface to the GNU Readline