# Contributor: Valery Kartel # Maintainer: Leonardo Arena global pkgname := 'spamassassin' global _pkgreal := 'Mail-SpamAssassin' global pkgver := '3.4.1' global pkgrel := '8' global pkgdesc := '"The Powerful #1 Open-Source Spam Filter'" global url := '"http://search.cpan.org/dist/Mail-SpamAssassin/'" global arch := '"all'" global license := '"apache_2_0'" global cpandepends := '"perl-html-parser perl-digest-sha1 perl-netaddr-ip perl-net-dns perl-mail-dkim perl-mime-base64 perl-db_file perl-time-hires perl-libwww'" global cpanmakedepends := $cpandepends global depends := ""perl-mail-$pkgname curl"" global makedepends := ""perl-dev $cpanmakedepends"" global subpackages := ""$pkgname-doc $pkgname-client $pkgname-compiler perl-mail-$pkgname:cpan"" global source := ""http://search.cpan.org/CPAN/authors/id/K/KM/KMCGRAIL/$(_pkgreal#*-)/$_pkgreal-$pkgver.tar.gz spamd.initd spamd.confd spamd.crond net-dns-1.01-compat.patch Mail-SpamAssassin.patch bad-regexp-and-logic.patch "" global builddir := ""$srcdir/$_pkgreal-$pkgver"" proc build { cd $builddir rm t/dnsbl_subtests.t export CFLAGS="$[perl -MConfig -E 'say $Config{ccflags}]" env PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 make } proc check { cd $builddir make test } proc package { cd $builddir make DESTDIR="$pkgdir" install || return 1 find $pkgdir '(' -name perllocal.pod -o -name .packlist ')' -delete install -Dm755 "$srcdir"/spamd.crond "$pkgdir"/etc/periodic/daily/$pkgname-update install -Dm755 "$srcdir"/spamd.initd "$pkgdir"/etc/init.d/spamd install -Dm644 "$srcdir"/spamd.confd "$pkgdir"/etc/conf.d/spamd mkdir -p "$pkgdir"/usr/sbin mv "$pkgdir"/usr/bin/spamd "$pkgdir"/usr/sbin/spamd } proc client { global depends := ''"" global pkgdesc := '"SpamAssassin client'" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/spamc "$subpkgdir"/usr/bin } proc compiler { global pkgdesc := '"SpamAssassin rules compiler'" global depends := ""re2c gcc perl-dev perl-mail-$pkgname"" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/sa-compile "$subpkgdir"/usr/bin/ } proc cpan { global pkgdesc := '"SpamAssassin perl library'" global depends := ""perl gnupg $cpandepends"" mkdir -p "$subpkgdir"/usr "$subpkgdir"/etc "$subpkgdir"/var/lib/$pkgname mv "$pkgdir"/etc/mail "$subpkgdir"/etc mv "$pkgdir"/usr/lib "$pkgdir"/usr/share "$subpkgdir"/usr find $subpkgdir -name *.pod -delete mv "$subpkgdir"/usr/share/$pkgname/user_prefs.template \ "$subpkgdir"/etc/mail/$pkgname/user_prefs sed -i '/^#\*/d' "$subpkgdir"/etc/mail/$pkgname/user_prefs } global sha512sums := '"6a074f1a4177e1969cef575fe3b1b844d27c813d48fe1e07a46f56ffa728fc780897597d00f11acb269317a6308f284f0dee544d504da874d93b0549d094a6a3 Mail-SpamAssassin-3.4.1.tar.gz 0a22933290a3abd147689bf3a9de4b6b277628c22966f353c5da932cd98560babf1d0bb9d92c456ea24decfb5af0bbc960192d29a90d9cab437e7986c75c8278 spamd.initd 274d3aa0d9aab05e83c8d5ad3e93a457649360021a67c8cb19088365bed681ebe26889cfa86f8c46a6044c7ee969231f2a71e3227adf8ad9e38d0286b9caf48d spamd.confd c8c00e4281cefd5e5e15507c8890264a25aa59663c57ccdf7a77905e2550999cfbbfa7271189a9491b0a0e98dff432361f13becdb99e1b583cd9d45d68022a47 spamd.crond 7651b0b6a13322ecc338cd43ef67246c02c846162d419e3d1586e2d53161fc055d1ba80800f5210658cc360ac3ccd3c2176f1463780b0486ec65c0bac3b338fd net-dns-1.01-compat.patch 66a6daa7e9898864497e7d8e17efc6094aabc5a9a94afbc7da08acf4cf2430fad2cb0128b8db4be637f5dcabe3fa9f03490f9d7cbba3c1cc02b7824f63cd0965 Mail-SpamAssassin.patch fef24813fd643bcc3d945b1d53145c9290e8567ea4ed9c39a31cc0b0381a3949ef82840383f0c7dd4ac641f9dace6c08e39cf39e32b9906dc865f2fce1770c06 bad-regexp-and-logic.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(spamassassin)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_pkgreal) op:Equal rhs:{(Mail-SpamAssassin)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.4.1)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(8)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("The Powerful #1 Open-Source Spam Filter"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://search.cpan.org/dist/Mail-SpamAssassin/"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (apache_2_0))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpandepends) op: Equal rhs: { (DQ ("perl-html-parser perl-digest-sha1 perl-netaddr-ip perl-net-dns perl-mail-dkim\n") ("\tperl-mime-base64 perl-db_file perl-time-hires perl-libwww") ) } spids: [38] ) ] spids: [38] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpanmakedepends) op: Equal rhs: {(DQ ($ VSub_Name "$cpandepends"))} spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (perl-mail-) ($ VSub_Name "$pkgname") (" curl"))} spids: [49] ) ] spids: [49] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ("perl-dev ") ($ VSub_Name "$cpanmakedepends"))} spids: [56] ) ] spids: [56] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-client ") ($ VSub_Name "$pkgname") ("-compiler perl-mail-") ($ VSub_Name "$pkgname") (":cpan") ) } spids: [62] ) ] spids: [62] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://search.cpan.org/CPAN/authors/id/K/KM/KMCGRAIL/") (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*-")}) spids: [77 81] ) (/) ($ VSub_Name "$_pkgreal") (-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tspamd.initd\n") ("\tspamd.confd\n") ("\tspamd.crond\n") ("\tnet-dns-1.01-compat.patch\n") ("\tMail-SpamAssassin.patch\n") ("\tbad-regexp-and-logic.patch\n") ("\t") ) } spids: [74] ) ] spids: [74] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_pkgreal") (-) ($ VSub_Name "$pkgver"))} spids: [96] ) ] spids: [96] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(rm)} {(t/dnsbl_subtests.t)}) (C {(export)} {(Lit_VarLike "CFLAGS=") (DQ (CommandSubPart command_list: (CommandList children: [(C {(perl)} {(-MConfig)} {(-E)} {(SQ <"say $Config{ccflags}">)})] ) left_token: spids: [129 139] ) ) } ) (AndOr children: [ (SimpleCommand words: [{(perl)} {(Makefile.PL)} {(Lit_VarLike "INSTALLDIRS=") (vendor)}] more_env: [(env_pair name:PERL_MM_USE_DEFAULT val:{(1)} spids:[143])] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(make)}) ] spids: [110] ) spids: [106 109] ) (FuncDef name: check body: (BraceGroup children: [(C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(test)})] spids: [169] ) spids: [165 168] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(find)} {(DQ ($ VSub_Name "$pkgdir"))} {(EscapedLiteralPart token:)} {(-name)} {(perllocal.pod)} {(-o)} {(-name)} {(.packlist)} {(EscapedLiteralPart token:)} {(-delete)} ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/spamd.crond)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/periodic/daily/) ($ VSub_Name "$pkgname") (-update)} ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/spamd.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/spamd)} ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/spamd.confd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/spamd)} ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/spamd)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/spamd)} ) ] spids: [190] ) spids: [186 189] ) (FuncDef name: client body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[318])] spids: [318] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("SpamAssassin client"))} spids: [323] ) ] spids: [323] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/spamc)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)} ) ] spids: [315] ) spids: [311 314] ) (FuncDef name: compiler body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("SpamAssassin rules compiler"))} spids: [361] ) ] spids: [361] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("re2c gcc perl-dev perl-mail-") ($ VSub_Name "$pkgname"))} spids: [367] ) ] spids: [367] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/sa-compile)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) ] spids: [358] ) spids: [354 357] ) (FuncDef name: cpan body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("SpamAssassin perl library"))} spids: [406] ) ] spids: [406] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("perl gnupg ") ($ VSub_Name "$cpandepends"))} spids: [412] ) ] spids: [412] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc)} {(DQ ($ VSub_Name "$subpkgdir")) (/var/lib/) ($ VSub_Name "$pkgname")} ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/mail)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc)} ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr)} ) (C {(find)} {(DQ ($ VSub_Name "$subpkgdir"))} {(-name)} {(Lit_Other "*") (.pod)} {(-delete)}) (C {(mv)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/) ($ VSub_Name "$pkgname") (/user_prefs.template) } {(DQ ($ VSub_Name "$subpkgdir")) (/etc/mail/) ($ VSub_Name "$pkgname") (/user_prefs)} ) (C {(sed)} {(-i)} {(SQ <"/^#\\*/d">)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/mail/) ($ VSub_Name "$pkgname") (/user_prefs)} ) ] spids: [403] ) spids: [399 402] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "6a074f1a4177e1969cef575fe3b1b844d27c813d48fe1e07a46f56ffa728fc780897597d00f11acb269317a6308f284f0dee544d504da874d93b0549d094a6a3 Mail-SpamAssassin-3.4.1.tar.gz\n" ) ( "0a22933290a3abd147689bf3a9de4b6b277628c22966f353c5da932cd98560babf1d0bb9d92c456ea24decfb5af0bbc960192d29a90d9cab437e7986c75c8278 spamd.initd\n" ) ( "274d3aa0d9aab05e83c8d5ad3e93a457649360021a67c8cb19088365bed681ebe26889cfa86f8c46a6044c7ee969231f2a71e3227adf8ad9e38d0286b9caf48d spamd.confd\n" ) ( "c8c00e4281cefd5e5e15507c8890264a25aa59663c57ccdf7a77905e2550999cfbbfa7271189a9491b0a0e98dff432361f13becdb99e1b583cd9d45d68022a47 spamd.crond\n" ) ( "7651b0b6a13322ecc338cd43ef67246c02c846162d419e3d1586e2d53161fc055d1ba80800f5210658cc360ac3ccd3c2176f1463780b0486ec65c0bac3b338fd net-dns-1.01-compat.patch\n" ) ( "66a6daa7e9898864497e7d8e17efc6094aabc5a9a94afbc7da08acf4cf2430fad2cb0128b8db4be637f5dcabe3fa9f03490f9d7cbba3c1cc02b7824f63cd0965 Mail-SpamAssassin.patch\n" ) ( "fef24813fd643bcc3d945b1d53145c9290e8567ea4ed9c39a31cc0b0381a3949ef82840383f0c7dd4ac641f9dace6c08e39cf39e32b9906dc865f2fce1770c06 bad-regexp-and-logic.patch" ) ) } spids: [522] ) ] spids: [522] ) ] )