1 | require 5.008; |
1 | require 5.008; |
2 | |
2 | |
3 | use Config; |
3 | print <<EOF; |
4 | |
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 | ** jpeg-xl reference implementation |
|
|
17 | ** |
|
|
18 | |
|
|
19 | EOF |
|
|
20 | |
5 | require ExtUtils::MakeMaker; |
21 | use ExtUtils::MakeMaker; |
6 | import ExtUtils::MakeMaker; |
22 | use ExtUtils::Depends; |
|
|
23 | |
|
|
24 | my $pkg = new ExtUtils::Depends ("Gtk2::CV"); |
|
|
25 | |
|
|
26 | my $lib = "-ljpeg -lmagic"; |
|
|
27 | my $inc = ""; |
|
|
28 | |
|
|
29 | if (!system "pkg-config --exists libwebp libwebpdemux") { |
|
|
30 | $inc .= " -DWEBP=1"; |
|
|
31 | $inc .= " " . qx<pkg-config --cflags libwebp libwebpdemux>; |
|
|
32 | $lib .= " " . qx<pkg-config --libs libwebp libwebpdemux>; |
|
|
33 | } |
|
|
34 | |
|
|
35 | 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 | s/\n/ /g |
|
|
42 | for $inc, $lib; |
|
|
43 | |
|
|
44 | $pkg->add_deps ("Gtk2", "Glib"); |
|
|
45 | $pkg->set_libs ($lib); |
|
|
46 | $pkg->set_inc ($inc); |
7 | |
47 | |
8 | sub MY::postamble { |
48 | sub MY::postamble { |
9 | my $self=shift; |
49 | my $self=shift; |
10 | <<EOF |
50 | <<EOF |
11 | |
51 | |
… | |
… | |
17 | EOF |
57 | EOF |
18 | } |
58 | } |
19 | |
59 | |
20 | WriteMakefile( |
60 | WriteMakefile( |
21 | dist => { |
61 | dist => { |
22 | PREOP => 'chmod -R u=rwX,go=rX . ;', |
62 | PREOP => 'pod2text bin/cv | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
23 | COMPRESS => 'gzip -9v', |
63 | COMPRESS => 'gzip -9v', |
24 | SUFFIX => '.gz', |
64 | SUFFIX => '.gz', |
25 | }, |
65 | }, |
26 | PREREQ_PM => { |
66 | PREREQ_PM => { |
|
|
67 | common::sense => 3.6, |
|
|
68 | Guard => 1.02, |
|
|
69 | AnyEvent => 6, |
|
|
70 | AnyEvent::Fork => 0, |
|
|
71 | Glib => 1.08, |
27 | Gtk2 => 1.0, |
72 | Gtk2 => 1.246, |
|
|
73 | Gtk2::Ex::PodViewer => 0.17, |
|
|
74 | Gtk2::GladeXML => 0.93, |
|
|
75 | # GStreamer => 0.11, |
|
|
76 | IO::AIO => 4, |
|
|
77 | JSON::XS => 2.2, |
|
|
78 | AnyEvent::MPV => 0.2, |
|
|
79 | Task::Weaken => 0, |
28 | }, |
80 | }, |
29 | DIR => [], |
81 | DIR => [], |
30 | NAME => 'Gtk2::CV', |
82 | NAME => 'Gtk2::CV', |
31 | VERSION_FROM => 'bin/cv', |
83 | VERSION_FROM => 'lib/Gtk2/CV.pm', |
32 | XS_VERSION => 0.0001, |
|
|
33 | EXE_FILES => [qw(bin/cv)], |
84 | EXE_FILES => [qw(bin/cv)], |
|
|
85 | $pkg->get_makefile_vars, |
34 | PM => { |
86 | PM => { |
35 | 'lib/Gtk2/CV/ImageWindow.pm' => '$(INST_LIBDIR)/CV/ImageWindow.pm', |
87 | '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 | 'lib/Gtk2/CV/Util.pm' => '$(INST_LIB)/Gtk2/CV/Util.pm', |
|
|
93 | '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 | 'lib/Gtk2/CV/Plugin/MetaCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/MetaCluster.pm', |
|
|
98 | 'lib/Gtk2/CV/Progress.pm' => '$(INST_LIB)/Gtk2/CV/Progress.pm', |
36 | 'lib/Gtk2/CV.pm' => '$(INST_LIBDIR)/CV.pm', |
99 | 'lib/Gtk2/CV.pm' => '$(INST_LIB)/Gtk2/CV.pm', |
37 | |
100 | |
|
|
101 | 'gtkrc' => '$(INST_LIB)/Gtk2/CV/gtkrc', |
38 | 'cv.png' => '$(INST_LIBDIR)/CV/cv.png', |
102 | 'cv.glade' => '$(INST_LIB)/Gtk2/CV/cv.glade', |
|
|
103 | |
|
|
104 | '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', |
39 | }, |
132 | }, |
40 | ); |
133 | ); |
41 | |
134 | |
42 | |
135 | |
43 | |
136 | |