木村です。

From: Aoba Dai <aoba...@gmail.com>
Subject: Re: milter-managerが起動しない
Date: Tue, 16 Aug 2022 20:49:06 +1000

> portsの方はMakefileに
> 
> BUILD_DEPENDS=rubygem-gio2>0:devel/rubygem-gio2\
>       rubygem-rexml>0:textproc/rubygem-rexml
> LIB_DEPENDS= libev.so:devel/libev
> RUN_DEPENDS= rubygem-gio2>0:devel/rubygem-gio2\
>       rubygem-rexml>0:textproc/rubygem-rexml
> 
> のようにtextproc/rubygem-rexmlの依存関係を加えて
> makeしたら起動できるようになりました。

ええと、BUILD_DEPENDSにもtextproc/rubygem-rexmlを追加していますが、こ
れは必要でしょうか。現状のports treeでRubyのデフォルトが3.0の状態でビ
ルドは特に問題なく通るので、RUN_DEPENDSにだけtextproc/rubygem-rexmlを
追加すれば良いように思えるのですが。

あと別のメールにおいて、post-patchターゲットでバンドルされているglib2
のgemを削除している点について話題になっていましたが、これは現状no-opな
状態なので、そもそも削除する事自体が不要に思えます。

というわけで↓のようなパッチを作成してみたので、これをmainブランチに当
てた上でmilter-managerを再インストールして、正常に動作するか確認してい
ただけないでしょうか。

From 247ecb7f19230c1177204f59462b8d5ee7cae5ee Mon Sep 17 00:00:00 2001
From: Yasuhiro Kimura <y...@freebsd.org>
Date: Wed, 17 Aug 2022 01:18:52 +0900
Subject: [PATCH] mail/milter-manager: Fix runtime error with Ruby 3.0 or later

milter-manager requires rexml to run. Since Ruby 3.0 rexml is
converted to bundled gem. But our Ruby ports don't include bundled
gems. So fix runtime error with Ruby 3.0 or later by adding rexml port
to RUN_DEPENDS.

While here, change post-patch target so it doesn't remove bundled
glib2 gem. Build succeeds without doing it.

Reference:      https://github.com/milter-manager/milter-manager/discussions/168
Reported by:    Aoba Dai (in freebsd-users-jp ML)
MFH:            2022Q3
---
 mail/milter-manager/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/mail/milter-manager/Makefile b/mail/milter-manager/Makefile
index 911c23c6bcfc..d4c4fce1b08c 100644
--- a/mail/milter-manager/Makefile
+++ b/mail/milter-manager/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=      milter-manager
 DISTVERSION=   2.1.6
+PORTREVISION=  1
 CATEGORIES=    mail ruby
 MASTER_SITES=  
https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
 
@@ -11,7 +12,8 @@ LICENSE_COMB= multi
 
 BUILD_DEPENDS= rubygem-gio2>0:devel/rubygem-gio2
 LIB_DEPENDS=   libev.so:devel/libev
-RUN_DEPENDS=   rubygem-gio2>0:devel/rubygem-gio2
+RUN_DEPENDS=   rubygem-gio2>0:devel/rubygem-gio2 \
+               rubygem-rexml>0:textproc/rubygem-rexml
 
 USES=          compiler:c++11-lang gettext gmake gnome libtool pathfix \
                pkgconfig
@@ -41,6 +43,5 @@ post-patch:
        ${REINPLACE_CMD} -e "s#\$$(datadir)/@PACKAGE@#${DATADIR}#" \
                         -e "s#\$$(datarootdir)/\$$(PACKAGE)#${DATADIR}#" {} +
        @${REINPLACE_CMD} -e "s#\\\\\$$(pkgdatadir)/sample#${EXAMPLESDIR}#" 
${WRKSRC}/configure
-       @${RM} -r ${WRKSRC}/binding/ruby/glib-2.2.5
 
 .include <bsd.port.mk>
-- 
2.37.2

---
木村 康浩

Reply via email to