2013/8/12 Christian Weisgerber <[email protected]>:
> Vadim Zhukov <[email protected]> wrote:
>
>> > This minor release, under the guise of adding support for Qt5, now
>> > casually requires Qt5 as the minimum version. Since we don't have
>> > a Qt5 port, this means dropping the Qt client. If somebody has a
>> > strong opinion to the contrary and a better suggestion, speak up.
>>
>> This is an improved version of your patch, that allows to build with
>> Qt4. Actual Qt4 support needed only two small patches.
>
> Great!
>
>> I fixed WANTLIB handling and RUN_DEPENDS handling while there, too.
>
> What are you trying to fix here? The extra libs reported by
> lib-depends-check for the -qt subpackage? I can assure you that
> transmission-qt pulls in these libraries. It's just that they are
> reached indirectly, e.g., transmission-qt links against libcurl,
> which links against libidn. If you want to fix the extras, I'd
> rather link the libraries explicitly in qtr.pro.
Primary goal was to fix Qt4 items in WANTLIB. Those ought to be
lib/qt4/QtFoo, not just QtFoo. I'm totally fine with trusting you and
keeping extra WANTLIB.
>> -MODULES= devel/gettext textproc/intltool
>> +MODULES= devel/gettext textproc/intltool x11/qt4
>
> No, we don't want a build dependency on Qt4 despite FLAVOR=no_qt.
There should be none: LIB_DEPENDS-qt does not inherit from LIB_DEPENDS,
but uses MODQT_LIB_DEPENDS directly. But I was wrong, I should add
x11/qt4 to MODULES only if BUILD_PACKAGES:M-qt. And the x11/qt4 MODULE
is preferred over simple LDEP because this module sets up some build
environment, too.
>> -RUN_DEPENDS-gtk=${PKGNAME-main}:net/transmission,-main \
>> +RUN_DEPENDS-gtk=${BUILD_PKGPATH} \
>
> No, we don't want the PSEUDO_FLAVORS to make their way into the
> dependency.
Hm, but bsd.port.mk(5) encourages using BUILD_PKGPATH right for this
sort of situations:
BUILD_PKGPATH
Full pkgpath(7) to the current port, taking flavors and
pseudo-flavors into account. See also BASE_PKGPATH, which
doesn't include pseudo-flavors. Mostly useful to write
dependencies for subpackages like this:
LIB_DEPENDS-foo=${BUILD_PKGPATH} and avoid starting to
build a package with some other flavor combination. See
pkgpath(7) on the subject of `pkgpath normalisation'.
Read-only.
And I do not see PSEUDO_FLAVORS landing in packing list.
This is with BUILD_PKGPATH being used:
$ FLAVOR=no_gtk SUBPACKAGE=-qt make print-plist | fgrep pkgpath
@comment pkgpath=net/transmission,-qt cdrom=yes ftp=yes
Here is updated patch with idn back to WANTLIB-common.
--
WBR,
Vadim Zhukov
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/transmission/Makefile,v
retrieving revision 1.89
diff -u -p -r1.89 Makefile
--- Makefile 9 Aug 2013 19:13:08 -0000 1.89
+++ Makefile 12 Aug 2013 15:51:16 -0000
@@ -4,7 +4,7 @@ COMMENT-main= BitTorrent command line an
COMMENT-gtk= BitTorrent client with GTK+ interface
COMMENT-qt= BitTorrent client with Qt interface
-VER= 2.81
+VER= 2.82
DISTNAME= transmission-${VER}
PKGNAME-main= transmission-${VER}
PKGNAME-gtk= transmission-gtk-${VER}
@@ -27,13 +27,16 @@ ONLY_FOR_ARCHS-qt=${GCC4_ARCHS}
PSEUDO_FLAVORS= no_gtk no_qt
FLAVOR?=
+.include <bsd.port.arch.mk>
+
# Reminder:
# MODULES adds to WANTLIB and LIB_DEPENDS
# WANTLIB-main and LIB_DEPENDS-main default to WANTLIB and LIB_DEPENDS
-WANTLIB= c crypto curl event_core event_extra idn m miniupnpc \
- natpmp pthread ssl z
-WANTLIB-gtk= ${WANTLIB} ICE SM X11 Xcomposite Xcursor Xdamage \
+WANTLIB-common= c crypto curl event_core event_extra idn m miniupnpc \
+ natpmp pthread ssl z ${MODGETTEXT_WANTLIB}
+WANTLIB-main= ${WANTLIB-common}
+WANTLIB-gtk= ${WANTLIB-common} ICE SM X11 Xcomposite Xcursor Xdamage \
Xext Xfixes Xi Xinerama Xrandr Xrender \
atk-1.0 atk-bridge-2.0 atspi cairo cairo-gobject \
dbus-1 expat ffi fontconfig freetype \
@@ -42,25 +45,31 @@ WANTLIB-gtk= ${WANTLIB} ICE SM X11 Xcomp
harfbuzz pango-1.0 pangoft2-1.0 \
pangocairo-1.0 pixman-1 png pcre pthread-stubs xcb \
xcb-render xcb-shm
-WANTLIB-qt= ${WANTLIB} ICE SM QtCore QtDBus QtGui QtNetwork QtXml \
- X11 Xext Xi Xinerama Xrender \
- expat fontconfig freetype stdc++
+WANTLIB-qt= ${WANTLIB-common} ${MODQT_WANTLIB} \
+ lib/qt4/QtDBus lib/qt4/QtGui lib/qt4/QtNetwork lib/qt4/QtXml \
+ ICE SM X11 Xext Xi Xinerama Xrender fontconfig freetype \
+ stdc++
MODULES= devel/gettext textproc/intltool
+.if ${BUILD_PACKAGES:M-qt}
+MODULES+= x11/qt4
+.endif
-LIB_DEPENDS= devel/libevent2 \
+LDEP-common= ${MODGETTEXT_LIB_DEPENDS} \
+ devel/libevent2 \
net/curl \
net/miniupnp/libnatpmp \
net/miniupnp/miniupnpc
-LIB_DEPENDS-gtk=${LIB_DEPENDS} \
+LIB_DEPENDS-main=${LDEP-common}
+LIB_DEPENDS-gtk=${LDEP-common} \
x11/gtk+3
-LIB_DEPENDS-qt= ${LIB_DEPENDS} \
- x11/qt4
+LIB_DEPENDS-qt= ${LDEP-common} \
+ ${MODQT_LIB_DEPENDS}
-RUN_DEPENDS-gtk=${PKGNAME-main}:net/transmission,-main \
+RUN_DEPENDS-gtk=${BUILD_PKGPATH} \
devel/desktop-file-utils \
x11/gtk+2,-guic
-RUN_DEPENDS-qt= ${PKGNAME-main}:net/transmission,-main \
+RUN_DEPENDS-qt= ${BUILD_PKGPATH} \
devel/desktop-file-utils
USE_GMAKE= Yes
@@ -79,8 +88,6 @@ CONFIGURE_ENV= CPPFLAGS="-I${WRKSRC}/thi
QMAKE_ARGS= QMAKE_CXX="${CXX}" \
QMAKE_CXXFLAGS="${CXXFLAGS}"
-.include <bsd.port.arch.mk>
-
.if !${BUILD_PACKAGES:M-gtk}
CONFIGURE_ARGS+=--without-gtk
.endif
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/transmission/distinfo,v
retrieving revision 1.46
diff -u -p -r1.46 distinfo
--- distinfo 9 Aug 2013 19:13:08 -0000 1.46
+++ distinfo 12 Aug 2013 15:51:16 -0000
@@ -1,2 +1,2 @@
-SHA256 (transmission-2.81.tar.xz) =
u7Vx9YJUZqpF5u9K0oYXYTWhqcAjT/6jUn69gAHMVqs=
-SIZE (transmission-2.81.tar.xz) = 3167816
+SHA256 (transmission-2.82.tar.xz) =
OZZlEIffZ6hfHhtKkrG1GN3v3YTGVLjfb7zLC5HwNSI=
+SIZE (transmission-2.82.tar.xz) = 3172024
Index: patches/patch-libtransmission_platform-quota_c
===================================================================
RCS file:
/cvs/ports/net/transmission/patches/patch-libtransmission_platform-quota_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-libtransmission_platform-quota_c
--- patches/patch-libtransmission_platform-quota_c 9 Aug 2013 19:13:08
-0000 1.1
+++ patches/patch-libtransmission_platform-quota_c 12 Aug 2013 15:51:16
-0000
@@ -1,30 +0,0 @@
-$OpenBSD: patch-libtransmission_platform-quota_c,v 1.1 2013/08/09 19:13:08
naddy Exp $
---- libtransmission/platform-quota.c.orig Tue Jul 23 13:37:31 2013
-+++ libtransmission/platform-quota.c Tue Jul 23 13:39:38 2013
-@@ -18,7 +18,7 @@
-
- #ifndef WIN32
- #include <sys/types.h> /* types needed by quota.h */
-- #ifdef __FreeBSD__
-+ #if defined(__FreeBSD__) || defined(__OpenBSD__)
- #include <ufs/ufs/quota.h> /* quotactl() */
- #elif defined (__sun)
- #include <sys/fs/ufs_quota.h> /* quotactl */
-@@ -203,7 +203,7 @@ getquota (const char * device)
- int64_t freespace;
- int64_t spaceused;
-
--#if defined(__FreeBSD__) || defined(SYS_DARWIN)
-+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(SYS_DARWIN)
- if (quotactl(device, QCMD(Q_GETQUOTA, USRQUOTA), getuid(), (caddr_t) &dq)
== 0)
- {
- #elif defined(__sun)
-@@ -235,7 +235,7 @@ getquota (const char * device)
- /* No quota enabled for this user */
- return -1;
- }
--#if defined(__FreeBSD__)
-+#if defined(__FreeBSD__) || defined(__OpenBSD__)
- spaceused = (int64_t) dq.dqb_curblocks >> 1;
- #elif defined(SYS_DARWIN)
- spaceused = (int64_t) dq.dqb_curbytes;
Index: patches/patch-qt_favicon_cc
===================================================================
RCS file: patches/patch-qt_favicon_cc
diff -N patches/patch-qt_favicon_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-qt_favicon_cc 12 Aug 2013 15:51:16 -0000
@@ -0,0 +1,30 @@
+$OpenBSD$
+Make it compile with Qt4, too.
+--- qt/favicon.cc.orig Fri Aug 9 06:45:47 2013
++++ qt/favicon.cc Sun Aug 11 03:21:47 2013
+@@ -14,7 +14,12 @@
+ #include <QNetworkAccessManager>
+ #include <QNetworkReply>
+ #include <QNetworkRequest>
+-#include <QStandardPaths>
++
++#if QT_VERSION >= 0x050000
++# include <QStandardPaths>
++#else
++# include <QDesktopServices>
++#endif
+
+ #include "favicon.h"
+
+@@ -40,7 +45,11 @@ Favicons :: ~Favicons( )
+ QString
+ Favicons :: getCacheDir( )
+ {
++#if QT_VERSION >= 0x050000
+ const QString base = QStandardPaths::writableLocation
(QStandardPaths::CacheLocation);
++#else
++ const QString base = QDesktopServices::storageLocation(
QDesktopServices::CacheLocation );
++#endif
+ return QDir( base ).absoluteFilePath( "favicons" );
+ }
+
Index: patches/patch-qt_file-tree_cc
===================================================================
RCS file: patches/patch-qt_file-tree_cc
diff -N patches/patch-qt_file-tree_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-qt_file-tree_cc 12 Aug 2013 15:51:16 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+Make it compile with Qt4, too.
+--- qt/file-tree.cc.orig Fri Aug 9 06:45:54 2013
++++ qt/file-tree.cc Sun Aug 11 03:22:58 2013
+@@ -885,7 +885,11 @@ FileTreeView :: FileTreeView (QWidget * parent, bool i
+ for (int i=0; i<NUM_COLUMNS; ++i)
+ {
+ setColumnHidden (i, (i<FIRST_VISIBLE_COLUMN) ||
(LAST_VISIBLE_COLUMN<i));
++#if QT_VERSION >= 0x050000
+ header()->setSectionResizeMode(i, QHeaderView::Interactive);
++#else
++ header()->setResizeMode(i, QHeaderView::Interactive);
++#endif
+ }
+
+ connect (this, SIGNAL(clicked(const QModelIndex&)),
Index: patches/patch-qt_qtr_pro
===================================================================
RCS file: /cvs/ports/net/transmission/patches/patch-qt_qtr_pro,v
retrieving revision 1.4
diff -u -p -r1.4 patch-qt_qtr_pro
--- patches/patch-qt_qtr_pro 7 Apr 2012 10:55:04 -0000 1.4
+++ patches/patch-qt_qtr_pro 12 Aug 2013 15:51:16 -0000
@@ -1,6 +1,6 @@
$OpenBSD: patch-qt_qtr_pro,v 1.4 2012/04/07 10:55:04 naddy Exp $
---- qt/qtr.pro.orig Thu Mar 29 17:30:57 2012
-+++ qt/qtr.pro Thu Mar 29 17:31:22 2012
+--- qt/qtr.pro.orig Fri Aug 9 06:45:47 2013
++++ qt/qtr.pro Sun Aug 11 02:45:35 2013
@@ -8,7 +8,7 @@ target.path = /bin
INSTALLS += target
@@ -9,7 +9,7 @@ $OpenBSD: patch-qt_qtr_pro,v 1.4 2012/04
+man.path = /man/man1/
man.files = transmission-qt.1
- CONFIG += qt qdbus thread debug link_pkgconfig
+ CONFIG += qt thread debug link_pkgconfig
@@ -26,7 +26,7 @@ LIBS += $${LIBUTP_LIBS}
LIBS += $${TRANSMISSION_TOP}/third-party/dht/libdht.a
LIBS += $${LIBUPNP_LIBS}