ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/Makefile.PL
Revision: 1.62
Committed: Tue Sep 16 06:19:11 2025 UTC (11 months, 4 weeks ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.61: +7 -2 lines
Log Message:
*** empty log message ***

File Contents

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