Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F151557663
D14699.id40368.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
13 KB
Referenced Files
None
Subscribers
None
D14699.id40368.diff
View Options
Index: net-p2p/transmission/Makefile
===================================================================
--- net-p2p/transmission/Makefile
+++ net-p2p/transmission/Makefile
@@ -1,18 +1,216 @@
# $FreeBSD$
PORTNAME= transmission
-PORTVERSION= 2.93
+DISTVERSION= 2.93
CATEGORIES= net-p2p
+PKGNAMESUFFIX= -${FLAVOR}
MAINTAINER= crees@FreeBSD.org
-COMMENT= Meta-port for Transmission BitTorrent client
+COMMENT= Transmission is a fast, easy, and free BitTorrent client
+
+# Still need to figure out how to add LICENSE per FLAVOR
+# since some of the FLAVORS do have more permissive LICENSE.
+# Alternativelly, if possible, use LICENSE_GROUP then.
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+# FLAVOR should come after LIB_DEPENDS but I couldn't find a
+# workaround to the web FLAVOR which does not have LIB_DEPENDS.
+FLAVORS= cli daemon gtk qt4 qt5 web
+FLAVOR?= ${FLAVORS:[1]}
+
+. if ${FLAVOR} != web
+LIB_DEPENDS= libcurl.so:ftp/curl \
+ libdht.so:devel/jech-dht \
+ libb64.so:converters/libb64 \
+ libevent.so:devel/libevent \
+ libnatpmp.so:net/libnatpmp \
+ libutp.so:net/libutp \
+ libminiupnpc.so:net/miniupnpc
+. endif
+
+GTK_LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \
+ libnotify.so:devel/libnotify
+QT4_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2
+QT5_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2
+GTK_RUN_DEPENDS= xdg-open:devel/xdg-utils
+
+USES= cpe gmake iconv libtool localbase pkgconfig
+USE_GITHUB= yes
+
+. if ${FLAVOR} == daemon
+USE_RC_SUBR= transmission
+USERS= transmission
+GROUPS= transmission
+. endif
+
+. if ${FLAVOR} == gtk
+USES+= desktop-file-utils gettext pathfix
+USE_GNOME= cairo gtk30 intlhack
+INSTALLS_ICONS= yes
+. endif
+
+. if ${FLAVOR} == qt4
+USES+= compiler:c++11-lib desktop-file-utils
+USE_QT4= moc_build qmake_build rcc_build uic_build \
+ corelib dbus gui network xml
+QT_NONSTANDARD= yes
+. endif
+
+. if ${FLAVOR} == qt5
+USES+= compiler:c++11-lib desktop-file-utils
+USE_QT5= buildtools_build qmake_build \
+ core dbus gui network widgets
+QT_NONSTANDARD= yes
+. endif
+
+. if ${FLAVOR} == web
+USES= cpe
+PORTDATA= web
+NO_BUILD= yes
+. endif
+
+. if ${FLAVOR} != web
+LIBS+= ${ICONV_LIB}
+CONFIGURE_ENV= ${ICONV_LIB:C@.+@ac_cv_func_iconv=yes@}
+EXTRA_PATCHES= ${PATCHDIR}/disable-web
+GNU_CONFIGURE= yes
+. endif
+
+CPE_VENDOR= transmissionb
+EXTRACT_AFTER_ARGS= --no-same-owner --no-same-permissions --exclude third-party
+
+# Setting CONFIGURE_ARGS only.
+. if ${FLAVOR} != web
+CONFIGURE_ARGS= --without-inotify \
+ --enable-external-b64 \
+ --enable-external-dht \
+ --enable-external-natpmp
+. endif
+
+. if ${FLAVOR} == cli
+CONF_ARGS+= --enable-cli \
+ --disable-daemon \
+ --without-gtk \
+ --disable-mac \
+ --disable-nls
+. endif
+
+. if ${FLAVOR} == daemon
+CONF_ARGS+= --disable-cli \
+ --enable-daemon \
+ --without-gtk \
+ --disable-mac \
+ --disable-nls
+. endif
+
+. if ${FLAVOR} == gtk
+CONF_ARGS+= --disable-cli \
+ --disable-daemon \
+ --with-gtk \
+ --disable-mac \
+ --enable-nls
+. endif
+
+. if ${FLAVOR} == qt4
+CONF_ARGS= --disable-cli \
+ --disable-daemon \
+ --without-gtk \
+ --disable-mac \
+ --disable-nls
+. endif
+
+. if ${FLAVOR} == qt5
+CONF_ARGS+= --disable-cli \
+ --disable-daemon \
+ --without-gtk \
+ --disable-mac \
+ --disable-nls
+. endif
+
+# Setting OPTIONS
+. if ${FLAVOR} != web
+OPTIONS_DEFINE= DOCS LITE
+OPTIONS_DEFAULT= OPENSSL
+OPTIONS_SINGLE= SSL
+OPTIONS_SINGLE_SSL= OPENSSL POLARSSL WOLFSSL
+
+LITE_CONFIGURE_ENABLE= lightweight
+
+OPENSSL_USES= ssl
+OPENSSL_CONFIGURE_ENV= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
+ OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto"
+OPENSSL_CONFIGURE_ON= --with-crypto=openssl
+
+POLARSSL_LIB_DEPENDS= libpolarssl.so:security/polarssl13
+POLARSSL_CONFIGURE_ON= --with-crypto=polarssl
+
+WOLFSSL_LIB_DEPENDS= libwolfssl.so:security/wolfssl
+WOLFSSL_CONFIGURE_ON= --with-crypto=cyassl
+WOLFSSL_BROKEN= Requires security/wolfssl built with --enable-arc4
+. endif
+
+DOCS= AUTHORS NEWS README
+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
+
+# Still need to understand how patch work for FLAVORS. For some reason they
+# fail to apply to every FLAVOR; however removing them already allow to the
+# -web FLAVOR build.
+. if ${FLAVOR} != web
+general-patch:
+ @${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|noinst_PROGRAMS = |noinst_PROGRAMS = #|g'
+. if ${FLAVOR} != gtk
+ @${REINPLACE_CMD} -e '/#define DISABLE_GETTEXT/s,/\* \(.*\) \*/,\1,' \
+ ${WRKSRC}/libtransmission/utils.h
+. endif
+ @${REINPLACE_CMD} -e \
+ 's|rt_clock_gettime=yes|rt_clock_gettime=no|g ; \
+ s|" == "|" = "|g' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|doc \\| \\|g' \
+ ${WRKSRC}/Makefile.in
+. if ${FLAVOR} != cli
+ @${REINPLACE_CMD} -e 's|utils \\|\\|g' \
+ ${WRKSRC}/Makefile.in
+. endif
+# Don't conflict with patches but force system libraries
+ @${REINPLACE_CMD} -e 's|third-party \\|\\|g' \
+ ${WRKSRC}/Makefile.in
+ @${REINPLACE_CMD} \
+ -e 's|third-party/[^ ]*Makefile||g' \
+ ${WRKSRC}/configure
+
+post-patch: general-patch
+
+general-install:
+
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} \
+ "${DOCS}" ${STAGEDIR}${DOCSDIR})
+
+post-install: general-install
+
+. endif
+
+# Install -web stuff
+. if ${FLAVOR} == web
+post-extract:
+ @${FIND} ${WRKSRC}/web -name Makefile.* -delete
+ @${FIND} ${WRKSRC}/web -name .git* -delete
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR}/web
+ (cd ${WRKSRC}/web && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}/web)
+. endif
+
+
+
+
+
-RUN_DEPENDS= transmission-cli:net-p2p/transmission-cli \
- transmission-daemon:net-p2p/transmission-daemon \
- transmission-gtk:net-p2p/transmission-gtk
-CONFLICTS_INSTALL= ${PORTNAME}${PKGNAMESUFFIX}-2.[56]*
-USES= metaport
.include <bsd.port.mk>
Index: net-p2p/transmission/distinfo
===================================================================
--- /dev/null
+++ net-p2p/transmission/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1521071450
+SHA256 (transmission-transmission-2.93_GH0.tar.gz) = 870ea21a2803c141126bb3f2da4e9acab8db7c0b403a64f685f410b629497a8a
+SIZE (transmission-transmission-2.93_GH0.tar.gz) = 6341015
Index: net-p2p/transmission/files/disable-web
===================================================================
--- /dev/null
+++ net-p2p/transmission/files/disable-web
@@ -0,0 +1,18 @@
+--- Makefile.am.orig 2018-03-17 00:12:13 UTC
++++ Makefile.am
+@@ -16,7 +16,6 @@ if BUILD_MAC
+ endif
+
+ SUBDIRS = \
+- extras \
+ third-party \
+ libtransmission \
+ utils \
+@@ -24,7 +23,6 @@ SUBDIRS = \
+ $(CLI_DIR) \
+ $(GTK_DIR) \
+ $(MAC_DIR) \
+- web
+
+ EXTRA_DIST = \
+ qt \
Index: net-p2p/transmission/files/patch-configure
===================================================================
--- /dev/null
+++ net-p2p/transmission/files/patch-configure
@@ -0,0 +1,20 @@
+--- configure.orig 2016-03-06 20:24:37 UTC
++++ configure
+@@ -19348,7 +19348,7 @@ $as_echo_n "checking µTP... " >&6; }
+ build_utp="no"
+
+ ac_save_LIBS="$LIBS"
+-LIBS="-lutp"
++LIBS="-lutp $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+ #include <libutp/utp.h>
+@@ -19423,7 +19423,7 @@ $as_echo "$build_utp" >&6; }
+
+
+ ac_save_LIBS="$LIBS"
+-LIBS="-lminiupnpc"
++LIBS="-lminiupnpc $LIBS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking system miniupnpc library" >&5
+ $as_echo_n "checking system miniupnpc library... " >&6; }
+
Index: net-p2p/transmission/files/patch-fix-with-libressl
===================================================================
--- /dev/null
+++ net-p2p/transmission/files/patch-fix-with-libressl
@@ -0,0 +1,23 @@
+--- libtransmission/crypto-utils-openssl.c.orig 2018-03-01 00:44:45 UTC
++++ libtransmission/crypto-utils-openssl.c
+@@ -147,7 +147,7 @@ tr_sha1_final (tr_sha1_ctx_t handle,
+ ****
+ ***/
+
+-#if OPENSSL_VERSION_NUMBER < 0x0090802fL
++#if OPENSSL_VERSION_NUMBER < 0x0090802fL || defined(LIBRESSL_VERSION_NUMBER)
+
+ static EVP_CIPHER_CTX *
+ openssl_evp_cipher_context_new (void)
+@@ -230,7 +230,7 @@ tr_rc4_process (tr_rc4_ctx_t handle,
+ ****
+ ***/
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000
++#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER)
+ static inline int
+ DH_set0_pqg (DH * dh,
+ BIGNUM * p,
+
+
+
Index: net-p2p/transmission/files/patch-fix_without_ipv6
===================================================================
--- /dev/null
+++ net-p2p/transmission/files/patch-fix_without_ipv6
@@ -0,0 +1,11 @@
+--- libtransmission/fdlimit.c.orig 2015-07-01 00:54:41 UTC
++++ libtransmission/fdlimit.c
+@@ -517,7 +517,7 @@ tr_fdSocketCreate (tr_session * session,
+
+ if (gFd->peerCount < session->peerLimit)
+ if ((s = socket (domain, type, 0)) == TR_BAD_SOCKET)
+- if (sockerrno != EAFNOSUPPORT)
++ if (sockerrno != EPROTONOSUPPORT)
+ {
+ char err_buf[512];
+ tr_logAddError (_("Couldn't create socket: %s"),
Index: net-p2p/transmission/files/patch-qt_Application.h
===================================================================
--- /dev/null
+++ net-p2p/transmission/files/patch-qt_Application.h
@@ -0,0 +1,10 @@
+--- qt/Application.h.orig 2018-03-15 01:22:31 UTC
++++ qt/Application.h
+@@ -10,6 +10,7 @@
+ #ifndef QTR_APPLICATION_H
+ #define QTR_APPLICATION_H
+
++#include <ctime>
+ #include <QApplication>
+ #include <QSet>
+ #include <QTimer>
Index: net-p2p/transmission/files/patch-qt_qtr.pro
===================================================================
--- /dev/null
+++ net-p2p/transmission/files/patch-qt_qtr.pro
@@ -0,0 +1,20 @@
+--- qt/qtr.pro.orig 2018-03-15 01:20:06 UTC
++++ qt/qtr.pro
+@@ -8,7 +8,7 @@ target.path = /bin
+ INSTALLS += target
+
+ unix: INSTALLS += man
+-man.path = /share/man/man1/
++man.path = /man/man1/
+ man.files = transmission-qt.1
+
+ CONFIG += qt thread debug link_pkgconfig c++11 warn_on
+@@ -34,7 +34,7 @@ LIBS += $${DHT_LIBS}
+ LIBS += $${LIBB64_LIBS}
+ LIBS += $${LIBUPNP_LIBS}
+ LIBS += $${LIBNATPMP_LIBS}
+-unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt
++unix: LIBS += -L$${EVENT_TOP}/lib -lz -levent_core -levent_extra
+ win32:LIBS += -levent-2.0 -lws2_32 -lintl
+ win32:LIBS += -lidn -liconv -lwldap32 -liphlpapi
+
Index: net-p2p/transmission/files/transmission.in
===================================================================
--- /dev/null
+++ net-p2p/transmission/files/transmission.in
@@ -0,0 +1,80 @@
+#!/bin/sh
+#
+# $FreeBSD: head/net-p2p/transmission-cli/files/transmission.in 373348 2014-11-24 18:51:26Z crees $
+#
+# PROVIDE: transmission
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable this service:
+#
+# transmission_enable: Set to NO by default. Set it to YES to enable it.
+# transmission_watch_dir: Directory for torrent files to download
+# automatically. Off by default unless you add
+# a path.
+# transmission_conf_dir: Directory where transmission configuration
+# data is stored.
+# Default: %%PREFIX%%/etc/transmission/home
+# transmission_download_dir: Directory to store downloaded data.
+# Default: %%PREFIX%%/etc/transmission/home/Downloads
+# transmission_user: The user account transmission daemon runs as what
+# you want it to be. It uses 'transmission' user by
+# default.
+# transmission_web_home: Use alternative directory for the web interface
+# files, such as javascript, html and graphics.
+# transmission_chown: By default, transmission checks and fixes the
+# permissions for its home directory. If this
+# causes problems, set this variable to no.
+#
+
+. /etc/rc.subr
+
+name=transmission
+rcvar=transmission_enable
+
+load_rc_config $name
+
+: ${transmission_enable:=NO}
+: ${transmission_conf_dir=%%PREFIX%%/etc/transmission/home}
+: ${transmission_download_dir=%%PREFIX%%/etc/transmission/home/Downloads}
+: ${transmission_user:=transmission}
+transmission_group=${transmission_group:-$transmission_user}
+: ${transmission_chown:=yes}
+
+command=%%PREFIX%%/bin/transmission-daemon
+pidfile=/var/run/transmission/daemon.pid
+extra_commands=reload
+start_precmd=transmission_prestart
+
+transmission_flags=" \
+ ${transmission_watch_dir:+-c ${transmission_watch_dir}} \
+ ${transmission_conf_dir:+-g ${transmission_conf_dir}} \
+ ${transmission_download_dir:+-w ${transmission_download_dir}} \
+ ${pidfile:+-x $pidfile} \
+ ${transmission_flags}"
+
+transmission_prestart()
+{
+ install -d -o $transmission_user ${pidfile%/*}
+ if checkyesno transmission_chown; then
+ mkdir -p $transmission_conf_dir $transmission_download_dir
+ chown $transmission_user:$transmission_group $transmission_download_dir
+ chown -R $transmission_user:$transmission_group $transmission_conf_dir
+ chgrp $transmission_group $transmission_conf_dir
+ chmod 750 $transmission_conf_dir
+ fi
+ if [ -n "$transmission_web_home" ]; then
+ TRANSMISSION_WEB_HOME=$transmission_web_home
+ export TRANSMISSION_WEB_HOME
+ fi
+}
+
+# Unfortunately there was a typo in a previous version, which may have
+# left some people with /var/run/transmission/damon.pid . Deal with
+# this for a few months at least, until everyone will have restarted
+# transmission
+if [ ! -f $pidfile -a -f /var/run/transmission/damon.pid ]; then
+ pidfile=/var/run/transmission/damon.pid
+fi
+
+run_rc_command $1
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Apr 10, 4:38 AM (10 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31199817
Default Alt Text
D14699.id40368.diff (13 KB)
Attached To
Mode
D14699: net-p2p/transmission-*: update to version 2.94
Attached
Detach File
Event Timeline
Log In to Comment