ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/Makefile.PL
Revision: 1.61
Committed: Thu Nov 23 08:30:03 2023 UTC (5 months, 1 week ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.60: +5 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
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 ** jpeg-xl reference implementation
17 **
18
19 EOF
20
21 use 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);
47
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 PREOP => 'pod2text bin/cv | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
63 COMPRESS => 'gzip -9v',
64 SUFFIX => '.gz',
65 },
66 PREREQ_PM => {
67 common::sense => 3.6,
68 Guard => 1.02,
69 AnyEvent => 6,
70 AnyEvent::Fork => 0,
71 Glib => 1.08,
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,
80 },
81 DIR => [],
82 NAME => 'Gtk2::CV',
83 VERSION_FROM => 'lib/Gtk2/CV.pm',
84 EXE_FILES => [qw(bin/cv)],
85 $pkg->get_makefile_vars,
86 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',
99 'lib/Gtk2/CV.pm' => '$(INST_LIB)/Gtk2/CV.pm',
100
101 'gtkrc' => '$(INST_LIB)/Gtk2/CV/gtkrc',
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-generic-archive.png' => '$(INST_LIB)/Gtk2/CV/images/file-generic-archive.png',
113 'images/file-generic-cd.png' => '$(INST_LIB)/Gtk2/CV/images/file-generic-cd.png',
114 'images/file-generic-document.png' => '$(INST_LIB)/Gtk2/CV/images/file-generic-document.png',
115 'images/file-generic-movie.png' => '$(INST_LIB)/Gtk2/CV/images/file-generic-movie.png',
116 'images/file-avi.png' => '$(INST_LIB)/Gtk2/CV/images/file-avi.png',
117 'images/file-ogm.png' => '$(INST_LIB)/Gtk2/CV/images/file-ogm.png',
118 'images/file-tif.png' => '$(INST_LIB)/Gtk2/CV/images/file-tif.png',
119 'images/file-gif.png' => '$(INST_LIB)/Gtk2/CV/images/file-gif.png',
120 'images/file-jpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-jpeg.png',
121 'images/file-mpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-mpeg.png',
122 'images/file-png.png' => '$(INST_LIB)/Gtk2/CV/images/file-png.png',
123 'images/file-txt.png' => '$(INST_LIB)/Gtk2/CV/images/file-txt.png',
124 'images/file-wmv.png' => '$(INST_LIB)/Gtk2/CV/images/file-wmv.png',
125 'images/file-mov.png' => '$(INST_LIB)/Gtk2/CV/images/file-mov.png',
126 'images/file-asf.png' => '$(INST_LIB)/Gtk2/CV/images/file-asf.png',
127 'images/file-rar.png' => '$(INST_LIB)/Gtk2/CV/images/file-rar.png',
128 'images/file-zip.png' => '$(INST_LIB)/Gtk2/CV/images/file-zip.png',
129 'images/file-ace.png' => '$(INST_LIB)/Gtk2/CV/images/file-ace.png',
130 'images/file-7z.png' => '$(INST_LIB)/Gtk2/CV/images/file-7z.png',
131 'images/file-audio.png' => '$(INST_LIB)/Gtk2/CV/images/file-audio.png',
132 'images/file-mp2.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp2.png',
133 'images/file-mp3.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp3.png',
134 'images/file-midi.png' => '$(INST_LIB)/Gtk2/CV/images/file-midi.png',
135 'images/file-rm.png' => '$(INST_LIB)/Gtk2/CV/images/file-rm.png',
136 'images/file-par.png' => '$(INST_LIB)/Gtk2/CV/images/file-par.png',
137 },
138 );
139
140
141