aboutsummaryrefslogtreecommitdiffstats
path: root/Build.PL
diff options
context:
space:
mode:
Diffstat (limited to 'Build.PL')
-rwxr-xr-xBuild.PL93
1 files changed, 93 insertions, 0 deletions
diff --git a/Build.PL b/Build.PL
new file mode 100755
index 0000000..91e314e
--- /dev/null
+++ b/Build.PL
@@ -0,0 +1,93 @@
+#!/usr/bin/perl
+
+use utf8;
+use 5.010;
+use strict;
+use warnings;
+use Module::Build;
+
+my $gtk = grep { /^--?gtk3?\z/ } @ARGV;
+
+my $builder = Module::Build->new(
+
+ module_name => 'WWW::StrawViewer',
+ license => 'perl',
+ dist_author => q{Trizen <echo dHJpemVuQHByb3Rvbm1haWwuY29tCg== | base64 -d>},
+ dist_version_from => 'lib/WWW/StrawViewer.pm',
+ release_status => 'stable',
+
+ build_requires => {
+ 'Test::More' => 0,
+ },
+
+ configure_requires => {
+ 'Module::Build' => 0,
+ },
+
+ get_options => {
+ 'gtk3' => {
+ type => '!',
+ store => \$gtk,
+ },
+ },
+
+ requires => {
+ 'perl' => 5.016,
+ 'Data::Dump' => 0,
+ 'File::Spec' => 0,
+ 'File::Spec::Functions' => 0,
+ 'File::Path' => 0,
+ 'Getopt::Long' => 0,
+ 'HTTP::Request' => 0,
+ 'JSON' => 0,
+ 'Encode' => 0,
+ 'MIME::Base64' => 0,
+ 'List::Util' => 0,
+ 'LWP::UserAgent' => 0,
+ 'LWP::Protocol::https' => 0,
+ 'Term::ANSIColor' => 0,
+ 'Term::ReadLine' => 0,
+ 'Text::ParseWords' => 0,
+ 'Text::Wrap' => 0,
+ 'URI::Escape' => 0,
+
+ $gtk
+ ? (
+ 'Gtk3' => 0,
+ 'File::ShareDir' => 0,
+ 'Storable' => 0,
+ 'Digest::MD5' => 0,
+ 'List::Util' => 1.43,
+ )
+ : (),
+ },
+
+ recommends => {
+ 'LWP::UserAgent::Cached' => 0, # cache support
+ 'Term::ReadLine::Gnu::XS' => 0, # for better STDIN support
+ 'JSON::XS' => 0, # faster JSON to HASH conversion
+ 'Mozilla::CA' => 0, # just in case if there are SSL problems
+ },
+
+ auto_features => {
+ fixed_width_support => {
+ description => "Print the results in a fixed-width format (--fixed-width, -W)",
+ requires => {
+ 'Unicode::GCString' => 0, # this is recommended
+ #'Text::CharWidth' => 0, # this works as fallback
+ },
+ },
+ },
+
+ add_to_cleanup => ['WWW-StrawViewer-*'],
+ create_makefile_pl => 'traditional',
+);
+
+$builder->script_files(
+ ['bin/straw-viewer',
+ ($gtk ? ('bin/gtk-straw-viewer') : ()),
+ ]
+ );
+
+$builder->share_dir('share') if $gtk;
+$builder->create_build_script();