Index: head/net-p2p/transmission/Makefile
===================================================================
--- head/net-p2p/transmission/Makefile (revision 463261)
+++ head/net-p2p/transmission/Makefile (revision 463262)
@@ -1,18 +1,18 @@
# $FreeBSD$
PORTNAME= transmission
-PORTVERSION= 2.92
+PORTVERSION= 2.93
CATEGORIES= net-p2p
MAINTAINER= crees@FreeBSD.org
COMMENT= Meta-port for Transmission BitTorrent client
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
Index: head/net-p2p/transmission-cli/Makefile
===================================================================
--- head/net-p2p/transmission-cli/Makefile (revision 463261)
+++ head/net-p2p/transmission-cli/Makefile (revision 463262)
@@ -1,119 +1,119 @@
# $FreeBSD$
PORTNAME= transmission
-PORTVERSION= 2.92
-PORTREVISION?= 3
+PORTVERSION= 2.93
+PORTREVISION?= 0
CATEGORIES?= net-p2p
MASTER_SITES= https://github.com/transmission/transmission-releases/raw/master/ \
http://transmission.cachefly.net/
PKGNAMESUFFIX?= -cli
MAINTAINER?= crees@FreeBSD.org
COMMENT?= Lightweight CLI (command line) BitTorrent client and utilities
SLAVEPORT?= cli
LICENSE= GPLv2+
.if ${SLAVEPORT} == cli
LICENSE+= MIT
LICENSE_COMB= multi
.endif
LICENSE_FILE= ${WRKSRC}/COPYING
USES+= cpe tar:xz
CPE_VENDOR= transmissionbt
CONFLICTS_INSTALL= ${PORTNAME}${PKGNAMESUFFIX}-2.5*
EXTRACT_AFTER_ARGS=--no-same-owner --no-same-permissions --exclude third-party
.if ${SLAVEPORT} != web
LIB_DEPENDS?= ${GEN_LIB_DEPENDS}
# General dependencies
GEN_LIB_DEPENDS=libb64.so:converters/libb64 \
libcurl.so:ftp/curl \
libdht.so:devel/jech-dht \
libminiupnpc.so:net/miniupnpc \
libnatpmp.so:net/libnatpmp \
libutp.so:net/libutp \
libevent.so:devel/libevent
GEN_RUN_DEPENDS=${LOCALBASE}/share/transmission/web/index.html:www/transmission-web
# This is master port of transmission-*, so don't override USES definition
USES+= gmake iconv libtool localbase pkgconfig
GNU_CONFIGURE= yes
LIBS+= ${ICONV_LIB}
CONFIGURE_ENV= ${ICONV_LIB:C@.+@ac_cv_func_iconv=yes@}
CONFIGURE_ARGS= --without-inotify \
--enable-external-b64 \
--enable-external-dht \
--enable-external-natpmp \
${EXTRA_CONF_ARGS}
EXTRA_CONF_ARGS?=--enable-cli \
--disable-daemon \
--without-gtk \
--disable-mac \
--disable-nls
EXTRA_PATCHES= ${PATCHDIR}/disable-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}
general-patch:
@${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} ${REINPLACE_CMD} -e \
's|noinst_PROGRAMS = |noinst_PROGRAMS = #|g'
.if ${SLAVEPORT} != 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 ${SLAVEPORT} != 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:
.if ${SLAVEPORT} != web
(cd ${WRKSRC} && ${COPYTREE_SHARE} \
"${DOCS}" ${STAGEDIR}${DOCSDIR})
.endif
post-install: general-install
.include
Index: head/net-p2p/transmission-cli/distinfo
===================================================================
--- head/net-p2p/transmission-cli/distinfo (revision 463261)
+++ head/net-p2p/transmission-cli/distinfo (revision 463262)
@@ -1,2 +1,3 @@
-SHA256 (transmission-2.92.tar.xz) = 3a8d045c306ad9acb7bf81126939b9594553a388482efa0ec1bfb67b22acd35f
-SIZE (transmission-2.92.tar.xz) = 3378116
+TIMESTAMP = 1519849051
+SHA256 (transmission-2.93.tar.xz) = 8815920e0a4499bcdadbbe89a4115092dab42ce5199f71ff9a926cfd12b9b90b
+SIZE (transmission-2.93.tar.xz) = 3363868
Index: head/net-p2p/transmission-cli/files/patch-fix_dns_rebinding_vuln
===================================================================
--- head/net-p2p/transmission-cli/files/patch-fix_dns_rebinding_vuln (revision 463261)
+++ head/net-p2p/transmission-cli/files/patch-fix_dns_rebinding_vuln (nonexistent)
@@ -1,302 +0,0 @@
-Fix a weakness that allows remote code execution via the Transmission
-RPC server using DNS rebinding:
-
-https://bugs.chromium.org/p/project-zero/issues/detail?id=1447
-
-Patch adapted from Tavis Ormandy's patch on the Transmission master
-branch to the Transmission 2.92 release by Leo Famulari
-:
-
-https://github.com/transmission/transmission/pull/468/commits
-
-From fe2d3c6e75088f3d9b6040ce06da3d530358bc2f Mon Sep 17 00:00:00 2001
-From: Tavis Ormandy
-Date: Thu, 11 Jan 2018 10:00:41 -0800
-Subject: [PATCH] mitigate dns rebinding attacks against daemon
-
----
- libtransmission/quark.c | 2 +
- libtransmission/quark.h | 2 +
- libtransmission/rpc-server.c | 116 +++++++++++++++++++++++++++++++++++++----
- libtransmission/rpc-server.h | 4 ++
- libtransmission/session.c | 2 +
- libtransmission/transmission.h | 1 +
- libtransmission/web.c | 3 ++
- 7 files changed, 121 insertions(+), 9 deletions(-)
-
-diff --git a/libtransmission/quark.c b/libtransmission/quark.c
-index 30cc2bca4..b4fd7aabd 100644
---- libtransmission/quark.c.orig
-+++ libtransmission/quark.c
-@@ -289,6 +289,8 @@ static const struct tr_key_struct my_static[] =
- { "rpc-authentication-required", 27 },
- { "rpc-bind-address", 16 },
- { "rpc-enabled", 11 },
-+ { "rpc-host-whitelist", 18 },
-+ { "rpc-host-whitelist-enabled", 26 },
- { "rpc-password", 12 },
- { "rpc-port", 8 },
- { "rpc-url", 7 },
-diff --git a/libtransmission/quark.h b/libtransmission/quark.h
-index 7f5212733..17464be8f 100644
---- libtransmission/quark.h.orig
-+++ libtransmission/quark.h
-@@ -291,6 +291,8 @@ enum
- TR_KEY_rpc_authentication_required,
- TR_KEY_rpc_bind_address,
- TR_KEY_rpc_enabled,
-+ TR_KEY_rpc_host_whitelist,
-+ TR_KEY_rpc_host_whitelist_enabled,
- TR_KEY_rpc_password,
- TR_KEY_rpc_port,
- TR_KEY_rpc_url,
-diff --git a/libtransmission/rpc-server.c b/libtransmission/rpc-server.c
-index a3485f3fa..292cd5fce 100644
---- libtransmission/rpc-server.c.orig
-+++ libtransmission/rpc-server.c
-@@ -52,6 +52,7 @@ struct tr_rpc_server
- bool isEnabled;
- bool isPasswordEnabled;
- bool isWhitelistEnabled;
-+ bool isHostWhitelistEnabled;
- tr_port port;
- char * url;
- struct in_addr bindAddress;
-@@ -63,6 +64,7 @@ struct tr_rpc_server
- char * password;
- char * whitelistStr;
- tr_list * whitelist;
-+ tr_list * hostWhitelist;
-
- char * sessionId;
- time_t sessionIdExpiresAt;
-@@ -588,6 +590,49 @@ isAddressAllowed (const tr_rpc_server * server, const char * address)
- return false;
- }
-
-+static bool isHostnameAllowed(tr_rpc_server const* server, struct evhttp_request* req)
-+{
-+ /* If password auth is enabled, any hostname is permitted. */
-+ if (server->isPasswordEnabled)
-+ {
-+ return true;
-+ }
-+
-+ char const* const host = evhttp_find_header(req->input_headers, "Host");
-+
-+ // If whitelist is disabled, no restrictions.
-+ if (!server->isHostWhitelistEnabled)
-+ return true;
-+
-+ /* No host header, invalid request. */
-+ if (host == NULL)
-+ {
-+ return false;
-+ }
-+
-+ /* Host header might include the port. */
-+ char* const hostname = tr_strndup(host, strcspn(host, ":"));
-+
-+ /* localhost or ipaddress is always acceptable. */
-+ if (strcmp(hostname, "localhost") == 0 || strcmp(hostname, "localhost.") == 0 || tr_addressIsIP(hostname))
-+ {
-+ tr_free(hostname);
-+ return true;
-+ }
-+
-+ /* Otherwise, hostname must be whitelisted. */
-+ for (tr_list* l = server->hostWhitelist; l != NULL; l = l->next) {
-+ if (tr_wildmat(hostname, l->data))
-+ {
-+ tr_free(hostname);
-+ return true;
-+ }
-+ }
-+
-+ tr_free(hostname);
-+ return false;
-+}
-+
- static bool
- test_session_id (struct tr_rpc_server * server, struct evhttp_request * req)
- {
-@@ -663,6 +708,23 @@ handle_request (struct evhttp_request * req, void * arg)
- handle_upload (req, server);
- }
- #ifdef REQUIRE_SESSION_ID
-+ else if (!isHostnameAllowed(server, req))
-+ {
-+ char* tmp = tr_strdup_printf(
-+ "Transmission received your request, but the hostname was unrecognized.
"
-+ "To fix this, choose one of the following options:"
-+ "
"
-+ "- Enable password authentication, then any hostname is allowed.
"
-+ "- Add the hostname you want to use to the whitelist in settings.
"
-+ "
"
-+ "If you're editing settings.json, see the 'rpc-host-whitelist' and 'rpc-host-whitelist-enabled' entries.
"
-+ "This requirement has been added to help prevent "
-+ "DNS Rebinding "
-+ "attacks.
");
-+ send_simple_response(req, 421, tmp);
-+ tr_free(tmp);
-+ }
-+
- else if (!test_session_id (server, req))
- {
- const char * sessionId = get_current_session_id (server);
-@@ -674,7 +736,7 @@ handle_request (struct evhttp_request * req, void * arg)
- " When you get this 409 error message, resend your request with the updated header"
- ""
- "This requirement has been added to help prevent "
-- "CSRF "
-+ "CSRF "
- "attacks.
"
- "%s: %s
",
- TR_RPC_SESSION_ID_HEADER, sessionId);
-@@ -875,19 +937,14 @@ tr_rpcGetUrl (const tr_rpc_server * server)
- return server->url ? server->url : "";
- }
-
--void
--tr_rpcSetWhitelist (tr_rpc_server * server, const char * whitelistStr)
-+static void
-+tr_rpcSetList (char const* whitelistStr, tr_list** list)
- {
- void * tmp;
- const char * walk;
-
-- /* keep the string */
-- tmp = server->whitelistStr;
-- server->whitelistStr = tr_strdup (whitelistStr);
-- tr_free (tmp);
--
- /* clear out the old whitelist entries */
-- while ((tmp = tr_list_pop_front (&server->whitelist)))
-+ while ((tmp = tr_list_pop_front (list)) != NULL)
- tr_free (tmp);
-
- /* build the new whitelist entries */
-@@ -896,7 +953,7 @@ tr_rpcSetWhitelist (tr_rpc_server * server, const char * whitelistStr)
- const char * delimiters = " ,;";
- const size_t len = strcspn (walk, delimiters);
- char * token = tr_strndup (walk, len);
-- tr_list_append (&server->whitelist, token);
-+ tr_list_append (list, token);
- if (strcspn (token, "+-") < len)
- tr_logAddNamedInfo (MY_NAME, "Adding address to whitelist: %s (And it has a '+' or '-'! Are you using an old ACL by mistake?)", token);
- else
-@@ -909,6 +966,21 @@ tr_rpcSetWhitelist (tr_rpc_server * server, const char * whitelistStr)
- }
- }
-
-+void tr_rpcSetHostWhitelist(tr_rpc_server* server, char const* whitelistStr)
-+{
-+ tr_rpcSetList(whitelistStr, &server->hostWhitelist);
-+}
-+
-+void tr_rpcSetWhitelist(tr_rpc_server* server, char const* whitelistStr)
-+{
-+ /* keep the string */
-+ char* const tmp = server->whitelistStr;
-+ server->whitelistStr = tr_strdup(whitelistStr);
-+ tr_free(tmp);
-+
-+ tr_rpcSetList(whitelistStr, &server->whitelist);
-+}
-+
- const char*
- tr_rpcGetWhitelist (const tr_rpc_server * server)
- {
-@@ -930,6 +1002,11 @@ tr_rpcGetWhitelistEnabled (const tr_rpc_server * server)
- return server->isWhitelistEnabled;
- }
-
-+void tr_rpcSetHostWhitelistEnabled(tr_rpc_server* server, bool isEnabled)
-+{
-+ server->isHostWhitelistEnabled = isEnabled;
-+}
-+
- /****
- ***** PASSWORD
- ****/
-@@ -1063,6 +1140,28 @@ tr_rpcInit (tr_session * session, tr_variant * settings)
- else
- tr_rpcSetWhitelistEnabled (s, boolVal);
-
-+ key = TR_KEY_rpc_host_whitelist_enabled;
-+
-+ if (!tr_variantDictFindBool(settings, key, &boolVal))
-+ {
-+ missing_settings_key(key);
-+ }
-+ else
-+ {
-+ tr_rpcSetHostWhitelistEnabled(s, boolVal);
-+ }
-+
-+ key = TR_KEY_rpc_host_whitelist;
-+
-+ if (!tr_variantDictFindStr(settings, key, &str, NULL) && str != NULL)
-+ {
-+ missing_settings_key(key);
-+ }
-+ else
-+ {
-+ tr_rpcSetHostWhitelist(s, str);
-+ }
-+
- key = TR_KEY_rpc_authentication_required;
- if (!tr_variantDictFindBool (settings, key, &boolVal))
- missing_settings_key (key);
-diff --git a/libtransmission/rpc-server.h b/libtransmission/rpc-server.h
-index e0302c5ea..8c9e6b24e 100644
---- libtransmission/rpc-server.h.orig
-+++ libtransmission/rpc-server.h
-@@ -49,6 +49,10 @@ void tr_rpcSetWhitelist (tr_rpc_server * server,
-
- const char* tr_rpcGetWhitelist (const tr_rpc_server * server);
-
-+void tr_rpcSetHostWhitelistEnabled(tr_rpc_server* server, bool isEnabled);
-+
-+void tr_rpcSetHostWhitelist(tr_rpc_server* server, char const* whitelist);
-+
- void tr_rpcSetPassword (tr_rpc_server * server,
- const char * password);
-
-diff --git a/libtransmission/session.c b/libtransmission/session.c
-index 844cadba8..58b717913 100644
---- libtransmission/session.c.orig
-+++ libtransmission/session.c
-@@ -359,6 +359,8 @@ tr_sessionGetDefaultSettings (tr_variant * d)
- tr_variantDictAddStr (d, TR_KEY_rpc_username, "");
- tr_variantDictAddStr (d, TR_KEY_rpc_whitelist, TR_DEFAULT_RPC_WHITELIST);
- tr_variantDictAddBool (d, TR_KEY_rpc_whitelist_enabled, true);
-+ tr_variantDictAddStr(d, TR_KEY_rpc_host_whitelist, TR_DEFAULT_RPC_HOST_WHITELIST);
-+ tr_variantDictAddBool(d, TR_KEY_rpc_host_whitelist_enabled, true);
- tr_variantDictAddInt (d, TR_KEY_rpc_port, atoi (TR_DEFAULT_RPC_PORT_STR));
- tr_variantDictAddStr (d, TR_KEY_rpc_url, TR_DEFAULT_RPC_URL_STR);
- tr_variantDictAddBool (d, TR_KEY_scrape_paused_torrents_enabled, true);
-diff --git a/libtransmission/transmission.h b/libtransmission/transmission.h
-index 4f76adfd6..e213a8f4e 100644
---- libtransmission/transmission.h.orig
-+++ libtransmission/transmission.h
-@@ -123,6 +123,7 @@ const char* tr_getDefaultDownloadDir (void);
- #define TR_DEFAULT_BIND_ADDRESS_IPV4 "0.0.0.0"
- #define TR_DEFAULT_BIND_ADDRESS_IPV6 "::"
- #define TR_DEFAULT_RPC_WHITELIST "127.0.0.1"
-+#define TR_DEFAULT_RPC_HOST_WHITELIST ""
- #define TR_DEFAULT_RPC_PORT_STR "9091"
- #define TR_DEFAULT_RPC_URL_STR "/transmission/"
- #define TR_DEFAULT_PEER_PORT_STR "51413"
-diff --git a/libtransmission/web.c b/libtransmission/web.c
-index ee495e9fc..c7f062730 100644
---- libtransmission/web.c.orig
-+++ libtransmission/web.c
-@@ -594,6 +594,7 @@ tr_webGetResponseStr (long code)
- case 415: return "Unsupported Media Type";
- case 416: return "Requested Range Not Satisfiable";
- case 417: return "Expectation Failed";
-+ case 421: return "Misdirected Request";
- case 500: return "Internal Server Error";
- case 501: return "Not Implemented";
- case 502: return "Bad Gateway";
Property changes on: head/net-p2p/transmission-cli/files/patch-fix_dns_rebinding_vuln
___________________________________________________________________
Deleted: fbsd:nokeywords
## -1 +0,0 ##
-yes
\ No newline at end of property
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/plain
\ No newline at end of property
Index: head/net-p2p/transmission-daemon/Makefile
===================================================================
--- head/net-p2p/transmission-daemon/Makefile (revision 463261)
+++ head/net-p2p/transmission-daemon/Makefile (revision 463262)
@@ -1,30 +1,29 @@
# $FreeBSD$
-PORTREVISION= 4
PKGNAMESUFFIX= -daemon
MAINTAINER= crees@FreeBSD.org
COMMENT= Fast and lightweight daemon BitTorrent client
RUN_DEPENDS= ${GEN_RUN_DEPENDS}
DESCR= ${.CURDIR}/pkg-descr
MASTERDIR= ${.CURDIR}/../transmission-cli
PLIST= ${.CURDIR}/pkg-plist
SLAVEPORT= daemon
PKGMESSAGE= ${.CURDIR}/pkg-message
USE_RC_SUBR= transmission
USERS= transmission
GROUPS= transmission
EXTRA_CONF_ARGS=--disable-cli \
--enable-daemon \
--without-gtk \
--disable-mac \
--disable-nls
post-install:
${MKDIR} ${STAGEDIR}${ETCDIR}/home
.include "${MASTERDIR}/Makefile"
Index: head/net-p2p/transmission-gtk/Makefile
===================================================================
--- head/net-p2p/transmission-gtk/Makefile (revision 463261)
+++ head/net-p2p/transmission-gtk/Makefile (revision 463262)
@@ -1,35 +1,34 @@
# $FreeBSD$
-PORTREVISION= 4
PKGNAMESUFFIX= -gtk
MAINTAINER= crees@FreeBSD.org
COMMENT= Fast and lightweight GTK+3 BitTorrent client
LIB_DEPENDS= ${GEN_LIB_DEPENDS} \
libnotify.so:devel/libnotify \
libdbus-glib-1.so:devel/dbus-glib
RUN_DEPENDS= ${GEN_RUN_DEPENDS} \
xdg-open:devel/xdg-utils
DESCR= ${.CURDIR}/pkg-descr
MASTERDIR= ${.CURDIR}/../transmission-cli
PLIST= ${.CURDIR}/pkg-plist
SLAVEPORT= gtk
USE_GNOME= cairo gtk30 intlhack
USES= gettext pathfix desktop-file-utils
INSTALLS_ICONS= yes
EXTRA_CONF_ARGS=--disable-cli \
--disable-daemon \
--with-gtk \
--disable-mac \
--enable-nls
post-patch: general-patch
@${REINPLACE_CMD} -e 's|TryExec=.*||g ; /^$$/d' \
${WRKSRC}/gtk/transmission-gtk.desktop.in
.include "${MASTERDIR}/Makefile"
Index: head/net-p2p/transmission-qt4/Makefile
===================================================================
--- head/net-p2p/transmission-qt4/Makefile (revision 463261)
+++ head/net-p2p/transmission-qt4/Makefile (revision 463262)
@@ -1,54 +1,53 @@
# $FreeBSD$
-PORTREVISION= 6
PKGNAMESUFFIX= -qt4
MAINTAINER= crees@FreeBSD.org
COMMENT= Fast and lightweight Qt4 BitTorrent client
LIB_DEPENDS= ${GEN_LIB_DEPENDS} \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
RUN_DEPENDS= ${GEN_RUN_DEPENDS}
CONFLICTS_INSTALL= transmission-qt5-[0-9]*
DESCR= ${.CURDIR}/pkg-descr
MASTERDIR= ${.CURDIR}/../transmission-cli
PLIST= ${.CURDIR}/pkg-plist
SLAVEPORT= qt4
QT_NONSTANDARD= yes
USE_QT4= moc_build qmake_build uic_build rcc_build \
corelib gui dbus network xml
USES= compiler:c++11-lib desktop-file-utils
EXTRA_CONF_ARGS=--disable-cli \
--disable-daemon \
--without-gtk \
--disable-mac \
--disable-nls
post-patch: general-patch
@${REINPLACE_CMD} -e 's|/share/man|/man|g ; /PKGCONFIG/s| openssl||g' \
${WRKSRC}/qt/qtr.pro
@${ECHO_CMD} 'LIBS += -l${PORT_OPTIONS:M*SSL:tl:S/openssl/crypto/}' \
>>${WRKSRC}/qt/qtr.pro
post-build:
@(cd ${WRKSRC}/qt && ${QMAKE} ${QMAKE_ARGS} qtr.pro && ${MAKE_CMD})
do-install:
@(cd ${WRKSRC}/qt && \
${SETENV} INSTALL_ROOT=${STAGEDIR}${PREFIX} ${MAKE_CMD} install)
post-install: general-install
@${MKDIR} ${STAGEDIR}${DOCSDIR}
@${INSTALL_DATA} ${WRKSRC}/qt/README.txt \
${STAGEDIR}${DOCSDIR}/README-qt4
@${INSTALL_DATA} ${WRKSRC}/qt/transmission-qt.desktop \
${STAGEDIR}${PREFIX}/share/applications/
@${INSTALL_DATA} ${WRKSRC}/qt/icons/transmission.png \
${STAGEDIR}${PREFIX}/share/pixmaps/transmission-qt.png
.include "${MASTERDIR}/Makefile"
Index: head/net-p2p/transmission-qt5/Makefile
===================================================================
--- head/net-p2p/transmission-qt5/Makefile (revision 463261)
+++ head/net-p2p/transmission-qt5/Makefile (revision 463262)
@@ -1,54 +1,53 @@
# $FreeBSD$
-PORTREVISION= 1
PKGNAMESUFFIX= -qt5
MAINTAINER= crees@FreeBSD.org
COMMENT= Fast and lightweight Qt5 BitTorrent client
LIB_DEPENDS= ${GEN_LIB_DEPENDS} \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
RUN_DEPENDS= ${GEN_RUN_DEPENDS}
CONFLICTS_INSTALL= transmission-qt4-[0-9]*
DESCR= ${.CURDIR}/pkg-descr
MASTERDIR= ${.CURDIR}/../transmission-cli
PLIST= ${.CURDIR}/pkg-plist
SLAVEPORT= qt5
QT_NONSTANDARD= yes
USE_QT5= buildtools_build qmake_build core dbus gui network widgets
USES= compiler:c++11-lib desktop-file-utils
EXTRA_CONF_ARGS=--disable-cli \
--disable-daemon \
--without-gtk \
--disable-mac \
--disable-nls
post-patch: general-patch
@${REINPLACE_CMD} -e 's|/share/man|/man|g ; /PKGCONFIG/s| openssl||g' \
${WRKSRC}/qt/qtr.pro
@${ECHO_CMD} 'LIBS += -l${PORT_OPTIONS:M*SSL:tl:S/openssl/crypto/}' \
>>${WRKSRC}/qt/qtr.pro
post-build:
@(cd ${WRKSRC}/qt && ${QMAKE} ${QMAKE_ARGS} qtr.pro && ${MAKE_CMD})
do-install:
@(cd ${WRKSRC}/qt && \
${SETENV} INSTALL_ROOT=${STAGEDIR}${PREFIX} ${MAKE_CMD} install)
post-install: general-install
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/transmission-qt
@${MKDIR} ${STAGEDIR}${DOCSDIR}
@${INSTALL_DATA} ${WRKSRC}/qt/README.txt \
${STAGEDIR}${DOCSDIR}/README-qt5
@${INSTALL_DATA} ${WRKSRC}/qt/transmission-qt.desktop \
${STAGEDIR}${PREFIX}/share/applications/
@${INSTALL_DATA} ${WRKSRC}/qt/icons/transmission.png \
${STAGEDIR}${PREFIX}/share/pixmaps/transmission-qt.png
.include "${MASTERDIR}/Makefile"
Index: head/www/transmission-web/Makefile
===================================================================
--- head/www/transmission-web/Makefile (revision 463261)
+++ head/www/transmission-web/Makefile (revision 463262)
@@ -1,26 +1,25 @@
# $FreeBSD$
-PORTREVISION= 0
CATEGORIES= www net-p2p
PKGNAMESUFFIX= -web
MAINTAINER= crees@FreeBSD.org
COMMENT= Fast and lightweight WebUI for Transmission BitTorrent client
DESCR= ${.CURDIR}/pkg-descr
MASTERDIR= ${.CURDIR}/../../net-p2p/transmission-cli
PLIST= ${NONEXISTENT}
SLAVEPORT= web
PORTDATA= web
NO_BUILD= yes
post-extract:
@${FIND} ${WRKSRC}/web -name Makefile.* -delete
do-install:
${MKDIR} ${STAGEDIR}${DATADIR}/web
(cd ${WRKSRC}/web && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}/web)
.include "${MASTERDIR}/Makefile"