diff --git a/mail/sympa/Makefile b/mail/sympa/Makefile index ebd965beb7c5..026bd090a305 100644 --- a/mail/sympa/Makefile +++ b/mail/sympa/Makefile @@ -1,140 +1,138 @@ PORTNAME= sympa -DISTVERSION= 6.2.78 +DISTVERSION= 6.2.80 CATEGORIES= mail MAINTAINER= dgeo@centrale-med.fr COMMENT= Electronic mailing list manager WWW= https://www.sympa.community LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= ${RUN_DEPENDS} \ - postfix:mail/postfix -RUN_DEPENDS= mhonarc>=0:www/mhonarc \ +BR_DEPENDS= mhonarc>=0:www/mhonarc \ p5-App-cpanminus>=0:devel/p5-App-cpanminus \ p5-Archive-Zip>=1.05:archivers/p5-Archive-Zip \ p5-CGI>=3.51:www/p5-CGI \ p5-Class-Singleton>=1.03:devel/p5-Class-Singleton \ p5-Crypt-CipherSaber>=0.50:security/p5-Crypt-CipherSaber \ p5-Crypt-Eksblowfish>=0.009:security/p5-Crypt-Eksblowfish \ p5-Crypt-OpenSSL-X509>=1.800.1:security/p5-Crypt-OpenSSL-X509 \ p5-Crypt-SMIME>=0.15:security/p5-Crypt-SMIME \ p5-Data-Password>=1.07:security/p5-Data-Password \ p5-DateTime-Format-Mail>=0.28:devel/p5-DateTime-Format-Mail \ p5-DateTime-TimeZone>=0.59:devel/p5-DateTime-TimeZone \ p5-DBD-CSV>=0.22:databases/p5-DBD-CSV \ p5-DBI>=1.48:databases/p5-DBI \ p5-Encode-Locale>=1.02:converters/p5-Encode-Locale \ p5-File-Copy-Recursive>=0.36:devel/p5-File-Copy-Recursive \ p5-File-NFSLock>=0:devel/p5-File-NFSLock \ p5-HTML-Format>=0:textproc/p5-HTML-Format \ p5-HTML-StripScripts-Parser>=1.03:www/p5-HTML-StripScripts-Parser \ p5-HTML-Tree>=0:www/p5-HTML-Tree \ p5-IO-Socket-SSL>=0.90:security/p5-IO-Socket-SSL \ p5-IO-Stringy>=0:devel/p5-IO-Stringy \ p5-Locale-libintl>=1.22:devel/p5-Locale-libintl \ p5-Mail-DKIM>=0.55:mail/p5-Mail-DKIM \ p5-Mail-Tools>=0:mail/p5-Mail-Tools \ p5-MIME-Charset>=1.011.3:mail/p5-MIME-Charset \ p5-MIME-EncWords>=1.014:mail/p5-MIME-EncWords \ p5-MIME-Lite-HTML>=1.23:mail/p5-MIME-Lite-HTML \ p5-MIME-Tools>=5.423:mail/p5-MIME-Tools \ p5-Net-CIDR>=0.16:net-mgmt/p5-Net-CIDR \ p5-Net-DNS>=0.65:dns/p5-Net-DNS \ p5-perl-ldap>=0.40:net/p5-perl-ldap \ p5-Scalar-List-Utils>=1.20:lang/p5-Scalar-List-Utils \ p5-SOAP-Lite>=0.712:net/p5-SOAP-Lite \ p5-Template-Toolkit>=2.21:www/p5-Template-Toolkit \ p5-Term-ProgressBar>=2.09:devel/p5-Term-ProgressBar \ p5-Time-HiRes>=1.29:devel/p5-Time-HiRes \ p5-Unicode-LineBreak>=2019.001:textproc/p5-Unicode-LineBreak \ p5-Unicode-UTF8>=0.62:converters/p5-Unicode-UTF8 \ p5-URI>=1.35:net/p5-URI \ p5-URI-Find>0:textproc/p5-URI-Find \ p5-XML-LibXML>=1.70:textproc/p5-XML-LibXML +BUILD_DEPENDS= ${BR_DEPENDS} \ + postfix:mail/postfix +RUN_DEPENDS= ${BR_DEPENDS} # Shebang is corrected by configure script USES= autoreconf cpe fakeroot gettext gmake perl5 shebangfix USE_GITHUB= YES GH_ACCOUNT= sympa-community USE_RC_SUBR= sympa GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX=${PREFIX}/share - CONFIGURE_ARGS+= --bindir=${PREFIX}/bin \ --datadir=${DATADIR} \ --enable-fhs \ --libexecdir=${PREFIX}/libexec/${PORTNAME} \ --localedir=${PREFIX}/share/locale \ --localstatedir=/var/${PORTNAME} \ --sbindir=${PREFIX}/libexec/${PORTNAME} \ --sysconfdir=${ETCDIR} \ --with-cgidir=${PREFIX}/libexec/${PORTNAME} \ --with-confdir=${ETCDIR} \ --with-cssdir=${DATADIR}/static/css \ --with-defaultdir=${DATADIR}/defaults \ --with-docdir=${EXAMPLESDIR} \ --with-expldir=${DATADIR}/list_data \ --with-lockdir=/var/spool/lock \ --with-modulesdir=${PREFIX}/libexec/${PORTNAME} \ --with-picturesdir=${DATADIR}/static/pictures \ --with-piddir=/var/run/${PORTNAME} \ --with-scriptdir=${PREFIX}/libexec/${PORTNAME} \ --with-spooldir=/var/spool/${PORTNAME} \ --with-staticdir=${DATADIR}/static \ --without-initdir \ --without-smrshdir CONFIGURE_ENV+= ac_cv_path_POSTALIAS=${LOCALBASE}/sbin/postalias \ lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN} MAKE_ENV?= PERL_EXTUTILS_AUTOINSTALL=--skip # Ignore alpha/beta versions PORTSCOUT= limit:^[0-9]+(\.[0-9]+)*$$ SUB_FILES= apache.sample fcgi.sample nginx.sample pkg-install pkg-message USERS= sympa GROUPS= sympa PORTEXAMPLES= * OPTIONS_DEFINE= APACHE DOCS EXAMPLES FASTCGI OPTIONS_DEFAULT= FASTCGI MYSQL OPTIONS_RADIO= DATABASE OPTIONS_RADIO_DATABASE= MYSQL PGSQL SQLITE OPTIONS_SUB= yes APACHE_IMPLIES= FASTCGI APACHE_RUN_DEPENDS= ${LOCALBASE}/${APACHEMODDIR}/mod_fastcgi.so:www/mod_fastcgi APACHE_USES= apache:run FASTCGI_RUN_DEPENDS= p5-CGI-Fast>=1.08:www/p5-CGI-Fast \ p5-FCGI>=0.67:www/p5-FCGI MYSQL_RUN_DEPENDS= ${DBD_MYSQL} +MYSQL_USES= mysql MYSQL_SUB_LIST= REQ_MYSQL=mysql MYSQL_SUB_LIST_OFF= REQ_MYSQL="" -MYSQL_USES= mysql PGSQL_RUN_DEPENDS= p5-DBD-Pg>=2.00:databases/p5-DBD-Pg PGSQL_SUB_LIST= REQ_PGSQL=postgresql PGSQL_SUB_LIST_OFF= REQ_PGSQL="" SQLITE_RUN_DEPENDS= p5-DBD-SQLite>=1.31:databases/p5-DBD-SQLite -ICONSDIR?= www/icons post-patch: @${REINPLACE_CMD} -e 's|^\( *staticdir=\).*$$|\1${DATADIR}|' \ -e 's|^\( *arcdir=\).*$$|\1${DATADIR}/arc|' \ -e 's|^\( *bouncedir=\).*$$|\1${DATADIR}/bounce|' \ ${WRKSRC}/configure.ac post-install: for link in sympa sympa.pl sympa_wizard.pl upgrade_bulk_spool.pl upgrade_send_spool.pl; do \ (cd ${STAGEDIR}${PREFIX}/bin && ${LN} -f -s ../libexec/sympa/$$link) \ done ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/NEWS.md ${STAGEDIR}${DOCSDIR} ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKDIR}/apache.sample ${WRKDIR}/nginx.sample \ ${WRKDIR}/fcgi.sample ${STAGEDIR}${EXAMPLESDIR} .include diff --git a/mail/sympa/distinfo b/mail/sympa/distinfo index 13574f69b319..2cd4cf9048b4 100644 --- a/mail/sympa/distinfo +++ b/mail/sympa/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1784703882 -SHA256 (sympa-community-sympa-6.2.78_GH0.tar.gz) = 7bd20fbbbcc206413c5247febb39724df4c7d21e907388f37cee79df5a0e8713 -SIZE (sympa-community-sympa-6.2.78_GH0.tar.gz) = 10549542 +TIMESTAMP = 1789457702 +SHA256 (sympa-community-sympa-6.2.80_GH0.tar.gz) = 80f5a1a6dfbb4bf5629750c1d07a366a2fbf7f20222942cb779376e64bc0168a +SIZE (sympa-community-sympa-6.2.80_GH0.tar.gz) = 10558984 diff --git a/mail/sympa/files/patch-issue1984 b/mail/sympa/files/patch-issue1984 deleted file mode 100644 index 6aee7dd71cc1..000000000000 --- a/mail/sympa/files/patch-issue1984 +++ /dev/null @@ -1,177 +0,0 @@ -https://github.com/sympa-community/sympa/issues/2049 - -https://github.com/sympa-community/sympa/pull/1984 - - -From 2fb03a9d3220f55208aea7ad5149f5d3b2a13da3 Mon Sep 17 00:00:00 2001 -From: IKEDA Soji -Date: Thu, 23 Apr 2026 20:49:45 +0900 -Subject: [PATCH] correct broken refactoring occurred on #1984 - ---- - src/lib/Sympa/CLI.pm | 58 +++++++++++++++++++------------------ - src/lib/Sympa/CLI/create.pm | 2 +- - t/CLI_getoptions.t | 7 ++--- - 3 files changed, 34 insertions(+), 33 deletions(-) - -diff --git a/src/lib/Sympa/CLI.pm b/src/lib/Sympa/CLI.pm -index 5b72cb9c5..e408bc4f5 100644 ---- src/lib/Sympa/CLI.pm -+++ src/lib/Sympa/CLI.pm -@@ -75,14 +75,10 @@ sub run { - map {s/[.].*\z//r} grep {defined} @ENV{qw(LANGUAGE LC_ALL LANG)}; - $language->set_lang(@langs, 'en-US', 'en'); - -- # Parse options if necessary. -+ # Parse command and options. - my %options; -- if ($options) { -- %options = %$options; -- } else { -- $class = $class->getoptions(\%options, \@argv); -- return undef unless $class; -- } -+ ($class, %options) = $class->getoptions($options, \@argv); -+ return undef unless $class; - - # Suppress console output if specified. - # Setup language if specified. -@@ -92,26 +88,24 @@ sub run { - $class->arrange(%options) if $class->_need_priv; - - # Parse arguments. -- if (@argv) { -- @argv = $class->parseargs(@argv); -- return unless @argv; -- } -+ return undef unless $class->parseargs(\@argv); - - $class->_run(\%options, @argv); - } - - sub getoptions { -- my $class = shift; -- my $options_r = shift; -- my $argv_r = shift; -+ my $class = shift; -+ my $options = shift; -+ my $argv_r = shift; -+ my @argv = @$argv_r; - -- while (@$argv_r and ($argv_r->[0] // '') =~ /\A\w+\z/) { -+ while (@argv and ($argv[0] // '') =~ /\A\w+\z/) { - # Check if (sub-)command is implemented. - my $dir = $INC{($class =~ s|::|/|gr) . '.pm'} =~ s/[.]pm\z//r; -- last unless -e "$dir/$argv_r->[0].pm"; -+ last unless -e "$dir/$argv[0].pm"; - - # Load module for the command. -- my $command = shift @$argv_r; -+ my $command = shift @argv; - my $subclass = sprintf '%s::%s', $class, $command; - unless (eval(sprintf 'require %s', $subclass) - and $subclass->isa($class)) { -@@ -126,17 +120,21 @@ sub getoptions { - # No valid main command. - warn $language->gettext_sprintf( - 'Invalid argument \'%s\' (command is expected)', -- ($argv_r->[0] // '')) -+ ($argv[0] // '')) - . "\n"; - return undef; - } - -- if (grep /^-/, $class->_options) { -+ # Parse options if necessary. -+ my %options; -+ if ($options) { -+ %options = %$options; -+ } elsif (grep /^-/, $class->_options) { - ; - } elsif ( - not Getopt::Long::GetOptionsFromArray( -- $argv_r, -- $options_r, -+ \@argv, -+ \%options, - map { - # If option name contains hyphen-minus, underscore is also - # allowed and the latter will be used for keys in the hash. -@@ -154,13 +152,16 @@ sub getoptions { - return undef; - } - -- return $class; -+ @$argv_r = @argv; -+ return ($class, %options); - } - --# Parse arguments. - sub parseargs { -- my $class = shift; -- my @argv = @_; -+ my $class = shift; -+ my $argv_r = shift; -+ my @argv = @$argv_r; -+ -+ return $argv_r unless @argv; - - my @parsed_argv = (); - foreach my $argdefs ($class->_args) { -@@ -176,7 +177,7 @@ sub parseargs { - warn $language->gettext_sprintf('Missing argument (%s)', - _arg_expected($defs)) - . "\n"; -- return; -+ return undef; - } - foreach my $arg (@a) { - my $val; -@@ -233,12 +234,13 @@ sub parseargs { - 'Invalid argument \'%s\' (%s)', - $arg, _arg_expected($defs)) - . "\n"; -- return; -+ return undef; - } - } - } - -- return (@parsed_argv, @argv); -+ @$argv_r = (@parsed_argv, @argv); -+ return $argv_r; - } - - sub _options {qw(config|f=s debug|d lang|l=s log_level=s mail|m noout)} -diff --git a/src/lib/Sympa/CLI/create.pm b/src/lib/Sympa/CLI/create.pm -index c9a73d406..4a060688e 100644 ---- src/lib/Sympa/CLI/create.pm -+++ src/lib/Sympa/CLI/create.pm -@@ -31,7 +31,7 @@ use Sympa::Spindle::ProcessRequest; - - use parent qw(Sympa::CLI); - --use constant _options => qw(input-file=s); -+use constant _options => qw(input_file=s); - use constant _args => qw(family|domain?); - - sub _run { -diff --git a/t/CLI_getoptions.t b/t/CLI_getoptions.t -index afbaa772e..475128793 100644 ---- t/CLI_getoptions.t -+++ t/CLI_getoptions.t -@@ -59,11 +59,10 @@ sub dotest { - my $wishedArgv = shift; - my @argv = @_; - -- diag join(' ', @argv) =~ s/(.{73}).*/$1.../r; -- my %options; -- my $class = Sympa::CLI->getoptions(\%options, \@argv); -+ my ($class, %options) = Sympa::CLI->getoptions(undef, \@argv); - -- is $class, $wishedClass, "Class $wishedClass"; -+ ok $class, join(' ', @_) =~ s/(.{73}).*/$1.../r; -+ is $class, $wishedClass, $wishedClass; - is_deeply \%options, $wishedOptions, sprintf '{%s}', - join(', ', sort keys %$wishedOptions) =~ s/(.{65}).*/$1.../r; - is_deeply \@argv, $wishedArgv, sprintf '[%s]',