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