X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/2ada86c7bb585d419b95c95ce42d5b7a9fa45475..fefdce4e24f9e397df5538fe6e7f54b5ece4d841:/src/librarian/font-optimizer/ext/Font-TTF/Makefile.PL diff --git a/src/librarian/font-optimizer/ext/Font-TTF/Makefile.PL b/src/librarian/font-optimizer/ext/Font-TTF/Makefile.PL new file mode 100644 index 0000000..c0518d5 --- /dev/null +++ b/src/librarian/font-optimizer/ext/Font-TTF/Makefile.PL @@ -0,0 +1,108 @@ +use ExtUtils::MakeMaker; +use Getopt::Std; + +getopts('d:rv:'); + +%pbuilderopts = ( + 'gutsy' => '--bindmounts /media/hosk_1' + ); + +$opt_v ||= 1; + +if ($^O eq 'linux' && !defined $opt_d) +{ + $opt_d = `lsb_release -c`; + $opt_d =~ s/^.*?(\w+)\s*$/$1/o; +} + +@theselibs = (grep {-f } glob("lib/Font/TTF/*"), "lib/Font/TTF.pm"); + +# incantation to enable MY::pm_to_blib later on +if ($^O eq 'MSWin32') +{ + push(@ExtUtils::MakeMaker::Overridable, qw(pm_to_blib)); + @extras = ('dist' => { 'TO_UNIX' => 'perl -Mtounix -e "tounix(\"$(DISTVNAME)\")"' }); +} + +%makeinfo = ( + NAME => 'Font::TTF', + VERSION_FROM => 'lib/Font/TTF.pm', +# VERSION => "0.38", +# HTMLLIBPODS => {map {my $t = $_; $t=~s/\..*?$/.html/o; $t='blib/Html/'.$t; $_ => $t;} @theselibs}, +# HTMLSCRIPTPODS => {map {my $t=$_; $t=~s/\..*?$/.html/o; $t='blib/Html/'.$t; $_ => $t;} @scripts}, + AUTHOR => "martin_hosken\@sil.org", + ABSTRACT => "TTF font support for Perl", + @extras + ); + +WriteMakefile(%makeinfo); + +if ($^O eq 'MSWin32') { +# incantation to solve the problem of everyone's $Config{make} being 'nmake' +# when we want 'pmake'. And $Config{} is read only. +# actually, this is just a copy of the code from ExtUtiles::MM_Win32 tidied +# up (to expose tabs) and the dependency on Config removed +sub MY::pm_to_blib +{ + my $self = shift; + my($autodir) = $self->catdir('$(INST_LIB)','auto'); + return <<"EOT"; + +pm_to_blib: \$(TO_INST_PM) +\t$self->{NOECHO}\$(PERL) \"-I\$(INST_ARCHLINE)\" \"-I\$(INST_LIB)\" \\ +\t\"-I\$(PERL_ARCHLIB)\" \"-I\$(PERL_LIB)\" -MExtUtils::Install \\ +\t-e \"pm_to_blib({ qw[\$(PM_TO_BLIB)] }, '$autodir') +\t$self->{NOECHO}\$(TOUCH) \$@ + +EOT +} + +} +elsif ($^O eq 'linux') +{ + +sub MY::postamble +{ + my ($self) = @_; + my ($res); + my ($package) = lc($self->{'NAME'}); + my ($pversion) = $self->{'VERSION'}; + my ($svn) = `svnversion`; + my ($sign) = '--auto-debsign' if ($opt_r); + my ($fpackage); + + $svn =~ s/[0-9]*://og; + $svn =~ s/\s+$//o; + $package =~ s/::/-/; + $package = "lib${package}-perl"; + $pversion .= "+$svn" unless ($opt_r); + $fpackage = "$package-$pversion"; + + $res = <<"EOT"; +deb-base: dist + rm -fr $self->{'DISTVNAME'} + rm -fr $fpackage + tar xvzf $self->{'DISTVNAME'}.tar.gz + mv $self->{'DISTVNAME'} $fpackage + tar cfz "${package}_$pversion.orig.tar.gz" $fpackage + cp -a debian $fpackage + cd $fpackage && find . -name .svn | xargs rm -rf + +# make deb builds an interim deb from svn source for release +deb: deb-base +EOT + + foreach $d (split(' ', $opt_d)) + { + $res .= <<"EOT"; + mkdir -p dists/$d + dch -D $d -v $pversion-$opt_v -m -b -c $fpackage/debian/changelog "Auto build from perl for $d" + cd $fpackage && pdebuild --buildresult ../dists/$d -- --basetgz /var/cache/pbuilder/base-$d.tgz $pbuilderopts{$d} +EOT + } + + return $res; +} + +} +