components/perl_modules/perl-tk/patches/002-system-png.patch
changeset 4746 8e237ffd0a48
parent 1677 e41bbf0b1631
equal deleted inserted replaced
4745:2d05f68d43d8 4746:8e237ffd0a48
     1 In-House patch. 
     1 In-House patch. 
     2 Making sure Perl-Tk does not build its own copy of libpng and libz, instead links against these libraries already present in Solaris in /usr/lib.
     2 Making sure Perl-Tk does not build its own copy of libpng and libz, instead links against these libraries already present in Solaris in /usr/lib.
     3 
     3 
     4 --- Tk-804.031/PNG/Makefile.PL.orig	Tue Nov 12 22:36:34 2013
     4 --- Tk-804.033/PNG/Makefile.PL.orig	2015-05-01 10:47:20.131896716 -0700
     5 +++ Tk-804.031/PNG/Makefile.PL	Tue Nov 12 22:36:41 2013
     5 +++ Tk-804.033/PNG/Makefile.PL	2015-05-01 10:52:57.599540636 -0700
     6 @@ -2,19 +2,7 @@
     6 @@ -2,19 +2,6 @@
     7  use strict;
     7  use strict;
     8  use Tk::MMutil;
     8  use Tk::MMutil;
     9  use Tk::Config ();
     9  use Tk::Config ();
    10 -use Tk::MMtry;
    10 -use Tk::MMtry;
    11 -use File::Copy;
    11 -use File::Copy;
    12  
    12 -
    13 -my $l = $Config::Config{'lib_ext'};
    13 -my $l = $Config::Config{'lib_ext'};
    14 -my $cc = $Config::Config{'cc'};
    14 -my $cc = $Config::Config{'cc'};
    15 -my $zlib = "libz$l";
    15 -my $zlib = "libz$l";
    16 -
    16 -
    17 -foreach my $file (qw(zlib/Makefile.PL libpng/Makefile.PL))
    17 -foreach my $file (qw(zlib/Makefile.PL libpng/Makefile.PL))
    18 - {
    18 - {
       
    19 -  next unless -f $file;
    19 -  chmod(0666,$file) unless -w $file;
    20 -  chmod(0666,$file) unless -w $file;
    20 -  unlink($file);
    21 -  unlink($file);
    21 - }
    22 - }
    22 -
    23  
    23  my $libpng_cflags;
    24  my $all_cflags;
    24  my $libpng_libs;
    25  my $all_libs;
    25  system('pkg-config --exists libpng');
    26 @@ -27,12 +14,6 @@
    26 @@ -21,74 +9,17 @@
    27     chomp($libpng_cflags = `pkg-config --cflags libpng`);
    27  if ($? == 0) {
    28     chomp($libpng_libs   = `pkg-config --libs libpng`);
    28      chomp($libpng_cflags = `pkg-config --cflags libpng`);
    29    }
    29      chomp($libpng_libs   = `pkg-config --libs libpng`);
    30 - else
    30 -} else {
    31 -  {
    31 -    warn "'pkg-config libpng' failed, continue with fallback values for cflags and libs...\n";
    32 -   warn "'pkg-config libpng' failed, continue with fallback values for cflags and libs...\n";
    32 -    $libpng_cflags = '-I/usr/local/include';
    33 -   $libpng_cflags = '-I/usr/local/include';
    33 -    $libpng_libs   = '-lpng -lz -lm';
    34 -   $libpng_libs   = '-lpng -lm';
       
    35 -  }
       
    36  
       
    37   my $zlib_cflags;
       
    38   my $zlib_libs;
       
    39 @@ -51,65 +32,18 @@
       
    40  
       
    41   $all_cflags = "$libpng_cflags $zlib_cflags";
       
    42   $all_libs   = "$libpng_libs $zlib_libs";
       
    43 +
       
    44 + Tk::MMutil::TkExtMakefile(
       
    45 +     NAME         => 'Tk::PNG',
       
    46 +     VERSION_FROM => 'PNG.pm',
       
    47 +     XS_VERSION   => $Tk::Config::VERSION,
       
    48 +     dist         => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' },
       
    49 +     OBJECT       => '$(O_FILES)',
       
    50 +     INC          => $libpng_cflags,
       
    51 +     LIBS         => [$libpng_libs],
       
    52 +   );
    34  }
    53  }
    35  
    54  
    36 -if ($Tk::MMtry::VERSION ge '4.007' &&
    55 -if ($Tk::MMtry::VERSION ge '4.007' &&
    37 -    try_run("config/has_png.c",[$libpng_cflags],[$libpng_libs]))
    56 -    try_run("config/has_png.c",[$all_cflags],[$all_libs]))
    38 - {
    57 - {
       
    58 -  warn "Using system's -lpng\n";
    39 -  Tk::MMutil::TkExtMakefile(
    59 -  Tk::MMutil::TkExtMakefile(
    40 -       NAME         => 'Tk::PNG',
    60 -       NAME         => 'Tk::PNG',
    41 -       VERSION_FROM => 'PNG.pm',
    61 -       VERSION_FROM => 'PNG.pm',
    42 -       XS_VERSION   => $Tk::Config::VERSION,
    62 -       XS_VERSION   => $Tk::Config::VERSION,
    43 -       dist         => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' },
    63 -       dist         => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' },
    44 -       OBJECT       => '$(O_FILES)',
    64 -       OBJECT       => '$(O_FILES)',
    45 -       INC          => $libpng_cflags,
    65 -       INC          => $all_cflags,
    46 -       LIBS         => [$libpng_libs],
    66 -       LIBS         => [$all_libs],
    47 -     );
    67 -     );
    48 - }
    68 - }
    49 -else
    69 -else
    50 - {
    70 - {
    51 -  my $ok = 1;
    71 -  my $ok = 1;
    52 -  foreach my $file ("libpng/Makefile.PL","zlib/Makefile.PL")
       
    53 -   {
       
    54 -    next unless -f $file;
       
    55 -    chmod(0666,$file);
       
    56 -    unlink($file);
       
    57 -   }
       
    58 -  unless (copy("Makefile.libpng.maybe","libpng/Makefile.PL"))
    72 -  unless (copy("Makefile.libpng.maybe","libpng/Makefile.PL"))
    59 -   {
    73 -   {
    60 -    warn "Cannot copy Makefile.libpng.maybe => libpng/Makefile.PL ($!)";
    74 -    warn "Cannot copy Makefile.libpng.maybe => libpng/Makefile.PL ($!)";
    61 -    $ok = 0;
    75 -    $ok = 0;
    62 -   }
    76 -   }
    93 -    {
   107 -    {
    94 -     warn "Cannot build libpng$l\n";
   108 -     warn "Cannot build libpng$l\n";
    95 -     ExtUtils::MakeMaker::WriteEmptyMakefile();
   109 -     ExtUtils::MakeMaker::WriteEmptyMakefile();
    96 -    }
   110 -    }
    97 - }
   111 - }
    98 +Tk::MMutil::TkExtMakefile(
       
    99 +     NAME         => 'Tk::PNG',
       
   100 +     VERSION_FROM => 'PNG.pm',
       
   101 +     XS_VERSION   => $Tk::Config::VERSION,
       
   102 +     dist         => { COMPRESS => 'gzip -f9', SUFFIX => '.gz' },
       
   103 +     OBJECT       => '$(O_FILES)',
       
   104 +     INC          => $libpng_cflags,
       
   105 +     LIBS         => [$libpng_libs],
       
   106 +   );
       
   107  
   112  
   108  sub MY::test_via_harness
   113  sub MY::test_via_harness
   109  {
   114  {
   110 @@ -98,63 +29,3 @@
   115 @@ -134,48 +68,3 @@
       
   116      qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}" RANLIB=\"$Config::Config{ranlib}\"];
       
   117     }
   111  }
   118  }
   112  
       
   113  package MY;
       
   114 -
       
   115 -sub pasthru {
       
   116 -  if ($^O eq 'MSWin32' && $Config::Config{cc} =~ /gcc/)
       
   117 -   {
       
   118 -    # gcc usually has ranlib, also dmake does not understand "rem"
       
   119 -    # which is default setting for $Config::Config{ranlib} under
       
   120 -    # Windows, unless .USE_SHELL: is specified (see also special_targets
       
   121 -    # in ExtUtils::MM_Win32)
       
   122 -    qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}"];
       
   123 -   }
       
   124 -  else
       
   125 -   {
       
   126 -    qq[PASTHRU="CC=$Config::Config{cc} $Config::Config{cccdlflags}" RANLIB=\"$Config::Config{ranlib}\"];
       
   127 -   }
       
   128 -}
       
   129 -
   119 -
   130 -sub postamble {
   120 -sub postamble {
   131 -  my $s = '';
   121 -  my $s = '';
   132 -  if (-f "libpng/Makefile.PL")
   122 -  if (-f "libpng/Makefile.PL")
   133 -   {
   123 -   {