ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/Makefile.PL
Revision: 1.55
Committed: Mon Jan 4 04:49:04 2021 UTC (3 years, 4 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.54: +7 -0 lines
Log Message:
preliminary jpeg-xl support

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     ** apt-get install libwebp-dev
16 root 1.55 ** jpeg-xl reference implementation
17 root 1.52 **
18 root 1.27
19     EOF
20    
21 root 1.2 use ExtUtils::MakeMaker;
22     use ExtUtils::Depends;
23    
24 root 1.17 my $pkg = new ExtUtils::Depends ("Gtk2::CV");
25    
26 root 1.52 my $lib = "-ljpeg -lmagic";
27     my $inc = "";
28    
29 root 1.53 if (!system "pkg-config --exists libwebp libwebpdemux") {
30 root 1.52 $inc .= " -DWEBP=1";
31 root 1.53 $inc .= " " . qx<pkg-config --cflags libwebp libwebpdemux>;
32     $lib .= " " . qx<pkg-config --libs libwebp libwebpdemux>;
33 root 1.52 }
34    
35 root 1.55 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 root 1.17 $pkg->add_deps ("Gtk2", "Glib");
42 root 1.52 $pkg->set_libs ($lib);
43     $pkg->set_inc ($inc);
44 root 1.1
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 root 1.5 PREOP => 'pod2text bin/cv | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
60 root 1.1 COMPRESS => 'gzip -9v',
61     SUFFIX => '.gz',
62     },
63     PREREQ_PM => {
64 root 1.48 common::sense => 3.6,
65 root 1.46 Guard => 1.02,
66 root 1.47 AnyEvent => 6,
67 root 1.49 AnyEvent::Fork => 0,
68 root 1.26 Glib => 1.08,
69 root 1.48 Gtk2 => 1.246,
70 root 1.37 Gtk2::Ex::PodViewer => 0.17,
71 root 1.26 Gtk2::GladeXML => 0.93,
72 root 1.40 # GStreamer => 0.11,
73 root 1.48 IO::AIO => 4,
74 root 1.51 JSON::XS => 2.2,
75 root 1.1 },
76     DIR => [],
77     NAME => 'Gtk2::CV',
78 root 1.4 VERSION_FROM => 'lib/Gtk2/CV.pm',
79 root 1.1 EXE_FILES => [qw(bin/cv)],
80 root 1.2 $pkg->get_makefile_vars,
81 root 1.1 PM => {
82 root 1.51 '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 root 1.54 'lib/Gtk2/CV/Plugin/MetaCluster.pm' => '$(INST_LIB)/Gtk2/CV/Plugin/MetaCluster.pm',
92 root 1.51 'lib/Gtk2/CV/Progress.pm' => '$(INST_LIB)/Gtk2/CV/Progress.pm',
93     'lib/Gtk2/CV.pm' => '$(INST_LIB)/Gtk2/CV.pm',
94 root 1.5
95 root 1.51 'gtkrc' => '$(INST_LIB)/Gtk2/CV/gtkrc',
96     'cv.glade' => '$(INST_LIB)/Gtk2/CV/cv.glade',
97 root 1.1
98 root 1.51 '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 root 1.1 },
127     );
128    
129    
130