Commit 96813504 authored by Natanael Copa's avatar Natanael Copa
Browse files

main/per-mail-spamassassin: build fix

parent 7d8c4e4b
......@@ -3,7 +3,7 @@
pkgname=perl-mail-spamassassin
_realname=Mail-SpamAssassin
pkgver=3.2.5
pkgrel=0
pkgrel=1
pkgdesc="Spam detector and markup engine"
url="http://search.cpan.org/~jmason/Mail-SpamAssassin-3.2.5/"
license="unknown"
......@@ -12,14 +12,21 @@ perl-mail-spf razor"
makedepends="perl-dev zlib-dev"
install=
subpackages="$pkgname-doc"
source="http://search.cpan.org/CPAN/authors/id/J/JM/JMASON/$_realname-$pkgver.tar.gz"
source="http://search.cpan.org/CPAN/authors/id/J/JM/JMASON/$_realname-$pkgver.tar.gz
spamassassin-3.2.5-DESTDIR.patch
"
build() {
cd "$srcdir/$_realname-$pkgver"
patch -p1 -i ../spamassassin-3.2.5-DESTDIR.patch || return 1
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
make || return 1
make
}
package() {
cd "$srcdir/$_realname-$pkgver"
make DESTDIR="$pkgdir" install
}
md5sums="7fdc1651d0371c4a7f95ac9ae6f828a6 Mail-SpamAssassin-3.2.5.tar.gz"
md5sums="7fdc1651d0371c4a7f95ac9ae6f828a6 Mail-SpamAssassin-3.2.5.tar.gz
45885134199c9427add4d9bcb46311cf spamassassin-3.2.5-DESTDIR.patch"
--- Mail-SpamAssassin-3.2.5/Makefile.PL.old 2009-10-21 23:25:18.000000000 +0200
+++ Mail-SpamAssassin-3.2.5/Makefile.PL 2009-10-21 23:31:28.000000000 +0200
@@ -12,12 +12,12 @@
# avoid stupid 'Argument "6.30_01" isn't numeric in numeric ge (>=)' warnings;
# strip off the beta subversion noise that causes the trouble.
$mm_version =~ s/_\S+$//; # "6.30_01" => "6.30"
-if ($mm_version+0 < 5.45) {
- die "SpamAssassin Makefile.PL requires at least ExtUtils::MakeMaker v5.45";
+if ($mm_version < 6.17) {
+ die "SpamAssassin Makefile.PL requires at least ExtUtils::MakeMaker v6.17";
}
use constant RUNNING_ON_WINDOWS => ($^O =~ /^(mswin|dos|os2)/oi);
use constant HAS_DBI => eval { require DBI; };
@@ -82,11 +82,10 @@
);
sub parse_arg {
my($val, $name) = (@_);
-
if ($val =~ /^($name)=["']?(.*?)["']?$/) {
return $2;
} else {
return undef;
}
@@ -107,53 +106,27 @@
return 'yes' if bool($val, $def);
return 'no';
}
-
my %opt = (
- 'build_spamc' => undef,
+ 'build_spamc' => undef,
'enable_ssl' => undef,
'contact_address' => undef,
'destdir' => undef,
);
ARGV: foreach (@ARGV) {
foreach my $key (keys %opt) {
- my $val;
-
- $val = parse_arg($_, uc($key));
+ my $val = parse_arg($_, uc($key));
if (defined $val) {
$opt{$key} = $val;
next ARGV;
}
}
}
-# Gather some information about what EU::MM offers and/or needs
-my(
- $mm_knows_destdir,
- $mm_has_destdir,
- $mm_has_good_destdir,
- $mm_needs_destdir,
-);
-
-# MakeMaker prior to 6.11 doesn't support DESTDIR which is needed for
-# packaging with builddir!=destdir. See bug 2388.
-$mm_knows_destdir = $ExtUtils::MakeMaker::Recognized_Att_Keys{DESTDIR};
-$mm_has_good_destdir = $mm_version >= 6.11;
-# Add DESTDIR hack only if it's requested (and necessary)
-$mm_needs_destdir = $opt{'destdir'} && !$mm_has_good_destdir;
-$mm_has_destdir = $mm_knows_destdir || $mm_needs_destdir;
-push(@ATT_KEYS, 'DESTDIR') if $mm_needs_destdir;
-
-# Now make EU::MM understand our extended vars
-foreach my $key (@ATT_KEYS) {
- $ExtUtils::MakeMaker::Recognized_Att_Keys{$key} = 1;
-}
-
-
# Gather the rules files in the range 00-69; we do this in perl because
# it's more portable. Also, plugin .pm files.
my @datafiles = map { s,^rules/,,; $_ }
grep { -f $_ } (<rules/*.cf>, <rules/*.pm>);
my $datafiles = join(' ', (grep
@@ -270,75 +243,27 @@
# We have only this Makefile.PL and this option keeps MakeMaker from
# asking all questions twice after a 'make dist*'.
'NORECURS' => 1,
- # bug 5074: perl 5.6.1 (with ExtUtils::MakeMaker 5.45) attempts to
- # recurse anyway unless this is explicitly specified
- 'DIR' => [ ],
-
# Don't add META.yml to the MANIFEST for god's sake!
'NO_META' => 1,
);
# rules/72_active.cf is built from "rulesrc", but *must* exist before
# WriteMakefile() is called due to shortcomings in MakeMaker.
my @FILES_THAT_MUST_EXIST = qw(
rules/72_active.cf
);
-# That META.yml stuff was introduced with Perl 6.06_03, see
-# <http://archive.develooper.com/makemaker@perl.org/msg00922.html>
-# <http://archive.develooper.com/makemaker@perl.org/msg00984.html>
-delete $makefile{'NO_META'} if $mm_version < 6.06_03;
-
# make sure certain optional modules are up-to-date if they are installed
# also see PREREQ_PM above
my %CURRENT_PM = (
'Net::DNS' => (RUNNING_ON_WINDOWS ? 0.46 : 0.34),
'Razor2::Client::Agent' => 2.40,
);
-if ($mm_needs_destdir) {
- my $error = <<DESTDIR_HACK;
-
- ***********************************************************************
- ExtUtils::MakeMaker ${mm_version} doesn't include support for DESTDIR,
- so if you want to be on the safe side, you might want to upgrade your
- ExtUtils::MakeMaker to version 6.11 or later. It is available via CPAN.
-
- You can use either the CPAN shell or go to
- <http://search.cpan.org/search?module=ExtUtils::MakeMaker>
- to get an up-to-date version.
-
- This should only be necessary if you are creating binary packages.
- ***********************************************************************
-
-DESTDIR_HACK
- $error =~ s/^ {4}//gm;
- warn $error;
-}
-elsif ($opt{'destdir'} and !$mm_has_good_destdir) {
- my $error = <<DESTDIR_BUG;
-
- ***********************************************************************
- ExtUtils::MakeMaker ${mm_version} contains bugs that may cause problems
- in the \"make\" process. It is recommended that you upgrade
- ExtUtils::MakeMaker to version 6.11 or later. It is available via CPAN.
-
- You can use either the CPAN shell or go to
- <http://search.cpan.org/search?module=ExtUtils::MakeMaker>
- to get an up-to-date version.
-
- This should only be necessary if you are creating binary packages.
- ***********************************************************************
-
-DESTDIR_BUG
- $error =~ s/^ {4}//gm;
- warn $error;
-}
-
# All the $(*MAN1*) stuff is empty/zero if Perl was Configured with -Dman1dir=none;
# however, support site/vendor man1 dirs (bug 5338)
unless($Config{installman1dir}
|| $Config{installsiteman1dir}
@@ -405,22 +330,19 @@
# Now finish the meta hash and dump the Makefile
$makefile{EXE_FILES} = [ values %{$makefile{EXE_FILES}} ];
$makefile{AUTHOR} =~ s/(<.+) at (.+>)/$1\@$2/;
WriteMakefile(%makefile);
-print "Makefile written by ExtUtils::MakeMaker ${mm_version}\n";
+print "Makefile written by ExtUtils::MakeMaker $mm_version\n";
#######################################################################
package MY;
-
use vars qw(
$MY_GLOBALS_ARE_SANE
-
$RUNNING_ON_WINDOWS
-
@REPOSITORIES
$MACRO_RE
$EQ_RE
$EQ
@@ -906,19 +828,10 @@
init_MY_globals($self);
foreach (@code) {
# Add our install targets as a dependency to all top-level install targets
s/^(install(?:_[a-z]+)?\s*::?\s*.*)$/$1 conf__install data__install/;
-
- # Now do the DESTDIR hack, if necessary.
- next if !$mm_needs_destdir;
- # Write the correct path to perllocal.pod
- next if /installed into/;
-
- # Replace all other $(INSTALL*) vars (except $(INSTALLDIRS) of course)
- # with their $(DESTINSTALL*) counterparts
- s/\Q$(\E(INSTALL(?!DIRS)${MACRO_RE})\Q)\E/\$(DEST$1)/g;
}
clean_MY_globals($self);
return join("\n", @code);
}
@@ -956,32 +869,10 @@
set_macro($rprefix, macro_ref('PREFIX'));
$line .= "\n" . macro_def($rprefix);
}
}
}
-
- if (line_has_macro_def($line, 'MM_VERSION')) {
- # These macros are just for debugging purposes.
- $line = join("\n", $line,
- macro_def(MM_HAS_DESTDIR => ::yesno($mm_has_destdir)),
- macro_def(MM_HAS_GOOD_DESTDIR => ::yesno($mm_has_good_destdir)),
- macro_def(MM_KNOWS_DESTDIR => ::yesno($mm_knows_destdir)),
- macro_def(MM_NEEDS_DESTDIR => ::yesno($mm_needs_destdir)),
- );
- }
-
- # Add DESTDIR support if necessary
- if ($mm_needs_destdir) {
- if (line_has_macro_def($line, 'INSTALLDIRS')) {
- $line .= "\n" . macro_def('DESTDIR');
- }
- elsif (line_has_macro_def($line, qr/INSTALL${MACRO_RE}/)) {
- my $macro = get_macro_name_from_line($line);
- $line .= "\n" . macro_def('DEST' . $macro,
- macro_ref('DESTDIR') . macro_ref($macro));
- }
- }
}
push(@code, qq{});
# Add some additional target dirs
{
@@ -1015,13 +906,11 @@
foreach my $r (@REPOSITORIES) {
my $macro = 'INSTALL' . repository($r) . $m;
# The INSTALL* macros.
push(@code, macro_def($macro));
# The DESTINSTALL* macros.
- push(@code, macro_def('DEST' . $macro,
- macro_ref('DESTDIR') . macro_ref($macro)))
- if $mm_has_destdir;
+ push(@code, macro_def('DEST' . $macro, macro_ref('DESTDIR') . macro_ref($macro)));
}
}
}
# Set the PERL_* stuff
@@ -1068,17 +957,12 @@
# SCRIPT macro is the same for all repositories.
foreach my $macro (qw(SCRIPT DATA CONF LIB)) {
push(@code, macro_def('I_' . $macro . 'DIR',
macro_ref('INSTALL' . repository($repository, $macro eq 'SCRIPT') . $macro)));
- if ($mm_has_destdir) {
- push(@code, macro_def('B_' . $macro . 'DIR',
- macro_ref('DESTINSTALL' . repository($repository, $macro eq 'SCRIPT') . $macro)));
- } else {
- push(@code, macro_def('B_' . $macro . 'DIR',
- macro_ref('I_' . $macro . 'DIR')));
- }
+ push(@code, macro_def('B_' . $macro . 'DIR',
+ macro_ref('DESTINSTALL' . repository($repository, $macro eq 'SCRIPT') . $macro)));
}
}
clean_MY_globals($self);
return join("\n", @code);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment