ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/Makefile.PL
Revision: 1.57
Committed: Sun Nov 28 23:26:52 2021 UTC (2 years, 5 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.56: +0 -2 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 $pkg->add_deps ("Gtk2", "Glib");
42 $pkg->set_libs ($lib);
43 $pkg->set_inc ($inc);
44
45 sub MY::postamble {
46 my $self=shift;
47 <<EOF
48
49 .PHONY: doc
50
51 run: all
52 \$(PERL) -Mblib -MCarp=verbose bin/cv
53
54 EOF
55 }
56
57 WriteMakefile(
58 dist => {
59 PREOP => 'pod2text bin/cv | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
60 COMPRESS => 'gzip -9v',
61 SUFFIX => '.gz',
62 },
63 PREREQ_PM => {
64 common::sense => 3.6,
65 Guard => 1.02,
66 AnyEvent => 6,
67 AnyEvent::Fork => 0,
68 Glib => 1.08,
69 Gtk2 => 1.246,
70 Gtk2::Ex::PodViewer => 0.17,
71 Gtk2::GladeXML => 0.93,
72 # GStreamer => 0.11,
73 IO::AIO => 4,
74 JSON::XS => 2.2,
75 },
76 DIR => [],
77 NAME => 'Gtk2::CV',
78 VERSION_FROM => 'lib/Gtk2/CV.pm',
79 EXE_FILES => [qw(bin/cv)],
80 $pkg->get_makefile_vars,
81 PM => {
82 'lib/Gtk2/CV/ImageWindow.pm' => '$(INST_LIB)/Gtk2/CV/ImageWindow.pm',
83 'lib/Gtk2/CV/Schnauzer.pm' => '$(INST_LIB)/Gtk2/CV/Schnauzer.pm',
84 'lib/Gtk2/CV/PostScript.pm' => '$(INST_LIB)/Gtk2/CV/PostScript.pm',
85 'lib/Gtk2/CV/PrintDialog.pm' => '$(INST_LIB)/Gtk2/CV/PrintDialog.pm',
86 'lib/Gtk2/CV/Jobber.pm' => '$(INST_LIB)/Gtk2/CV/Jobber.pm',
87 'lib/Gtk2/CV/Plugin.pm' => '$(INST_LIB)/Gtk2/CV/Plugin.pm',
88 'lib/Gtk2/CV/Plugin/NameCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/NameCluster.pm',
89 'lib/Gtk2/CV/Plugin/PatRenamer.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/PatRenamer.pm',
90 'lib/Gtk2/CV/Plugin/RCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/RCluster.pm',
91 'lib/Gtk2/CV/Plugin/MetaCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/MetaCluster.pm',
92 'lib/Gtk2/CV/Progress.pm' => '$(INST_LIB)/Gtk2/CV/Progress.pm',
93 'lib/Gtk2/CV.pm' => '$(INST_LIB)/Gtk2/CV.pm',
94
95 'gtkrc' => '$(INST_LIB)/Gtk2/CV/gtkrc',
96 'cv.glade' => '$(INST_LIB)/Gtk2/CV/cv.glade',
97
98 'images/cv.png' => '$(INST_LIB)/Gtk2/CV/images/cv.png',
99 'images/error.png' => '$(INST_LIB)/Gtk2/CV/images/error.png',
100 'images/dir-unvisited.png' => '$(INST_LIB)/Gtk2/CV/images/dir-unvisited.png',
101 'images/dir-visited.png' => '$(INST_LIB)/Gtk2/CV/images/dir-visited.png',
102 'images/dir-xvpics.png' => '$(INST_LIB)/Gtk2/CV/images/dir-xvpics.png',
103 'images/dir-empty.png' => '$(INST_LIB)/Gtk2/CV/images/dir-empty.png',
104 'images/dir-symlink.png' => '$(INST_LIB)/Gtk2/CV/images/dir-symlink.png',
105 'images/file.png' => '$(INST_LIB)/Gtk2/CV/images/file.png',
106 'images/file-avi.png' => '$(INST_LIB)/Gtk2/CV/images/file-avi.png',
107 'images/file-ogm.png' => '$(INST_LIB)/Gtk2/CV/images/file-ogm.png',
108 'images/file-tif.png' => '$(INST_LIB)/Gtk2/CV/images/file-tif.png',
109 'images/file-gif.png' => '$(INST_LIB)/Gtk2/CV/images/file-gif.png',
110 'images/file-jpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-jpeg.png',
111 'images/file-mpeg.png' => '$(INST_LIB)/Gtk2/CV/images/file-mpeg.png',
112 'images/file-png.png' => '$(INST_LIB)/Gtk2/CV/images/file-png.png',
113 'images/file-txt.png' => '$(INST_LIB)/Gtk2/CV/images/file-txt.png',
114 'images/file-wmv.png' => '$(INST_LIB)/Gtk2/CV/images/file-wmv.png',
115 'images/file-mov.png' => '$(INST_LIB)/Gtk2/CV/images/file-mov.png',
116 'images/file-asf.png' => '$(INST_LIB)/Gtk2/CV/images/file-asf.png',
117 'images/file-rar.png' => '$(INST_LIB)/Gtk2/CV/images/file-rar.png',
118 'images/file-zip.png' => '$(INST_LIB)/Gtk2/CV/images/file-zip.png',
119 'images/file-ace.png' => '$(INST_LIB)/Gtk2/CV/images/file-ace.png',
120 'images/file-audio.png' => '$(INST_LIB)/Gtk2/CV/images/file-audio.png',
121 'images/file-mp2.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp2.png',
122 'images/file-mp3.png' => '$(INST_LIB)/Gtk2/CV/images/file-mp3.png',
123 'images/file-midi.png' => '$(INST_LIB)/Gtk2/CV/images/file-midi.png',
124 'images/file-rm.png' => '$(INST_LIB)/Gtk2/CV/images/file-rm.png',
125 'images/file-par.png' => '$(INST_LIB)/Gtk2/CV/images/file-par.png',
126 },
127 );
128
129
130