git: 834bc0484b52 - 2026Q3 - mail/sympa: Update to 6.2.78
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Sep 2026 14:38:54 UTC
The branch 2026Q3 has been updated by vvd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=834bc0484b5218e7785ed771a9a63862a7360e7b
commit 834bc0484b5218e7785ed771a9a63862a7360e7b
Author: Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2026-07-23 12:22:37 +0000
Commit: Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-09-15 14:38:33 +0000
mail/sympa: Update to 6.2.78
PR: 296993
Approved by: Geoffroy Desvernay (maintainer)
(cherry picked from commit 6d37b11fb72c94d0eedfeb734cb84092e9cc17f6)
---
mail/sympa/Makefile | 4 +-
mail/sympa/distinfo | 6 +-
mail/sympa/files/patch-configure.ac | 10 --
mail/sympa/files/patch-issue1966 | 48 ----------
mail/sympa/files/patch-issue1984 | 177 ++++++++++++++++++++++++++++++++++++
mail/sympa/pkg-plist | 2 +
6 files changed, 184 insertions(+), 63 deletions(-)
diff --git a/mail/sympa/Makefile b/mail/sympa/Makefile
index 7be012ce0e75..4894008d8235 100644
--- a/mail/sympa/Makefile
+++ b/mail/sympa/Makefile
@@ -1,6 +1,5 @@
PORTNAME= sympa
-DISTVERSION= 6.2.76
-PORTREVISION= 1
+DISTVERSION= 6.2.78
CATEGORIES= mail
MAINTAINER= dgeo@centrale-med.fr
@@ -52,6 +51,7 @@ RUN_DEPENDS= mhonarc>=0:www/mhonarc \
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
# Shebang is corrected by configure script
diff --git a/mail/sympa/distinfo b/mail/sympa/distinfo
index 891394053f74..13574f69b319 100644
--- a/mail/sympa/distinfo
+++ b/mail/sympa/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738668264
-SHA256 (sympa-community-sympa-6.2.76_GH0.tar.gz) = fa0cefbfd44423e1012aa9744f4cf30c2c42a19ec6debd0c7a46990968829e04
-SIZE (sympa-community-sympa-6.2.76_GH0.tar.gz) = 10537497
+TIMESTAMP = 1784703882
+SHA256 (sympa-community-sympa-6.2.78_GH0.tar.gz) = 7bd20fbbbcc206413c5247febb39724df4c7d21e907388f37cee79df5a0e8713
+SIZE (sympa-community-sympa-6.2.78_GH0.tar.gz) = 10549542
diff --git a/mail/sympa/files/patch-configure.ac b/mail/sympa/files/patch-configure.ac
deleted file mode 100644
index 3af3b3d1cf26..000000000000
--- a/mail/sympa/files/patch-configure.ac
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.ac.orig 2025-02-03 22:52:23 UTC
-+++ configure.ac
-@@ -28,7 +28,6 @@ AM_PO_SUBDIRS
- AM_INIT_AUTOMAKE([foreign -Wall -Werror 1.9 tar-pax])
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
- AM_PO_SUBDIRS
--GETTEXT_MACRO_VERSION=0.19
-
- AC_PREFIX_DEFAULT(/home/sympa)
-
diff --git a/mail/sympa/files/patch-issue1966 b/mail/sympa/files/patch-issue1966
deleted file mode 100644
index 0abaa86d91e7..000000000000
--- a/mail/sympa/files/patch-issue1966
+++ /dev/null
@@ -1,48 +0,0 @@
-https://github.com/sympa-community/sympa/issues/1966
-
-https://github.com/sympa-community/sympa/commit/088fff6ba62e229939c0213c7f44b4086d38709c
-
---- src/sbin/archived.pl.in.orig 2025-02-03 22:52:23 UTC
-+++ src/sbin/archived.pl.in
-@@ -29,7 +29,7 @@ use English qw(-no_match_vars);
- use strict;
- use warnings;
- use English qw(-no_match_vars);
--use Getopt::Long;
-+use Getopt::Long qw( :config no_ignore_case );
- use Pod::Usage;
- use POSIX qw();
-
---- src/sbin/bounced.pl.in.orig 2025-02-03 22:52:23 UTC
-+++ src/sbin/bounced.pl.in
-@@ -35,7 +35,7 @@ use English qw(-no_match_vars);
- use strict;
- use warnings;
- use English qw(-no_match_vars);
--use Getopt::Long;
-+use Getopt::Long qw( :config no_ignore_case );
- use Pod::Usage;
- use POSIX qw();
-
---- src/sbin/bulk.pl.in.orig 2025-02-03 22:52:23 UTC
-+++ src/sbin/bulk.pl.in
-@@ -30,7 +30,7 @@ use English qw(-no_match_vars);
- use strict;
- use warnings;
- use English qw(-no_match_vars);
--use Getopt::Long;
-+use Getopt::Long qw( :config no_ignore_case );
- use Pod::Usage;
- use POSIX qw();
-
---- src/sbin/task_manager.pl.in.orig 2025-02-03 22:52:23 UTC
-+++ src/sbin/task_manager.pl.in
-@@ -30,7 +30,7 @@ use English qw(-no_match_vars);
- use strict;
- use warnings;
- use English qw(-no_match_vars);
--use Getopt::Long;
-+use Getopt::Long qw( :config no_ignore_case );
- use Pod::Usage;
- use POSIX qw();
-
diff --git a/mail/sympa/files/patch-issue1984 b/mail/sympa/files/patch-issue1984
new file mode 100644
index 000000000000..6aee7dd71cc1
--- /dev/null
+++ b/mail/sympa/files/patch-issue1984
@@ -0,0 +1,177 @@
+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 <mail@ikedas.net>
+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]',
diff --git a/mail/sympa/pkg-plist b/mail/sympa/pkg-plist
index 694f51c1bdd5..f0cd84166247 100644
--- a/mail/sympa/pkg-plist
+++ b/mail/sympa/pkg-plist
@@ -92,6 +92,7 @@ libexec/sympa/Sympa/Family.pm
libexec/sympa/Sympa/HTML/FormatText.pm
libexec/sympa/Sympa/HTMLDecorator.pm
libexec/sympa/Sympa/HTMLSanitizer.pm
+libexec/sympa/Sympa/HTML/URIFind.pm
libexec/sympa/Sympa/Internals.pod
libexec/sympa/Sympa/Internals/Workflow.pod
libexec/sympa/Sympa/Language.pm
@@ -331,6 +332,7 @@ share/man/man3/Sympa::DataSource::SQL.3Sympa.gz
share/man/man3/Sympa::Family.3Sympa.gz
share/man/man3/Sympa::HTMLDecorator.3Sympa.gz
share/man/man3/Sympa::HTMLSanitizer.3Sympa.gz
+share/man/man3/Sympa::HTML::URIFind.3Sympa.gz
share/man/man3/Sympa::Internals.3Sympa.gz
share/man/man3/Sympa::Internals::Workflow.3Sympa.gz
share/man/man3/Sympa::Language.3Sympa.gz