Use slapos.recipe.cmmi instead of hexagonit.recipe.download.
[slapos.git] / component / perl-Term-ReadLine-Gnu / perl-Term-ReadLine-Gnu.patch
1 --- Makefile.PL.orig    2012-09-26 16:40:42.922821617 +0200
2 +++ Makefile.PL 2012-10-02 02:51:26.400659861 +0200
3 @@ -22,7 +22,22 @@
4  use Config;
5  use Getopt::Long;
6  use 5.007; use 5.7.0;          # use version 1.09 for older Perl
7 -my ($defs, $libs, $lddflags, $RLLIB, $RLINC);
8 +my ($defs, $lddflags, %config);
9 +
10 +{
11 +    $config{LIBS} = '';
12 +    $config{INC}  = '';
13 +
14 +    my $i = 0;
15 +    while ($i <= $#ARGV) {
16 +        my ($key, $val) = split(/=/, $ARGV[$i], 2);
17 +        $config{$key} = $val;       
18 +        if ($key eq 'LIBS' || $key eq 'INC') {
19 +            delete $ARGV[$i];
20 +        }
21 +        $i++;
22 +    }
23 +}
24  
25  # exit 0 before creating the Makefile to be CPAN Testers friendly
26  # see http://wiki.cpantester.org/wiki/CPANAuthorNotes
27 @@ -36,20 +51,23 @@
28  $defs = ($Config{strings} =~ m|/string.h$|) ? '-DHAVE_STRING_H' : '';
29  
30  # Parse command line to specify paths for the GNU Readline Library
31 +# (if they have not already been included within LIBS or INC)
32  {
33      my ($prefix, $libdir, $incdir);
34      GetOptions("prefix=s" => \$prefix,
35                "libdir=s" => \$libdir,
36                "includedir=s" => \$incdir);
37 -    $RLLIB = defined $libdir
38 +    my $RLLIB = defined $libdir
39         ? "-L$libdir" : (defined $prefix ? "-L$prefix/lib" : '');
40 -    $RLINC = defined $incdir
41 +    my $RLINC = defined $incdir
42         ? "-I$incdir" : (defined $prefix ? "-I$prefix/include" : '');
43 +    $config{LIBS} .= " $RLLIB";
44 +    $config{INC}  .= " $RLINC";
45  }
46  
47  if ($Config{osname} eq 'os2') {
48      # Check ftp://ftp.math.ohio-state.edu/pub/users/ilya/os2/
49 -    $libs = '-lreadline_import';
50 +    $config{LIBS} .= ' -lreadline_import';
51      $defs .= ' -DOS2_USEDLL';
52      $lddflags = '';
53  } else {
54 @@ -60,18 +78,27 @@
55      # Old Cygwin may require setting false (0).
56      my $PREFER_CURSES = $Config{osname} eq 'aix' || $Config{osname} eq 'hpux'
57                         || $Config{osname} eq 'cygwin';
58 -    my $TERMCAP_LIB = (! $PREFER_CURSES && &search_lib('-ltermcap'))
59 -       || &search_lib('-lncurses')
60 -           || &search_lib('-lcurses');
61 +    my @lib_dirs = ();
62 +    # Turn -L<path> parameters into a list of <path>s
63 +    {
64 +        foreach my $libopt (split(' ',$config{LIBS})) {
65 +            if ($libopt =~ m#^-L(.*)$#) {
66 +                push @lib_dirs, $1;
67 +            }
68 +        }
69 +    }
70 +    my $TERMCAP_LIB = (! $PREFER_CURSES && &search_lib('-ltermcap', \@lib_dirs))
71 +       || &search_lib('-lncurses', \@lib_dirs)
72 +           || &search_lib('-lcurses', \@lib_dirs);
73  
74      unless ($TERMCAP_LIB) {
75         warn "Could not find neither libtermcap.a, libncurses.a, or libcurses.\n";
76         exit $err;
77      } 
78   
79 -    $libs = "-lreadline $TERMCAP_LIB";
80 +    $config{LIBS} .= " -lreadline $TERMCAP_LIB";
81      # Latest Perl in FreeBSD does not need this hack. (Dec.2002)
82 -    $libs .= ' -lcrypt' if ($Config{osname} =~ /freebsd/i);
83 +    $config{LIBS} .= ' -lcrypt' if ($Config{osname} =~ /freebsd/i);
84      $lddflags = '';
85      # If you are using old Cygwin, enable the following line.
86      #$lddflags = ($Config{osname} =~ /cygwin/i) ? '-static' : '';
87 @@ -80,7 +107,7 @@
88  # Check version of  GNU Readline Library (for version 4.2 and before)
89  {
90      my ($rlmajorver, $rlminorver) =
91 -       check_readline_version($RLINC, $RLLIB, $defs, $lddflags, $libs);
92 +       check_readline_version($defs, $lddflags, \%config);
93  
94      if ($rlmajorver < 4 || $rlmajorver == 4 && $rlminorver <= 2) {
95         $defs .= " -DRL_READLINE_VERSION=" .
96 @@ -95,15 +122,15 @@
97      (
98       NAME        => 'Term::ReadLine::Gnu',
99       VERSION_FROM => 'Gnu.pm',
100 -     LIBS        => [ "$RLLIB $libs" ],
101 -     LDDLFLAGS   => "$RLLIB $Config{lddlflags}",
102 +     LIBS        => $config{LIBS},
103 +     LDDLFLAGS   => $Config{lddlflags},
104       dynamic_lib  => { OTHERLDFLAGS => $lddflags },
105       DEFINE      => $defs,
106       ($Config{osname} eq 'os2' ?
107        (
108         IMPORTS   => { xfree => 'emxlibcm.401' }, # Yuck!
109        ) : () ),
110 -     INC         => $RLINC,
111 +     INC         => $config{INC},
112       dist        => { COMPRESS => 'gzip -9f', SUFFIX => 'gz' },
113       clean       => { FILES => "rlver.c rlver$Config{_exe}" },
114  );
115 @@ -122,20 +149,20 @@
116  exit(0);
117  
118  ########################################################################
119 -# Search a library '$lib' in $Config{libpth} directories, and return
120 +# Search a library '$lib' in the given directories (listref), and return
121  # $lib if exist or undef unless exist.
122  
123  # ExtUtils::Liblist::ext() do similar job as this subroutine, but it
124  # warns unnecessary messages.
125  sub search_lib {
126 -    my ($lib) = @_;
127 +    my ($lib, $lib_dirs) = @_;
128      unless ($lib =~ /^-l/) {
129         warn "search_lib: illegal arguments, \`$lib\'.\n";
130         return undef;
131      }
132      my $libbase = 'lib' . substr($lib, 2) . $Config{lib_ext};
133      my $libbase_so = 'lib' . substr($lib, 2) . "." . $Config{so};
134 -    foreach (split(' ', $Config{libpth})) {
135 +    foreach (split(' ', $Config{libpth}), @$lib_dirs) {
136         if (-f $_ . '/' . $libbase) {
137  #          print "$_/$libbase\n";
138             print "Found \`$_/$libbase\'.\n";
139 @@ -158,7 +185,7 @@
140  #      RL_VERSION_MINOR
141  # Someday we don't need this subroutine..
142  sub check_readline_version {
143 -    my ($RLINC, $RLLIB, $defs, $lddflags, $libs) = @_;
144 +    my ($defs, $lddflags, $config) = @_;
145      my $frlver = 'rlver.c';
146  
147      # make temp file
148 @@ -172,7 +199,7 @@
149      close(F);
150  
151      # compile it
152 -    my $comp_cmd = "$Config{cc} $RLINC $Config{ccflags} $defs $frlver -o rlver $RLLIB $lddflags $Config{ldflags} $libs";
153 +    my $comp_cmd = "$Config{cc} $config->{INC} $Config{ccflags} $defs $frlver -o rlver $lddflags $Config{ldflags} $config->{LIBS}";
154      print $comp_cmd, "\n";
155      system($comp_cmd);
156      if ($?) {