Re: [update] net/transmission 4.0.1 - work in progress

2023-04-06 Thread Klemens Nanni
06.04.2023 12:51, Josh Grosse пишет:
> Upstream is now at 4.0.2.   I'd like to test that revision.   

4.0.2 shows 20 compile errors on am64, I have not looked into it.
Do you want to fix that and jump to .2 directly or commit what we have
and then work on the minor update?



Re: [update] net/transmission 4.0.1 - work in progress

2023-04-06 Thread Josh Grosse
On Thu, Apr 06, 2023 at 11:55:18AM +, Klemens Nanni wrote:
> On Tue, Mar 14, 2023 at 09:28:45PM -0400, Josh Grosse wrote:
> > I think this may be ready for testing by transmission users.
> 
> I saw now feedback on this.  Shall we commit?
> Works for me in light testing.

Upstream is now at 4.0.2.   I'd like to test that revision.   



Re: [update] net/transmission 4.0.1 - work in progress

2023-04-06 Thread Klemens Nanni
On Tue, Mar 14, 2023 at 09:28:45PM -0400, Josh Grosse wrote:
> I think this may be ready for testing by transmission users.

I saw now feedback on this.  Shall we commit?
Works for me in light testing.

Index: Makefile
===
RCS file: /cvs/ports/net/transmission/Makefile,v
retrieving revision 1.140
diff -u -p -r1.140 Makefile
--- Makefile8 Nov 2022 11:17:02 -   1.140
+++ Makefile11 Mar 2023 12:46:12 -
@@ -2,10 +2,7 @@ COMMENT-main=  BitTorrent command line an
 COMMENT-gtk=   BitTorrent client with GTK+ interface
 COMMENT-qt=BitTorrent client with Qt interface
 
-NOT_FOR_ARCHS-gtk= sparc64
-NOT_FOR_ARCHS-qt= sparc64
-
-VER=   3.00
+VER=   4.0.1
 DISTNAME=  transmission-${VER}
 PKGNAME-main=  transmission-${VER}
 PKGNAME-gtk=   transmission-gtk-${VER}
@@ -13,22 +10,17 @@ PKGNAME-qt= transmission-qt-${VER}
 CATEGORIES=net
 HOMEPAGE=  https://transmissionbt.com/
 MAINTAINER=Josh Grosse 
-REVISION-gtk=  2
-REVISION-main= 2
-REVISION-qt=   2
 
 # GPLv2+
 PERMIT_PACKAGE=Yes
 
-MASTER_SITES=  
https://github.com/transmission/transmission-releases/raw/master/
+MASTER_SITES=  
https://github.com/transmission/transmission/releases/download/${VER}/
 EXTRACT_SUFX=  .tar.xz
 
 MULTI_PACKAGES=-main -gtk -qt
 
-ONLY_FOR_ARCHS-qt= ${MODGCC4_ARCHS} ${CLANG_ARCHS}
-
+# gnu++17
 COMPILER = base-clang ports-gcc
-COMPILER_LANGS =   c
 
 
 PSEUDO_FLAVORS=no_gtk no_qt
@@ -36,84 +28,62 @@ FLAVOR?=
 
 .include 
 
-WANTLIB-common=c crypto curl event_core event_extra m miniupnpc>=2.0 \
-   natpmp pthread ssl z intl
-WANTLIB-main=  ${WANTLIB-common} nghttp2 iconv
-WANTLIB-gtk=   ${WANTLIB-common} X11 Xcomposite Xcursor Xdamage \
-   Xext Xfixes Xi Xinerama Xrandr Xrender \
-   atk-1.0 atk-bridge-2.0 cairo cairo-gobject \
-   expat ffi fontconfig freetype fribidi \
-   gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 \
-   gobject-2.0 graphite2 gthread-2.0 gtk-3 \
-   harfbuzz pango-1.0 pangoft2-1.0 \
-   pangocairo-1.0 pixman-1 png pcre2-8 xcb \
-   xcb-render xcb-shm epoxy nghttp2 iconv \
-   Xau Xdmcp execinfo jpeg ${COMPILER_LIBCXX}
-WANTLIB-qt=${WANTLIB-common} ${MODQT_WANTLIB} \
-   GL Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5Widgets \
-   fontconfig freetype $(COMPILER_LIBCXX)
-
-MODULES+=  textproc/intltool
-
-LIB_DEPENDS-common=devel/gettext,-runtime \
-   devel/libevent2 \
-   net/curl \
+WANTLIB-common = ${COMPILER_LIBCXX} c crypto curl m miniupnpc natpmp psl ssl
+
+WANTLIB-main = ${WANTLIB-common}
+
+WANTLIB-gtk += ${WANTLIB-common} cairo cairo-gobject cairomm-1.16 
gdk_pixbuf-2.0
+WANTLIB-gtk += gio-2.0 giomm-2.68 glib-2.0 glibmm-2.68 gobject-2.0 graphene-1.0
+WANTLIB-gtk += gtk-4 gtkmm-4.0 harfbuzz intl pango-1.0 pangocairo-1.0
+WANTLIB-gtk += pangomm-2.48 sigc-3.0
+
+WANTLIB-qt += ${WANTLIB-common} GL Qt6Core Qt6DBus Qt6Gui Qt6Network Qt6Svg
+WANTLIB-qt += Qt6Widgets
+
+MODULES =  devel/cmake \
+   textproc/intltool
+
+LIB_DEPENDS-common=net/curl \
+   net/libpsl \
net/miniupnp/libnatpmp \
net/miniupnp/miniupnpc>=1.9
 LIB_DEPENDS-main=${LIB_DEPENDS-common}
 LIB_DEPENDS-gtk=${LIB_DEPENDS-common} \
-   x11/gtk+3
+   x11/gtkmm40 \
+   x11/gtk+4
 LIB_DEPENDS-qt=${LIB_DEPENDS-common} \
-   ${MODQT_LIB_DEPENDS}
+   ${MODQT_LIB_DEPENDS} \
+   x11/qt6/qtsvg
 
 RUN_DEPENDS-gtk=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils \
-   x11/gtk+3,-guic
+   x11/gtk+3,-guic \
+   x11/gtk+4,-guic
 RUN_DEPENDS-qt=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils
 
-USE_GMAKE= Yes
-CONFIGURE_STYLE=gnu
-
-CONFIGURE_ARGS=--disable-shared \
-   --enable-cli \
-   --enable-external-natpmp
+CONFIGURE_ARGS =   -DENABLE_CLI=ON \
+   -DENABLE_TESTS=OFF
 
-# -I$(top_builddir)/third-party is required, but configure fails to
-# set it if we use external miniupnp libs.
-
-CONFIGURE_ENV= CPPFLAGS="-I${WRKSRC}/third-party -I${LOCALBASE}/include" \
-   LDFLAGS="-L${LOCALBASE}/lib"
-
-.if ${BUILD_PACKAGES:M-qt}
-MODULES+=  devel/qmake x11/qt5
-COMPILER_LANGS +=  c++
-# avoid setting LINK=
-MODQT5_USE_CXX11=  No
-MODQMAKE_PROJECTS= qt/qtr.pro
-CONFIGURE_STYLE+=  qmake
-SEPARATE_BUILD=No
-MODQMAKE_INSTALL_ROOT= ${PREFIX}
+# XXX sees ports libevent2 but picks base libevent expecting a single .so.*
+# use the bundle until upstream cmake code gets fixed
+CONFIGURE_ARGS +=  -DUSE_SYSTEM_EVENT2=OFF
+
+.if ${BUILD_PACKAGES:M-gtk}
+CONFIGURE_ARGS +=  -DENABLE_GTK=ON \
+ 

Re: [update] net/transmission 4.0.1 - work in progress

2023-03-14 Thread Josh Grosse
On Sat, Mar 11, 2023 at 12:55:39PM +, Klemens Nanni wrote:
> 10.03.2023 20:47, Klemens Nanni ??:
> > +++ pkg/PLIST-main  10 Mar 2023 14:45:13 -
> > @@ -22,81 +22,84 @@
> >  @man man/man1/transmission-remote.1
> >  @man man/man1/transmission-show.1
> >  @comment share/applications/
> 
> (This @comment  can probably go well and then get cleaned up from
>  update-plist, now that I see it...)
> 
> > +share/doc/transmission/
> > +share/doc/transmission/AUTHORS
> > +share/doc/transmission/COPYING
> > +share/doc/transmission/README.md
> > +share/doc/transmission/news/
> > +share/doc/transmission/news/news-2.42-and-older.md
> [lots of news files]
> > +share/doc/transmission/news/news-4.0.1.md
> > +share/doc/transmission/rpc-spec.md
> > +share/doc/transmission/send-email-when-torrent-done.sh
> 
> These come from default INSTALL_DOC, either default =ON should put the
> script into the examples dir and account for its nail(1) usage, imho, or
> =OFF should be used to skip all those files.  Or just zap news/?

I've added INSTALL_DOC=NO to the Makefile, removed the @comment,
and updated the plist.  Thank you for your help and your guidance!

I think this may be ready for testing by transmission users.

diff --git a/net/transmission/Makefile b/net/transmission/Makefile
index 3deb9382f4a..8c18efcee02 100644
--- a/net/transmission/Makefile
+++ b/net/transmission/Makefile
@@ -2,10 +2,7 @@ COMMENT-main=  BitTorrent command line and daemon client
 COMMENT-gtk=   BitTorrent client with GTK+ interface
 COMMENT-qt=BitTorrent client with Qt interface
 
-NOT_FOR_ARCHS-gtk= sparc64
-NOT_FOR_ARCHS-qt= sparc64
-
-VER=   3.00
+VER=   4.0.1
 DISTNAME=  transmission-${VER}
 PKGNAME-main=  transmission-${VER}
 PKGNAME-gtk=   transmission-gtk-${VER}
@@ -13,22 +10,17 @@ PKGNAME-qt= transmission-qt-${VER}
 CATEGORIES=net
 HOMEPAGE=  https://transmissionbt.com/
 MAINTAINER=Josh Grosse 
-REVISION-gtk=  2
-REVISION-main= 2
-REVISION-qt=   2
 
 # GPLv2+
 PERMIT_PACKAGE=Yes
 
-MASTER_SITES=  
https://github.com/transmission/transmission-releases/raw/master/
+MASTER_SITES=  
https://github.com/transmission/transmission/releases/download/${VER}/
 EXTRACT_SUFX=  .tar.xz
 
 MULTI_PACKAGES=-main -gtk -qt
 
-ONLY_FOR_ARCHS-qt= ${MODGCC4_ARCHS} ${CLANG_ARCHS}
-
+# gnu++17
 COMPILER = base-clang ports-gcc
-COMPILER_LANGS =   c
 
 
 PSEUDO_FLAVORS=no_gtk no_qt
@@ -36,84 +28,63 @@ FLAVOR?=
 
 .include 
 
-WANTLIB-common=c crypto curl event_core event_extra m miniupnpc>=2.0 \
-   natpmp pthread ssl z intl
-WANTLIB-main=  ${WANTLIB-common} nghttp2 iconv
-WANTLIB-gtk=   ${WANTLIB-common} X11 Xcomposite Xcursor Xdamage \
-   Xext Xfixes Xi Xinerama Xrandr Xrender \
-   atk-1.0 atk-bridge-2.0 cairo cairo-gobject \
-   expat ffi fontconfig freetype fribidi \
-   gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 \
-   gobject-2.0 graphite2 gthread-2.0 gtk-3 \
-   harfbuzz pango-1.0 pangoft2-1.0 \
-   pangocairo-1.0 pixman-1 png pcre2-8 xcb \
-   xcb-render xcb-shm epoxy nghttp2 iconv \
-   Xau Xdmcp execinfo jpeg ${COMPILER_LIBCXX}
-WANTLIB-qt=${WANTLIB-common} ${MODQT_WANTLIB} \
-   GL Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5Widgets \
-   fontconfig freetype $(COMPILER_LIBCXX)
-
-MODULES+=  textproc/intltool
-
-LIB_DEPENDS-common=devel/gettext,-runtime \
-   devel/libevent2 \
-   net/curl \
+WANTLIB-common = ${COMPILER_LIBCXX} c crypto curl m miniupnpc natpmp psl ssl
+
+WANTLIB-main = ${WANTLIB-common}
+
+WANTLIB-gtk += ${WANTLIB-common} cairo cairo-gobject cairomm-1.16 
gdk_pixbuf-2.0
+WANTLIB-gtk += gio-2.0 giomm-2.68 glib-2.0 glibmm-2.68 gobject-2.0 graphene-1.0
+WANTLIB-gtk += gtk-4 gtkmm-4.0 harfbuzz intl pango-1.0 pangocairo-1.0
+WANTLIB-gtk += pangomm-2.48 sigc-3.0
+
+WANTLIB-qt += ${WANTLIB-common} GL Qt6Core Qt6DBus Qt6Gui Qt6Network Qt6Svg
+WANTLIB-qt += Qt6Widgets
+
+MODULES =  devel/cmake \
+   textproc/intltool
+
+LIB_DEPENDS-common=net/curl \
+   net/libpsl \
net/miniupnp/libnatpmp \
net/miniupnp/miniupnpc>=1.9
 LIB_DEPENDS-main=${LIB_DEPENDS-common}
 LIB_DEPENDS-gtk=${LIB_DEPENDS-common} \
-   x11/gtk+3
+   x11/gtkmm40 \
+   x11/gtk+4
 LIB_DEPENDS-qt=${LIB_DEPENDS-common} \
-   ${MODQT_LIB_DEPENDS}
+   ${MODQT_LIB_DEPENDS} \
+   x11/qt6/qtsvg
 
 RUN_DEPENDS-gtk=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils \
-   x11/gtk+3,-guic
+   x11/gtk+3,-guic \
+   x11/gtk+4,-guic
 RUN_DEPENDS-qt=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils
 
-USE_GMAKE= Yes
-CONFIGURE_STYLE=gnu
+CONFIGURE_ARGS =   -DENABLE_CLI=ON \
+   

Re: [update] net/transmission 4.0.1 - work in progress

2023-03-11 Thread Josh Grosse
On Sat, Mar 11, 2023 at 12:55:39PM +, Klemens Nanni wrote:
> 10.03.2023 20:47, Klemens Nanni ??:
> > +++ pkg/PLIST-main  10 Mar 2023 14:45:13 -
> > @@ -22,81 +22,84 @@
> >  @man man/man1/transmission-remote.1
> >  @man man/man1/transmission-show.1
> >  @comment share/applications/
> 
> (This @comment  can probably go well and then get cleaned up from
>  update-plist, now that I see it...)
> 
> > +share/doc/transmission/
> > +share/doc/transmission/AUTHORS
> > +share/doc/transmission/COPYING
> > +share/doc/transmission/README.md
> > +share/doc/transmission/news/
> > +share/doc/transmission/news/news-2.42-and-older.md
> [lots of news files]
> > +share/doc/transmission/news/news-4.0.1.md
> > +share/doc/transmission/rpc-spec.md
> > +share/doc/transmission/send-email-when-torrent-done.sh
> 
> These come from default INSTALL_DOC, either default =ON should put the
> script into the examples dir and account for its nail(1) usage, imho, or
> =OFF should be used to skip all those files.  Or just zap news/?
> 
> 
> Enabling tests could be useful, they use a bundled gtest, though.
> Perhaps upstream could change that to allow system gtest?
> 
> 
> Regardless of the update, is transmission.rc's daemon_reload=NO still
> accurate?  In 4.0.1 ${WRKSRC}/daemon/daemon.cc I see
> 
> 750 /* If we got a SIGHUP during startup, process that now. */
> 751 if (seen_hup_)
> 752 {
> 753 reconfigure();
> 754 }
> 
> which looks like the daemon is reconfiguring on HUP, i.e. reloading.
 
Thank you, Klemens, for all your help.  I will review.



Re: [update] net/transmission 4.0.1 - work in progress

2023-03-11 Thread Klemens Nanni
10.03.2023 20:47, Klemens Nanni пишет:
> +++ pkg/PLIST-main10 Mar 2023 14:45:13 -
> @@ -22,81 +22,84 @@
>  @man man/man1/transmission-remote.1
>  @man man/man1/transmission-show.1
>  @comment share/applications/

(This @comment  can probably go well and then get cleaned up from
 update-plist, now that I see it...)

> +share/doc/transmission/
> +share/doc/transmission/AUTHORS
> +share/doc/transmission/COPYING
> +share/doc/transmission/README.md
> +share/doc/transmission/news/
> +share/doc/transmission/news/news-2.42-and-older.md
[lots of news files]
> +share/doc/transmission/news/news-4.0.1.md
> +share/doc/transmission/rpc-spec.md
> +share/doc/transmission/send-email-when-torrent-done.sh

These come from default INSTALL_DOC, either default =ON should put the
script into the examples dir and account for its nail(1) usage, imho, or
=OFF should be used to skip all those files.  Or just zap news/?


Enabling tests could be useful, they use a bundled gtest, though.
Perhaps upstream could change that to allow system gtest?


Regardless of the update, is transmission.rc's daemon_reload=NO still
accurate?  In 4.0.1 ${WRKSRC}/daemon/daemon.cc I see

750 /* If we got a SIGHUP during startup, process that now. */
751 if (seen_hup_)
752 {
753 reconfigure();
754 }

which looks like the daemon is reconfiguring on HUP, i.e. reloading.



Re: [update] net/transmission 4.0.1 - work in progress

2023-03-10 Thread Klemens Nanni
10.03.2023 19:57, Josh Grosse пишет:
> On Fri, Mar 10, 2023 at 03:09:42PM +, Klemens Nanni wrote:
> [snip]
>> Here is a diff using cmake, qt6 and gtk4 as per upstream defaults.
>> Above mentioned cmake issues should be mentioned upstream.
>> The one new local patch is trivial, free PR for anyone taking their time.
>>
>> Both gtk and qt run fine on amd64 for me.
> 
> Thank you for your diff!  
> 
> 1. I needed to add a BUILD_DEPENDS for x11/qt6/qttools to complete the
> qt configure step; it wasn't pre-installed on my build system when I began.  

Yeah, I did not go over all the little details.

> 2. transmission-gtk now produces a locale warning here. I'm not sure how
> to correct it as I'm one of those en_US.UTF-8 users who never pays any
> attention to locale -- until something like this happens and then I just
> stare at the screen with a slack-jawed gaze.
> 
> ** (transmission-gtk:32822): WARNING **: 14:20:24.974: Can't make the global 
> C++ locale equal to the C locale.
>collate_byname::collate_byname failed to construct for 
> C/en_US.UTF-8/C/C/C/C
>C locale = C/en_US.UTF-8/C/C/C/C

I don't see that, it starts from console without any warning and
different locales yield different languages... so works for me.

>  
> I have some additional minor changes to your Makefile:
> 
>   * the BDEP noted above
>   * 2 lines of WANTLIB-qt per port-lib-depends-check

Oops, I just missed WANTLIB-common for -qt.

>   * RDEP adds and deletes according to portcheck(1)
>   * MASTER_SITES over 2 lines to fit within 80 chars, per portcheck().

As you like, I think we have many >80chars ports due to MASTER_SITES.

> diff --git a/net/transmission/Makefile b/net/transmission/Makefile
> index ae7a342a6b4..6c384373071 100644
> --- a/net/transmission/Makefile
> +++ b/net/transmission/Makefile
> @@ -14,7 +14,8 @@ MAINTAINER= Josh Grosse 
>  # GPLv2+
>  PERMIT_PACKAGE=  Yes
>  
> -MASTER_SITES=
> https://github.com/transmission/transmission/releases/download/${VER}/
> +MASTER_SITES=\
> + https://github.com/transmission/transmission/releases/download/${VER}/
>  EXTRACT_SUFX=.tar.xz
>  
>  MULTI_PACKAGES=  -main -gtk -qt
> @@ -22,7 +23,6 @@ MULTI_PACKAGES= -main -gtk -qt
>  # gnu++17
>  COMPILER =   base-clang ports-gcc
>  
> -
>  PSEUDO_FLAVORS=  no_gtk no_qt
>  FLAVOR?=
>  
> @@ -38,12 +38,13 @@ WANTLIB-gtk += gtk-4 gtkmm-4.0 harfbuzz intl pango-1.0 
> pangocairo-1.0
>  WANTLIB-gtk += pangomm-2.48 sigc-3.0
>  
>  WANTLIB-qt += GL Qt6Core Qt6DBus Qt6Gui Qt6Network Qt6Svg Qt6Widgets
> +WANTLIB-qt += ${COMPILER_LIBCXX} c crypto curl m miniupnpc natpmp
> +WANTLIB-qt += psl ssl

Looks like you inlined WANTLIB-common and this diff applies neither to
-current nor on top of my diff.

>  
>  MODULES =devel/cmake \
>   textproc/intltool
>  
> -LIB_DEPENDS-common=devel/gettext,-runtime \
> - net/curl \
> +LIB_DEPENDS-common=net/curl \
>   net/libpsl \
>   net/miniupnp/libnatpmp \
>   net/miniupnp/miniupnpc>=1.9
> @@ -57,6 +58,7 @@ LIB_DEPENDS-qt= ${LIB_DEPENDS-common} \
>  
>  RUN_DEPENDS-gtk=${PKGNAME-main}:${BUILD_PKGPATH} \
>   devel/desktop-file-utils \
> + x11/gtk+3,-guic \
>   x11/gtk+4,-guic

I *think* we only need one of those, but I could be wrong and won't dig
into that now.

>  RUN_DEPENDS-qt=  ${PKGNAME-main}:${BUILD_PKGPATH} \
>   devel/desktop-file-utils
> @@ -80,6 +82,7 @@ MODULES +=  x11/qt6
>  # XXX =6 finds "Qt6", =5 fails to find "Qt", but Qt6 is preferred, anyway
>  CONFIGURE_ARGS +=-DENABLE_QT=ON \
>   -DUSE_QT_VERSION=6
> +BUILD_DEPENDS+=  x11/qt6/qttools
>  .else
>  CONFIGURE_ARGS +=-DENABLE_QT=OFF
>  .endif

New diff with your findings manually amended.

Just helping out, I am not using transmission myself, so others should
test and decide if this update should make it into release.


Index: Makefile
===
RCS file: /cvs/ports/net/transmission/Makefile,v
retrieving revision 1.140
diff -u -p -r1.140 Makefile
--- Makefile8 Nov 2022 11:17:02 -   1.140
+++ Makefile10 Mar 2023 20:33:06 -
@@ -2,10 +2,7 @@ COMMENT-main=  BitTorrent command line an
 COMMENT-gtk=   BitTorrent client with GTK+ interface
 COMMENT-qt=BitTorrent client with Qt interface
 
-NOT_FOR_ARCHS-gtk= sparc64
-NOT_FOR_ARCHS-qt= sparc64
-
-VER=   3.00
+VER=   4.0.1
 DISTNAME=  transmission-${VER}
 PKGNAME-main=  transmission-${VER}
 PKGNAME-gtk=   transmission-gtk-${VER}
@@ -13,22 +10,17 @@ PKGNAME-qt= transmission-qt-${VER}
 CATEGORIES=net
 HOMEPAGE=  https://transmissionbt.com/
 MAINTAINER=Josh Grosse 
-REVISION-gtk=  2
-REVISION-main= 2
-REVISION-qt=   2
 
 # GPLv2+
 PERMIT_PACKAGE=Yes
 
-MASTER_SITES=  
https://github.com/transmission/transmission-releases/raw/master/
+MASTER_SITES=  

Re: [update] net/transmission 4.0.1 - work in progress

2023-03-10 Thread Josh Grosse
On Fri, Mar 10, 2023 at 03:09:42PM +, Klemens Nanni wrote:
[snip]
> Here is a diff using cmake, qt6 and gtk4 as per upstream defaults.
> Above mentioned cmake issues should be mentioned upstream.
> The one new local patch is trivial, free PR for anyone taking their time.
> 
> Both gtk and qt run fine on amd64 for me.

Thank you for your diff!  

1. I needed to add a BUILD_DEPENDS for x11/qt6/qttools to complete the
qt configure step; it wasn't pre-installed on my build system when I began.  

2. transmission-gtk now produces a locale warning here. I'm not sure how
to correct it as I'm one of those en_US.UTF-8 users who never pays any
attention to locale -- until something like this happens and then I just
stare at the screen with a slack-jawed gaze.

** (transmission-gtk:32822): WARNING **: 14:20:24.974: Can't make the global 
C++ locale equal to the C locale.
   collate_byname::collate_byname failed to construct for 
C/en_US.UTF-8/C/C/C/C
   C locale = C/en_US.UTF-8/C/C/C/C
 
I have some additional minor changes to your Makefile:

  * the BDEP noted above
  * 2 lines of WANTLIB-qt per port-lib-depends-check
  * RDEP adds and deletes according to portcheck(1)
  * MASTER_SITES over 2 lines to fit within 80 chars, per portcheck().

diff --git a/net/transmission/Makefile b/net/transmission/Makefile
index ae7a342a6b4..6c384373071 100644
--- a/net/transmission/Makefile
+++ b/net/transmission/Makefile
@@ -14,7 +14,8 @@ MAINTAINER=   Josh Grosse 
 # GPLv2+
 PERMIT_PACKAGE=Yes
 
-MASTER_SITES=  
https://github.com/transmission/transmission/releases/download/${VER}/
+MASTER_SITES=  \
+   https://github.com/transmission/transmission/releases/download/${VER}/
 EXTRACT_SUFX=  .tar.xz
 
 MULTI_PACKAGES=-main -gtk -qt
@@ -22,7 +23,6 @@ MULTI_PACKAGES=   -main -gtk -qt
 # gnu++17
 COMPILER = base-clang ports-gcc
 
-
 PSEUDO_FLAVORS=no_gtk no_qt
 FLAVOR?=
 
@@ -38,12 +38,13 @@ WANTLIB-gtk += gtk-4 gtkmm-4.0 harfbuzz intl pango-1.0 
pangocairo-1.0
 WANTLIB-gtk += pangomm-2.48 sigc-3.0
 
 WANTLIB-qt += GL Qt6Core Qt6DBus Qt6Gui Qt6Network Qt6Svg Qt6Widgets
+WANTLIB-qt += ${COMPILER_LIBCXX} c crypto curl m miniupnpc natpmp
+WANTLIB-qt += psl ssl
 
 MODULES =  devel/cmake \
textproc/intltool
 
-LIB_DEPENDS-common=devel/gettext,-runtime \
-   net/curl \
+LIB_DEPENDS-common=net/curl \
net/libpsl \
net/miniupnp/libnatpmp \
net/miniupnp/miniupnpc>=1.9
@@ -57,6 +58,7 @@ LIB_DEPENDS-qt=   ${LIB_DEPENDS-common} \
 
 RUN_DEPENDS-gtk=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils \
+   x11/gtk+3,-guic \
x11/gtk+4,-guic
 RUN_DEPENDS-qt=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils
@@ -80,6 +82,7 @@ MODULES +=x11/qt6
 # XXX =6 finds "Qt6", =5 fails to find "Qt", but Qt6 is preferred, anyway
 CONFIGURE_ARGS +=  -DENABLE_QT=ON \
-DUSE_QT_VERSION=6
+BUILD_DEPENDS+=x11/qt6/qttools
 .else
 CONFIGURE_ARGS +=  -DENABLE_QT=OFF
 .endif



Re: [update] net/transmission 4.0.1 - work in progress

2023-03-10 Thread Klemens Nanni
On Fri, Mar 10, 2023 at 03:09:42PM +, Klemens Nanni wrote:
> transmission's cmake code finds and prints libevent2's 2.1.12, but ends up
> always using base libevent.so.* which I have not been able to fix.
> 
> Looks like transmission wants to link against a single -levent like base,
> but ports only has libevent_* libraries.
> 
> Perhaps this fixes itselt when devel/libevent2 switches to cmake and
> provides .cmake files or consumers, maybe this needs more fixing.
> 
> For now, I'd just build the bundled copy as you already found out.

libevent2's CMakeLists.txt has this comment:

# library exists for historical reasons; it contains the contents of
# both libevent_core and libevent_extra. You shouldn’t use it; it may
# go away in a future version of Libevent.

devel/libevent2 currently builds with autoconf and does not ship this -levent.
Switching to cmake enables it (by default), but seeing this comment now,
I recommend opening an issue with transmission and getting their code to use
event_* properly.



Re: [update] net/transmission 4.0.1 - work in progress

2023-03-10 Thread Klemens Nanni
On Thu, Mar 09, 2023 at 06:02:31PM -0500, Josh Grosse wrote:
> The attached "version 1" patch is a work-in-progress; I'm looking for
> advice and corrections
> 
> 1) I have (temporarily) disabled the Qt subpackage 
>build, because upstream has switched to using CMake for
>everything, and I do not know enough about either CMake
>or QMake to get it to build. I could use some help here,
>as it won't build under CMake and with QMake it looks for
>a Makefile which doesn't exist.

Mixing autoconf/cmake/qmake is a bad idea, better use cmake for everything.

transmission's cmake code "supports" Qt 5 and 6, but USE_QT_VERSION=5 fails
to find "Qt" whereas USE_QT_VERSION=6 properly finds "Qt6".

By default, 6 is tried first, so just use that.

> 2) I am having an issue with "size mismatch" warnings as both 
>libevent and devel/libevent2 are required by the main and
>gtk subpackages.  

transmission's cmake code finds and prints libevent2's 2.1.12, but ends up
always using base libevent.so.* which I have not been able to fix.

Looks like transmission wants to link against a single -levent like base,
but ports only has libevent_* libraries.

Perhaps this fixes itselt when devel/libevent2 switches to cmake and
provides .cmake files or consumers, maybe this needs more fixing.

For now, I'd just build the bundled copy as you already found out.

> 
> The updated programs:
> 
> transmission-daemon
> transmission-cli
> transmission-gtk 
> 
> have had limited testing on amd64.
> 
> Thanks in advance for any cluebats!

> diff --git a/net/transmission/Makefile b/net/transmission/Makefile
> index 3deb9382f4a..ff6ce4c8891 100644
> --- a/net/transmission/Makefile
> +++ b/net/transmission/Makefile
> @@ -1,89 +1,88 @@
>  COMMENT-main=BitTorrent command line and daemon client
>  COMMENT-gtk= BitTorrent client with GTK+ interface
> -COMMENT-qt=  BitTorrent client with Qt interface
> +#COMMENT-qt= BitTorrent client with Qt interface
>  
>  NOT_FOR_ARCHS-gtk= sparc64
> -NOT_FOR_ARCHS-qt= sparc64
> +#NOT_FOR_ARCHS-qt= sparc64

...

> -ONLY_FOR_ARCHS-qt=   ${MODGCC4_ARCHS} ${CLANG_ARCHS}
> +#ONLY_FOR_ARCHS-qt=  ${MODGCC4_ARCHS} ${CLANG_ARCHS}
>  
>  COMPILER =   base-clang ports-gcc
>  COMPILER_LANGS = c

The whole project switched to modern C++ and deps, so *_ARCHS-* bits seem
obsolete now.


Here is a diff using cmake, qt6 and gtk4 as per upstream defaults.
Above mentioned cmake issues should be mentioned upstream.
The one new local patch is trivial, free PR for anyone taking their time.

Both gtk and qt run fine on amd64 for me.


Index: Makefile
===
RCS file: /cvs/ports/net/transmission/Makefile,v
retrieving revision 1.140
diff -u -p -r1.140 Makefile
--- Makefile8 Nov 2022 11:17:02 -   1.140
+++ Makefile10 Mar 2023 15:04:52 -
@@ -2,10 +2,7 @@ COMMENT-main=  BitTorrent command line an
 COMMENT-gtk=   BitTorrent client with GTK+ interface
 COMMENT-qt=BitTorrent client with Qt interface
 
-NOT_FOR_ARCHS-gtk= sparc64
-NOT_FOR_ARCHS-qt= sparc64
-
-VER=   3.00
+VER=   4.0.1
 DISTNAME=  transmission-${VER}
 PKGNAME-main=  transmission-${VER}
 PKGNAME-gtk=   transmission-gtk-${VER}
@@ -13,22 +10,17 @@ PKGNAME-qt= transmission-qt-${VER}
 CATEGORIES=net
 HOMEPAGE=  https://transmissionbt.com/
 MAINTAINER=Josh Grosse 
-REVISION-gtk=  2
-REVISION-main= 2
-REVISION-qt=   2
 
 # GPLv2+
 PERMIT_PACKAGE=Yes
 
-MASTER_SITES=  
https://github.com/transmission/transmission-releases/raw/master/
+MASTER_SITES=  
https://github.com/transmission/transmission/releases/download/${VER}/
 EXTRACT_SUFX=  .tar.xz
 
 MULTI_PACKAGES=-main -gtk -qt
 
-ONLY_FOR_ARCHS-qt= ${MODGCC4_ARCHS} ${CLANG_ARCHS}
-
+# gnu++17
 COMPILER = base-clang ports-gcc
-COMPILER_LANGS =   c
 
 
 PSEUDO_FLAVORS=no_gtk no_qt
@@ -36,84 +28,60 @@ FLAVOR?=
 
 .include 
 
-WANTLIB-common=c crypto curl event_core event_extra m miniupnpc>=2.0 \
-   natpmp pthread ssl z intl
-WANTLIB-main=  ${WANTLIB-common} nghttp2 iconv
-WANTLIB-gtk=   ${WANTLIB-common} X11 Xcomposite Xcursor Xdamage \
-   Xext Xfixes Xi Xinerama Xrandr Xrender \
-   atk-1.0 atk-bridge-2.0 cairo cairo-gobject \
-   expat ffi fontconfig freetype fribidi \
-   gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 \
-   gobject-2.0 graphite2 gthread-2.0 gtk-3 \
-   harfbuzz pango-1.0 pangoft2-1.0 \
-   pangocairo-1.0 pixman-1 png pcre2-8 xcb \
-   xcb-render xcb-shm epoxy nghttp2 iconv \
-   Xau Xdmcp execinfo jpeg ${COMPILER_LIBCXX}
-WANTLIB-qt=${WANTLIB-common} ${MODQT_WANTLIB} \
-   GL Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5Widgets \
-   fontconfig freetype $(COMPILER_LIBCXX)
+WANTLIB-common = ${COMPILER_LIBCXX} c crypto curl m miniupnpc natpmp psl ssl
+
+WANTLIB-main = 

Re: [update] net/transmission 4.0.1 - work in progress

2023-03-10 Thread Josh Grosse
On Fri, Mar 10, 2023 at 03:20:51PM +0100, Antoine Jacoutot wrote:
> On Fri, Mar 10, 2023 at 09:10:56AM -0500, Josh Grosse wrote:
> > On Fri, Mar 10, 2023 at 07:37:20AM +, Stuart Henderson wrote:
> > > On 2023/03/09 18:02, Josh Grosse wrote:
> > > > 2) I am having an issue with "size mismatch" warnings as both 
> > > >libevent and devel/libevent2 are required by the main and
> > > >gtk subpackages.  
> > > 
> > > Mixing the two won't work, it will need to use either one or the other.
> >  
> > Thanks, got that cured by adding to the CMakeLists.txt patch:
> > 
> > -tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" AUTO)
> > +tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" OFF)
> 
> You should just be able to add -DUSE_SYSTEM_EVENT2=Off to CONFIGURE_ARGS, no?

Yes, that works too, with an upper-case OFF.  Better in the Makefile than the
patch file.  Thanks!



Re: [update] net/transmission 4.0.1 - work in progress

2023-03-10 Thread Antoine Jacoutot
On Fri, Mar 10, 2023 at 09:10:56AM -0500, Josh Grosse wrote:
> On Fri, Mar 10, 2023 at 07:37:20AM +, Stuart Henderson wrote:
> > On 2023/03/09 18:02, Josh Grosse wrote:
> > > 2) I am having an issue with "size mismatch" warnings as both 
> > >libevent and devel/libevent2 are required by the main and
> > >gtk subpackages.  
> > 
> > Mixing the two won't work, it will need to use either one or the other.
>  
> Thanks, got that cured by adding to the CMakeLists.txt patch:
> 
> -tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" AUTO)
> +tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" OFF)

You should just be able to add -DUSE_SYSTEM_EVENT2=Off to CONFIGURE_ARGS, no?

-- 
Antoine



Re: [update] net/transmission 4.0.1 - work in progress

2023-03-10 Thread Josh Grosse
On Fri, Mar 10, 2023 at 07:37:20AM +, Stuart Henderson wrote:
> On 2023/03/09 18:02, Josh Grosse wrote:
> > 2) I am having an issue with "size mismatch" warnings as both 
> >libevent and devel/libevent2 are required by the main and
> >gtk subpackages.  
> 
> Mixing the two won't work, it will need to use either one or the other.
 
Thanks, got that cured by adding to the CMakeLists.txt patch:

-tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" AUTO)
+tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" OFF)

and then removing the base `event` from Makefile WANTLIBs.  

kn@ wrote to me off-list that he may be able to look at the Qt issue.
I'll post an updated diff once that problem is solved.

Thanks again, as always!



Re: [update] net/transmission 4.0.1 - work in progress

2023-03-09 Thread Stuart Henderson
On 2023/03/09 18:02, Josh Grosse wrote:
> 2) I am having an issue with "size mismatch" warnings as both 
>libevent and devel/libevent2 are required by the main and
>gtk subpackages.  

Mixing the two won't work, it will need to use either one or the other.



[update] net/transmission 4.0.1 - work in progress

2023-03-09 Thread Josh Grosse
The attached "version 1" patch is a work-in-progress; I'm looking for
advice and corrections

1) I have (temporarily) disabled the Qt subpackage 
   build, because upstream has switched to using CMake for
   everything, and I do not know enough about either CMake
   or QMake to get it to build. I could use some help here,
   as it won't build under CMake and with QMake it looks for
   a Makefile which doesn't exist.
   
2) I am having an issue with "size mismatch" warnings as both 
   libevent and devel/libevent2 are required by the main and
   gtk subpackages.  

The updated programs:

transmission-daemon
transmission-cli
transmission-gtk 

have had limited testing on amd64.

Thanks in advance for any cluebats!
diff --git a/net/transmission/Makefile b/net/transmission/Makefile
index 3deb9382f4a..ff6ce4c8891 100644
--- a/net/transmission/Makefile
+++ b/net/transmission/Makefile
@@ -1,89 +1,88 @@
 COMMENT-main=  BitTorrent command line and daemon client
 COMMENT-gtk=   BitTorrent client with GTK+ interface
-COMMENT-qt=BitTorrent client with Qt interface
+#COMMENT-qt=   BitTorrent client with Qt interface
 
 NOT_FOR_ARCHS-gtk= sparc64
-NOT_FOR_ARCHS-qt= sparc64
+#NOT_FOR_ARCHS-qt= sparc64
 
-VER=   3.00
+VER=   4.0.1
 DISTNAME=  transmission-${VER}
 PKGNAME-main=  transmission-${VER}
 PKGNAME-gtk=   transmission-gtk-${VER}
-PKGNAME-qt=transmission-qt-${VER}
+#PKGNAME-qt=   transmission-qt-${VER}
 CATEGORIES=net
 HOMEPAGE=  https://transmissionbt.com/
 MAINTAINER=Josh Grosse 
-REVISION-gtk=  2
-REVISION-main= 2
-REVISION-qt=   2
 
 # GPLv2+
 PERMIT_PACKAGE=Yes
 
-MASTER_SITES=  
https://github.com/transmission/transmission-releases/raw/master/
+MASTER_SITES=  \
+   https://github.com/transmission/transmission/releases/download/${VER}/
 EXTRACT_SUFX=  .tar.xz
 
-MULTI_PACKAGES=-main -gtk -qt
+#MULTI_PACKAGES=   -main -gtk -qt
+MULTI_PACKAGES=-main -gtk
 
-ONLY_FOR_ARCHS-qt= ${MODGCC4_ARCHS} ${CLANG_ARCHS}
+#ONLY_FOR_ARCHS-qt=${MODGCC4_ARCHS} ${CLANG_ARCHS}
 
 COMPILER = base-clang ports-gcc
 COMPILER_LANGS =   c
 
 
-PSEUDO_FLAVORS=no_gtk no_qt
+#PSEUDO_FLAVORS=   no_gtk no_qt
+PSEUDO_FLAVORS=no_gtk
 FLAVOR?=
 
 .include 
 
-WANTLIB-common=c crypto curl event_core event_extra m miniupnpc>=2.0 \
-   natpmp pthread ssl z intl
-WANTLIB-main=  ${WANTLIB-common} nghttp2 iconv
-WANTLIB-gtk=   ${WANTLIB-common} X11 Xcomposite Xcursor Xdamage \
-   Xext Xfixes Xi Xinerama Xrandr Xrender \
-   atk-1.0 atk-bridge-2.0 cairo cairo-gobject \
-   expat ffi fontconfig freetype fribidi \
-   gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 \
-   gobject-2.0 graphite2 gthread-2.0 gtk-3 \
-   harfbuzz pango-1.0 pangoft2-1.0 \
-   pangocairo-1.0 pixman-1 png pcre2-8 xcb \
-   xcb-render xcb-shm epoxy nghttp2 iconv \
-   Xau Xdmcp execinfo jpeg ${COMPILER_LIBCXX}
-WANTLIB-qt=${WANTLIB-common} ${MODQT_WANTLIB} \
-   GL Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5Widgets \
-   fontconfig freetype $(COMPILER_LIBCXX)
-
-MODULES+=  textproc/intltool
+WANTLIB-common=${COMPILER_LIBCXX} c crypto curl event \
+   event_core event_extra intl m miniupnpc>=2.0 \
+   natpmp psl pthread ssl
+WANTLIB-main=  ${WANTLIB-common}
+WANTLIB-gtk=   ${WANTLIB-common} atk-1.0 atkmm-1.6 cairo \
+   cairo-gobject cairomm-1.0 event gdk-3 \
+   gdk_pixbuf-2.0 gdkmm-3.0 gio-2.0 giomm-2.4 \
+   glib-2.0 glibmm-2.4 gobject-2.0 gtk-3 gtkmm-3.0 \
+   harfbuzz pango-1.0 pangocairo-1.0 pangomm-1.4 sigc-2.0
+#WANTLIB-qt=   ${WANTLIB-common} ${MODQT_WANTLIB} \
+#  GL Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5Widgets \
+#  fontconfig freetype $(COMPILER_LIBCXX)
+
+MODULES+=  textproc/intltool devel/cmake
 
 LIB_DEPENDS-common=devel/gettext,-runtime \
devel/libevent2 \
net/curl \
+   net/libpsl \
net/miniupnp/libnatpmp \
net/miniupnp/miniupnpc>=1.9
 LIB_DEPENDS-main=${LIB_DEPENDS-common}
 LIB_DEPENDS-gtk=${LIB_DEPENDS-common} \
+   devel/atk2mm \
+   devel/glib2mm \
+   devel/libsigc++-2 \
+   devel/pangomm \
+   graphics/cairomm \
+   x11/gtk3mm \
x11/gtk+3
 LIB_DEPENDS-qt=${LIB_DEPENDS-common} \
${MODQT_LIB_DEPENDS}
 
+RUN_DEPENDS-main=x11/gtk+3,-guic
 RUN_DEPENDS-gtk=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils \
x11/gtk+3,-guic
 RUN_DEPENDS-qt=${PKGNAME-main}:${BUILD_PKGPATH} \
devel/desktop-file-utils
 
-USE_GMAKE= Yes
-CONFIGURE_STYLE=gnu
-
-CONFIGURE_ARGS=