Re: [update] net/transmission 4.0.1 - work in progress
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
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
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
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 \ + -DENAB
Re: [update] net/transmission 4.0.1 - work in progress
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
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
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= https://github.com/tra
Re: [update] net/transmission 4.0.1 - work in progress
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
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
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 = ${WANTL
Re: [update] net/transmission 4.0.1 - work in progress
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
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
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
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
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=