1 |
require 5.008; |
2 |
|
3 |
print <<EOF; |
4 |
|
5 |
** |
6 |
** If you get any errors, make sure you have libmagic (from "file"), |
7 |
** libjpeg, Gtk2 and Glib. On debian, this should get you there: |
8 |
** |
9 |
** apt-get install libextutils-depends-perl |
10 |
** apt-get install libgtk2-ex-podviewer-perl libgtk2-gladexml-perl |
11 |
** apt-get install libmagic-dev libjpeg62-dev libglib-perl libgtk2-perl |
12 |
** apt-get install libgtk2.0-dev |
13 |
** |
14 |
** Optional dependencies: |
15 |
** apt-get install libwebp-dev |
16 |
** |
17 |
|
18 |
EOF |
19 |
|
20 |
use ExtUtils::MakeMaker; |
21 |
use ExtUtils::Depends; |
22 |
|
23 |
my $pkg = new ExtUtils::Depends ("Gtk2::CV"); |
24 |
|
25 |
my $lib = "-ljpeg -lmagic"; |
26 |
my $inc = ""; |
27 |
|
28 |
if (!system "pkg-config --exists libwebp libwebpdemux") { |
29 |
$inc .= " -DWEBP=1"; |
30 |
$inc .= " " . qx<pkg-config --cflags libwebp libwebpdemux>; |
31 |
$lib .= " " . qx<pkg-config --libs libwebp libwebpdemux>; |
32 |
} |
33 |
|
34 |
$pkg->add_deps ("Gtk2", "Glib"); |
35 |
$pkg->set_libs ($lib); |
36 |
$pkg->set_inc ($inc); |
37 |
|
38 |
sub MY::postamble { |
39 |
my $self=shift; |
40 |
<<EOF |
41 |
|
42 |
.PHONY: doc |
43 |
|
44 |
run: all |
45 |
\$(PERL) -Mblib -MCarp=verbose bin/cv |
46 |
|
47 |
EOF |
48 |
} |
49 |
|
50 |
WriteMakefile( |
51 |
dist => { |
52 |
PREOP => 'pod2text bin/cv | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
53 |
COMPRESS => 'gzip -9v', |
54 |
SUFFIX => '.gz', |
55 |
}, |
56 |
PREREQ_PM => { |
57 |
common::sense => 3.6, |
58 |
Guard => 1.02, |
59 |
AnyEvent => 6, |
60 |
AnyEvent::Fork => 0, |
61 |
Glib => 1.08, |
62 |
Gtk2 => 1.246, |
63 |
Gtk2::Ex::PodViewer => 0.17, |
64 |
Gtk2::GladeXML => 0.93, |
65 |
# GStreamer => 0.11, |
66 |
IO::AIO => 4, |
67 |
JSON::XS => 2.2, |
68 |
}, |
69 |
DIR => [], |
70 |
NAME => 'Gtk2::CV', |
71 |
VERSION_FROM => 'lib/Gtk2/CV.pm', |
72 |
EXE_FILES => [qw(bin/cv)], |
73 |
$pkg->get_makefile_vars, |
74 |
PM => { |
75 |
'lib/Gtk2/CV/ImageWindow.pm' => '$(INST_LIB)/Gtk2/CV/ImageWindow.pm', |
76 |
'lib/Gtk2/CV/Schnauzer.pm' => '$(INST_LIB)/Gtk2/CV/Schnauzer.pm', |
77 |
'lib/Gtk2/CV/PostScript.pm' => '$(INST_LIB)/Gtk2/CV/PostScript.pm', |
78 |
'lib/Gtk2/CV/PrintDialog.pm' => '$(INST_LIB)/Gtk2/CV/PrintDialog.pm', |
79 |
'lib/Gtk2/CV/Jobber.pm' => '$(INST_LIB)/Gtk2/CV/Jobber.pm', |
80 |
'lib/Gtk2/CV/Plugin.pm' => '$(INST_LIB)/Gtk2/CV/Plugin.pm', |
81 |
'lib/Gtk2/CV/Plugin/NameCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/NameCluster.pm', |
82 |
'lib/Gtk2/CV/Plugin/PatRenamer.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/PatRenamer.pm', |
83 |
'lib/Gtk2/CV/Plugin/RCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/RCluster.pm', |
84 |
'lib/Gtk2/CV/Plugin/MetaCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/MetaCluster.pm', |
85 |
'lib/Gtk2/CV/Progress.pm' => '$(INST_LIB)/Gtk2/CV/Progress.pm', |
86 |
'lib/Gtk2/CV.pm' => '$(INST_LIB)/Gtk2/CV.pm', |
87 |
|
88 |
'gtkrc' => '$(INST_LIB)/Gtk2/CV/gtkrc', |
89 |
'cv.glade' => '$(INST_LIB)/Gtk2/CV/cv.glade', |
90 |
|
91 |
'images/cv.png' => '$(INST_LIB)/Gtk2/CV/images/cv.png', |
92 |
'images/error.png' => '$(INST_LIB)/Gtk2/CV/images/error.png', |
93 |
'images/dir-unvisited.png' => '$(INST_LIB)/Gtk2/CV/images/dir-unvisited.png', |
94 |
'images/dir-visited.png' => '$(INST_LIB)/Gtk2/CV/images/dir-visited.png', |
95 |
'images/dir-xvpics.png' => '$(INST_LIB)/Gtk2/CV/images/dir-xvpics.png', |
96 |
'images/dir-empty.png' => '$(INST_LIB)/Gtk2/CV/images/dir-empty.png', |
97 |
'images/dir-symlink.png' => '$(INST_LIB)/Gtk2/CV/images/dir-symlink.png', |
98 |
'images/file.png' => '$(INST_LIB)/Gtk2/CV/images/file.png', |
99 |
'images/file-avi.png' => '$(INST_LIB)/Gtk2/CV/images/file-avi.png', |
100 |
'images/file-ogm.png' => '$(INST_LIB)/Gtk2/CV/images/file-ogm.png', |
101 |
'images/file-tif.png' => '$(INST_LIB)/Gtk2/CV/images/file-tif.png', |
102 |
'images/file-gif.png' => '$(INST_LIB)/Gtk2/CV/images/file-gif.png', |
103 |
'images/file-jpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-jpeg.png', |
104 |
'images/file-mpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-mpeg.png', |
105 |
'images/file-png.png' => '$(INST_LIB)/Gtk2/CV/images/file-png.png', |
106 |
'images/file-txt.png' => '$(INST_LIB)/Gtk2/CV/images/file-txt.png', |
107 |
'images/file-wmv.png' => '$(INST_LIB)/Gtk2/CV/images/file-wmv.png', |
108 |
'images/file-mov.png' => '$(INST_LIB)/Gtk2/CV/images/file-mov.png', |
109 |
'images/file-asf.png' => '$(INST_LIB)/Gtk2/CV/images/file-asf.png', |
110 |
'images/file-rar.png' => '$(INST_LIB)/Gtk2/CV/images/file-rar.png', |
111 |
'images/file-zip.png' => '$(INST_LIB)/Gtk2/CV/images/file-zip.png', |
112 |
'images/file-ace.png' => '$(INST_LIB)/Gtk2/CV/images/file-ace.png', |
113 |
'images/file-audio.png' => '$(INST_LIB)/Gtk2/CV/images/file-audio.png', |
114 |
'images/file-mp2.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp2.png', |
115 |
'images/file-mp3.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp3.png', |
116 |
'images/file-midi.png' => '$(INST_LIB)/Gtk2/CV/images/file-midi.png', |
117 |
'images/file-rm.png' => '$(INST_LIB)/Gtk2/CV/images/file-rm.png', |
118 |
'images/file-par.png' => '$(INST_LIB)/Gtk2/CV/images/file-par.png', |
119 |
}, |
120 |
); |
121 |
|
122 |
|
123 |
|