App-Sandy
view release on metacpan or search on metacpan
inc/SandyMakeMaker.pm view on Meta::CPAN
package inc::SandyMakeMaker;
# ABSTRACT: Install bash/zsh completion and database
use Moose;
extends 'Dist::Zilla::Plugin::MakeMaker::Awesome';
override _build_MakeFile_PL_template => sub {
my $self = shift;
my $template = super();
$template .= << 'TEMPLATE';
package MY;
use File::ShareDir::Install;
# These two are necessary to keep bmake happy
sub xs_c {
my $self = shift;
my $ret = $self->SUPER::xs_c(@_);
$ret =~ s/\$\*\.xs/\$</g;
$ret =~ s/\$\*\.c\b/\$@/g;
return $ret;
}
sub c_o {
my $self = shift;
my $ret = $self->SUPER::c_o(@_);
$ret =~ s/\$\*\.c\b/\$</g;
$ret =~ s/\$\*\$\(OBJ_EXT\)/\$@/g;
return $ret;
}
sub const_cccmd {
my $ret = shift->SUPER::const_cccmd(@_);
return q{} unless $ret;
$ret .= ' -o $@';
return $ret;
}
# Fix shared object path
sub constants {
my $self = shift;
my $ret = $self->SUPER::constants(@_);
$ret =~ s|(?<=\nFULLEXT).*\n| = App/Sandy/RNG\n|;
$ret =~ s|(?<=\nBASEEXT).*\n| = RNG\n|;
return $ret;
}
sub postamble {
my $self = shift;
my @ret = File::ShareDir::Install::postamble($self);
my $cmd = q{
# --- App::Sandy custom postamble section:
LFS_URL = https://media.githubusercontent.com/media/galantelab/sandy/master/share/assets/db.sqlite3
INST_DB = $(INST_LIB)/auto/share/dist/$(DISTNAME)
INST_SHARE = blib/share
INSTALLSHARE = /usr/share
DESTINSTALLSHARE = $(DESTDIR)$(INSTALLSHARE)
PERM_DB_DIR = 0777
PERM_DB = 666
pure_perl_install :: all
-$(NOECHO) $(CHMOD) $(PERM_DB_DIR) "$(DESTINSTALLPRIVLIB)/auto/share/dist/$(DISTNAME)"
-$(NOECHO) $(CHMOD) $(PERM_DB) "$(DESTINSTALLPRIVLIB)/auto/share/dist/$(DISTNAME)/db.sqlite3"
-$(NOECHO) $(CHMOD) $(PERM_DB_DIR) "$(DESTINSTALLARCHLIB)/auto/share/dist/$(DISTNAME)"
-$(NOECHO) $(CHMOD) $(PERM_DB) "$(DESTINSTALLARCHLIB)/auto/share/dist/$(DISTNAME)/db.sqlite3"
pure_site_install :: all
-$(NOECHO) $(CHMOD) $(PERM_DB_DIR) "$(DESTINSTALLSITELIB)/auto/share/dist/$(DISTNAME)"
-$(NOECHO) $(CHMOD) $(PERM_DB) "$(DESTINSTALLSITELIB)/auto/share/dist/$(DISTNAME)/db.sqlite3"
-$(NOECHO) $(CHMOD) $(PERM_DB_DIR) "$(DESTINSTALLSITEARCH)/auto/share/dist/$(DISTNAME)"
-$(NOECHO) $(CHMOD) $(PERM_DB) "$(DESTINSTALLSITEARCH)/auto/share/dist/$(DISTNAME)/db.sqlite3"
pure_vendor_install :: all
-$(NOECHO) $(CHMOD) $(PERM_DB_DIR) "$(DESTINSTALLVENDORLIB)/auto/share/dist/$(DISTNAME)"
-$(NOECHO) $(CHMOD) $(PERM_DB) "$(DESTINSTALLVENDORLIB)/auto/share/dist/$(DISTNAME)/db.sqlite3"
-$(NOECHO) $(CHMOD) $(PERM_DB_DIR) "$(DESTINSTALLVENDORARCH)/auto/share/dist/$(DISTNAME)"
-$(NOECHO) $(CHMOD) $(PERM_DB) "$(DESTINSTALLVENDORARCH)/auto/share/dist/$(DISTNAME)/db.sqlite3"
pure_perl_install :: all
-$(NOECHO) $(MOD_INSTALL) \
read "$(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist" \
write "$(DESTINSTALLARCHLIB)/auto/$(FULLEXT)/.packlist" \
"$(INST_SHARE)" "$(DESTINSTALLSHARE)"
pure_site_install :: all
-$(NOECHO) $(MOD_INSTALL) \
read "$(SITEARCHEXP)/auto/$(FULLEXT)/.packlist" \
write "$(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist" \
"$(INST_SHARE)" "$(DESTINSTALLSHARE)"
pure_vendor_install :: all
-$(NOECHO) $(MOD_INSTALL) \
read "$(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist" \
write "$(DESTINSTALLVENDORARCH)/auto/$(FULLEXT)/.packlist" \
"$(INST_SHARE)" "$(DESTINSTALLSHARE)"
config :: config_lfs
$(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_DB)'\'')' -- \
'share/assets/db.sql' '$(INST_DB)/db.sql' \
'share/assets/db.sqlite3' '$(INST_DB)/db.sqlite3'
( run in 1.396 second using v1.01-cache-2.11-cpan-98e64b0badf )