| 1 |
root |
1.9 |
require 5.008; |
| 2 |
root |
1.1 |
|
| 3 |
root |
1.27 |
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 |
root |
1.50 |
** |
| 9 |
root |
1.33 |
** apt-get install libextutils-depends-perl |
| 10 |
root |
1.38 |
** apt-get install libgtk2-ex-podviewer-perl libgtk2-gladexml-perl |
| 11 |
root |
1.29 |
** apt-get install libmagic-dev libjpeg62-dev libglib-perl libgtk2-perl |
| 12 |
root |
1.41 |
** apt-get install libgtk2.0-dev |
| 13 |
root |
1.27 |
** |
| 14 |
root |
1.52 |
** Optional dependencies: |
| 15 |
|
|
** apt-get install libwebp-dev |
| 16 |
root |
1.55 |
** jpeg-xl reference implementation |
| 17 |
root |
1.52 |
** |
| 18 |
root |
1.27 |
|
| 19 |
|
|
EOF |
| 20 |
|
|
|
| 21 |
root |
1.2 |
use ExtUtils::MakeMaker; |
| 22 |
|
|
use ExtUtils::Depends; |
| 23 |
|
|
|
| 24 |
root |
1.17 |
my $pkg = new ExtUtils::Depends ("Gtk2::CV"); |
| 25 |
|
|
|
| 26 |
root |
1.52 |
my $lib = "-ljpeg -lmagic"; |
| 27 |
|
|
my $inc = ""; |
| 28 |
|
|
|
| 29 |
root |
1.53 |
if (!system "pkg-config --exists libwebp libwebpdemux") { |
| 30 |
root |
1.52 |
$inc .= " -DWEBP=1"; |
| 31 |
root |
1.53 |
$inc .= " " . qx<pkg-config --cflags libwebp libwebpdemux>; |
| 32 |
|
|
$lib .= " " . qx<pkg-config --libs libwebp libwebpdemux>; |
| 33 |
root |
1.52 |
} |
| 34 |
|
|
|
| 35 |
root |
1.55 |
if (!system "pkg-config --exists libjxl libjxl_threads") { |
| 36 |
|
|
$inc .= " -DJXL=1"; |
| 37 |
|
|
$inc .= " " . qx<pkg-config --cflags libjxl libjxl_threads>; |
| 38 |
|
|
$lib .= " " . qx<pkg-config --libs libjxl libjxl_threads>; |
| 39 |
|
|
} |
| 40 |
|
|
|
| 41 |
root |
1.58 |
s/\n/ /g |
| 42 |
|
|
for $inc, $lib; |
| 43 |
|
|
|
| 44 |
root |
1.17 |
$pkg->add_deps ("Gtk2", "Glib"); |
| 45 |
root |
1.52 |
$pkg->set_libs ($lib); |
| 46 |
|
|
$pkg->set_inc ($inc); |
| 47 |
root |
1.1 |
|
| 48 |
|
|
sub MY::postamble { |
| 49 |
|
|
my $self=shift; |
| 50 |
|
|
<<EOF |
| 51 |
|
|
|
| 52 |
|
|
.PHONY: doc |
| 53 |
|
|
|
| 54 |
|
|
run: all |
| 55 |
|
|
\$(PERL) -Mblib -MCarp=verbose bin/cv |
| 56 |
|
|
|
| 57 |
|
|
EOF |
| 58 |
|
|
} |
| 59 |
|
|
|
| 60 |
|
|
WriteMakefile( |
| 61 |
|
|
dist => { |
| 62 |
root |
1.5 |
PREOP => 'pod2text bin/cv | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
| 63 |
root |
1.1 |
COMPRESS => 'gzip -9v', |
| 64 |
|
|
SUFFIX => '.gz', |
| 65 |
|
|
}, |
| 66 |
|
|
PREREQ_PM => { |
| 67 |
root |
1.48 |
common::sense => 3.6, |
| 68 |
root |
1.46 |
Guard => 1.02, |
| 69 |
root |
1.47 |
AnyEvent => 6, |
| 70 |
root |
1.49 |
AnyEvent::Fork => 0, |
| 71 |
root |
1.26 |
Glib => 1.08, |
| 72 |
root |
1.48 |
Gtk2 => 1.246, |
| 73 |
root |
1.37 |
Gtk2::Ex::PodViewer => 0.17, |
| 74 |
root |
1.26 |
Gtk2::GladeXML => 0.93, |
| 75 |
root |
1.40 |
# GStreamer => 0.11, |
| 76 |
root |
1.48 |
IO::AIO => 4, |
| 77 |
root |
1.51 |
JSON::XS => 2.2, |
| 78 |
root |
1.59 |
AnyEvent::MPV => 0.2, |
| 79 |
|
|
Task::Weaken => 0, |
| 80 |
root |
1.1 |
}, |
| 81 |
|
|
DIR => [], |
| 82 |
|
|
NAME => 'Gtk2::CV', |
| 83 |
root |
1.4 |
VERSION_FROM => 'lib/Gtk2/CV.pm', |
| 84 |
root |
1.1 |
EXE_FILES => [qw(bin/cv)], |
| 85 |
root |
1.2 |
$pkg->get_makefile_vars, |
| 86 |
root |
1.1 |
PM => { |
| 87 |
root |
1.51 |
'lib/Gtk2/CV/ImageWindow.pm' => '$(INST_LIB)/Gtk2/CV/ImageWindow.pm', |
| 88 |
|
|
'lib/Gtk2/CV/Schnauzer.pm' => '$(INST_LIB)/Gtk2/CV/Schnauzer.pm', |
| 89 |
|
|
'lib/Gtk2/CV/PostScript.pm' => '$(INST_LIB)/Gtk2/CV/PostScript.pm', |
| 90 |
|
|
'lib/Gtk2/CV/PrintDialog.pm' => '$(INST_LIB)/Gtk2/CV/PrintDialog.pm', |
| 91 |
|
|
'lib/Gtk2/CV/Jobber.pm' => '$(INST_LIB)/Gtk2/CV/Jobber.pm', |
| 92 |
root |
1.60 |
'lib/Gtk2/CV/Util.pm' => '$(INST_LIB)/Gtk2/CV/Util.pm', |
| 93 |
root |
1.51 |
'lib/Gtk2/CV/Plugin.pm' => '$(INST_LIB)/Gtk2/CV/Plugin.pm', |
| 94 |
|
|
'lib/Gtk2/CV/Plugin/NameCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/NameCluster.pm', |
| 95 |
|
|
'lib/Gtk2/CV/Plugin/PatRenamer.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/PatRenamer.pm', |
| 96 |
|
|
'lib/Gtk2/CV/Plugin/RCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/RCluster.pm', |
| 97 |
root |
1.54 |
'lib/Gtk2/CV/Plugin/MetaCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/MetaCluster.pm', |
| 98 |
root |
1.51 |
'lib/Gtk2/CV/Progress.pm' => '$(INST_LIB)/Gtk2/CV/Progress.pm', |
| 99 |
|
|
'lib/Gtk2/CV.pm' => '$(INST_LIB)/Gtk2/CV.pm', |
| 100 |
root |
1.5 |
|
| 101 |
root |
1.51 |
'gtkrc' => '$(INST_LIB)/Gtk2/CV/gtkrc', |
| 102 |
|
|
'cv.glade' => '$(INST_LIB)/Gtk2/CV/cv.glade', |
| 103 |
root |
1.1 |
|
| 104 |
root |
1.51 |
'images/cv.png' => '$(INST_LIB)/Gtk2/CV/images/cv.png', |
| 105 |
|
|
'images/error.png' => '$(INST_LIB)/Gtk2/CV/images/error.png', |
| 106 |
|
|
'images/dir-unvisited.png' => '$(INST_LIB)/Gtk2/CV/images/dir-unvisited.png', |
| 107 |
|
|
'images/dir-visited.png' => '$(INST_LIB)/Gtk2/CV/images/dir-visited.png', |
| 108 |
|
|
'images/dir-xvpics.png' => '$(INST_LIB)/Gtk2/CV/images/dir-xvpics.png', |
| 109 |
|
|
'images/dir-empty.png' => '$(INST_LIB)/Gtk2/CV/images/dir-empty.png', |
| 110 |
|
|
'images/dir-symlink.png' => '$(INST_LIB)/Gtk2/CV/images/dir-symlink.png', |
| 111 |
|
|
'images/file.png' => '$(INST_LIB)/Gtk2/CV/images/file.png', |
| 112 |
|
|
'images/file-avi.png' => '$(INST_LIB)/Gtk2/CV/images/file-avi.png', |
| 113 |
|
|
'images/file-ogm.png' => '$(INST_LIB)/Gtk2/CV/images/file-ogm.png', |
| 114 |
|
|
'images/file-tif.png' => '$(INST_LIB)/Gtk2/CV/images/file-tif.png', |
| 115 |
|
|
'images/file-gif.png' => '$(INST_LIB)/Gtk2/CV/images/file-gif.png', |
| 116 |
|
|
'images/file-jpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-jpeg.png', |
| 117 |
|
|
'images/file-mpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-mpeg.png', |
| 118 |
|
|
'images/file-png.png' => '$(INST_LIB)/Gtk2/CV/images/file-png.png', |
| 119 |
|
|
'images/file-txt.png' => '$(INST_LIB)/Gtk2/CV/images/file-txt.png', |
| 120 |
|
|
'images/file-wmv.png' => '$(INST_LIB)/Gtk2/CV/images/file-wmv.png', |
| 121 |
|
|
'images/file-mov.png' => '$(INST_LIB)/Gtk2/CV/images/file-mov.png', |
| 122 |
|
|
'images/file-asf.png' => '$(INST_LIB)/Gtk2/CV/images/file-asf.png', |
| 123 |
|
|
'images/file-rar.png' => '$(INST_LIB)/Gtk2/CV/images/file-rar.png', |
| 124 |
|
|
'images/file-zip.png' => '$(INST_LIB)/Gtk2/CV/images/file-zip.png', |
| 125 |
|
|
'images/file-ace.png' => '$(INST_LIB)/Gtk2/CV/images/file-ace.png', |
| 126 |
|
|
'images/file-audio.png' => '$(INST_LIB)/Gtk2/CV/images/file-audio.png', |
| 127 |
|
|
'images/file-mp2.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp2.png', |
| 128 |
|
|
'images/file-mp3.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp3.png', |
| 129 |
|
|
'images/file-midi.png' => '$(INST_LIB)/Gtk2/CV/images/file-midi.png', |
| 130 |
|
|
'images/file-rm.png' => '$(INST_LIB)/Gtk2/CV/images/file-rm.png', |
| 131 |
|
|
'images/file-par.png' => '$(INST_LIB)/Gtk2/CV/images/file-par.png', |
| 132 |
root |
1.1 |
}, |
| 133 |
|
|
); |
| 134 |
|
|
|
| 135 |
|
|
|
| 136 |
|
|
|