Alien-SDL2

 view release on metacpan or  search on metacpan

inc/My/Utility.pm  view on Meta::CPAN

use File::Find qw(find);
use File::Which;
use File::Copy qw(cp);
use Cwd qw(realpath);

our $cc                 = $Config{cc};
our $inc_lib_candidates = {
  '/usr/local/include'       => '/usr/local/lib',
  '/usr/include'             => '/usr/lib',
  '/usr/X11R6/include'       => '/usr/X11R6/lib',
  '/usr/local/include/smpeg' => '/usr/local/lib',
};
$inc_lib_candidates->{'/usr/pkg/include/smpeg'} = '/usr/local/lib'            if -f '/usr/pkg/include/smpeg/smpeg.h';
$inc_lib_candidates->{'/usr/include/smpeg'}     = '/usr/lib'                  if -f '/usr/include/smpeg/smpeg.h';
$inc_lib_candidates->{'/usr/X11R6/include'}     = '/usr/X11R6/lib'            if -f '/usr/X11R6/include/GL/gl.h';
$inc_lib_candidates->{'/usr/X11R7/include'}     = '/usr/X11R7/lib'            if -f '/usr/X11R7/include/GL/gl.h';
$inc_lib_candidates->{'/usr/X11R7/include'}     = '/usr/X11R7/lib'            if -f '/usr/X11R7/include/freetype2/freetype/freetype.h';
$inc_lib_candidates->{'/usr/X11R7/include'}     = '/usr/X11R7/lib'            if -f '/usr/X11R7/include/fontconfig/fontconfig.h';
$inc_lib_candidates->{'/usr/include/ogg'}       = '/usr/lib/x86_64-linux-gnu' if -f '/usr/lib/x86_64-linux-gnu/libogg.so';
$inc_lib_candidates->{'/usr/include/vorbis'}    = '/usr/lib/x86_64-linux-gnu' if -f '/usr/lib/x86_64-linux-gnu/libvorbis.so';
$inc_lib_candidates->{'/usr/include'}           = '/usr/lib64'                if -e '/usr/lib64' && $Config{'myarchname'} =~ /64/;
$inc_lib_candidates->{'/usr/include'}           = ['/usr/lib64', '/usr/lib']  if -e '/usr/lib64' && -e '/usr/lib' && $Config{'myarchname'} =~ /64/;

$inc_lib_candidates->{$ENV{SDL2_INC}}           = $ENV{SDL2_LIB}              if exists $ENV{SDL2_LIB} && exists $ENV{SDL2_INC};

#### packs with prebuilt binaries
# the order matters, we offer binaries to user in the same order (1st = preffered)
my $prebuilt_binaries = [
    {
      title    => "Binaries Win/32bit SDL2 (20130305) RECOMMENDED\n" .
                  "\t(gfx, image, mixer, net, smpeg, ttf)",
      url      => [
        'http://strawberryperl.com/package/kmx/sdl/32bit_SDL2_20130305.zip',
      ],
      sha1sum  => 'e77e5f04339d60871e9b79f66ac1bca4996648a7',
      match    => sub { $Config{archname} =~ /^MSWin32-x86-/ && $Config{cc} =~ /gcc/ },
    },
    {
      title    => "Binaries Win/64bit SDL2 (20130305) RECOMMENDED\n" .
                  "\t(gfx, image, mixer, net, smpeg, ttf)",
      url      => [
        'http://strawberryperl.com/package/kmx/sdl/64bit_SDL2_20130305.zip',
      ],
      sha1sum  => 'f4d9b5e933029571ebbc1e323f504300da7988bc',
      match    => sub { $Config{archname} =~ /^MSWin32-x64-/ && $Config{cc} =~ /gcc/ },
    },
 ];

#### tarballs with source codes
our $source_packs = [
  {
    title   => "Source code build\n    ",
    members => [
      {
        pack => 'z',
        version => '1.2.8',
        dirname => 'zlib-1.2.8',
        url => [
          'http://zlib.net/zlib-1.2.8.tar.gz'
        ],
        sha1sum  => 'a4d316c404ff54ca545ea71a27af7dbc29817088',
        patches => [],
        prereq_libs => [],
      },
      {
        pack => 'jpeg',
        version => '9',
        dirname => 'jpeg-9',
        url => [
          'http://www.ijg.org/files/jpegsrc.v9.tar.gz'
        ],
        sha1sum  => '724987e7690ca3d74d6ab7c1f1b6854e88ca204b',
        patches => [],
        prereq_libs => [],
      },
      {
        pack => 'tiff',
        version => '4.0.3',
        dirname => 'tiff-4.0.3',
        url => [
          'ftp://ftp.remotesensing.org/pub/libtiff/tiff-4.0.3.tar.gz',
        ],
        sha1sum  => '652e97b78f1444237a82cbcfe014310e776eb6f0',
        patches => ['libtiff.4.0.3.tiffio.h.patch'],
        prereq_libs => [],
      },
      {
        pack => 'png',
        version => '1.6.3',
        dirname => 'libpng-1.6.3',
        url => [
          'http://downloads.sourceforge.net/libpng/libpng-1.6.3.tar.gz',
        ],
        sha1sum  => 'b8b7b911909c09d71324536aaa7750104d170c77',
        patches => ['libpng-1.6.3-hack.patch'],
        prereq_libs => ['z'],
      },
      {
        pack => 'freetype',
        version => '2.5.0.1',
        dirname => 'freetype-2.5.0.1',
        url => [
          'http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/freetype/freetype-2.5.0.1.tar.gz',
        ],
        sha1sum  => '2d539b375688466a8e7dcc4260ab21003faab08c',
        patches => [],
        prereq_libs => ['SDL2', 'freetype'],
      },
      {
        pack => 'SDL2',
        version => '2.0.0',
        dirname => 'SDL2-2.0.0',
        url => [
          'http://www.libsdl.org/release/SDL2-2.0.0.tar.gz',
          'http://strawberryperl.com/package/kmx/sdl/src/SDL2-2.0.0.tar.gz',
        ],
        sha1sum  => 'a907eb5203abad6649c1eae0120d96c0a1931350',
        patches => [],
        prereq_libs => ['pthread'],
      },
      {



( run in 1.570 second using v1.01-cache-2.11-cpan-39bf76dae61 )