use 5.014000;
use ExtUtils::MakeMaker;
+my @optionals = (
+ qw/Audio::FLAC::Header 0
+ Audio::Opusfile 0
+ MP3::Info 0
+ MP4::Info 0
+ Ogg::Vorbis::Header::PurePerl 0/,
+);
+
+sub is_installed {
+ my ($module) = @_;
+ eval "require $module"
+}
+
+my @extra_prereqs;
+
+unless (grep \&is_installed, @optionals) {
+ my $answer = '';
+ while (!$answer) {
+ my $yn = lc prompt 'None of the optional dependencies are installed. Install all of them? (default: y) [y/n]', 'y';
+ $answer = $yn if $yn eq 'y' || $yn eq 'n';
+ }
+ @extra_prereqs = @optionals if $answer eq 'y';
+}
+
WriteMakefile(
NAME => 'App::MusicExpo',
VERSION_FROM => 'lib/App/MusicExpo.pm',
LICENSE => 'perl',
SIGN => 1,
PREREQ_PM => {
- qw/Audio::FLAC::Header 0
- Audio::Opusfile 0
- HTML::Template::Compiled 0
+ qw/HTML::Template::Compiled 0
Memoize 0
- MP3::Info 0
- MP4::Info 0
- DB_File 0
- Ogg::Vorbis::Header::PurePerl 0/,
+ DB_File 0/,
+ @extra_prereqs
},
META_MERGE => {
- dynamic_config => 0,
+ dynamic_config => 1,
resources => {
repository => 'http://git.ieval.ro/?p=app-musicexpo.git'
},
+ recommends => { @optionals },
}
);
This module requires these other modules and libraries:
+ * HTML::Template::Compiled
+
+The following modules are optional; they determine the formats that
+can be read by MusicExpo. Be sure to install at least one of them,
+otherwise MusicExpo won't be able to do much!
+
* Audio::FLAC::Header
* Audio::Opusfile
- * HTML::Template::Compiled
* MP3::Info
* MP4::Info
* Ogg::Vorbis::Header::PurePerl