Created attachment 147821 [details] use system libs We have ports for all the libraries under third-party/ directory. Let's use them. This would split maintainership into granular pieces. For one, libnatpmp and miniupnpc are under BSD3CLAUSE, not under MIT license. Not strictly required but in order to not regress one may want to update port dependencies to their latest versions. https://lists.freebsd.org/pipermail/freebsd-ports/2014-August/094461.html ,
Auto-assigned to maintainer crees@FreeBSD.org
Created attachment 147822 [details] |poudriere testport -P| log (9.3R i386)
Created attachment 147837 [details] use system libs, v1.1 -qt4 port is a special snowflake: c++: ../third-party/dht/libdht.a: No such file or directory
Created attachment 147838 [details] |poudriere testport -P| log (9.3R i386) for -qt4 slave
Created attachment 147840 [details] |poudriere testport -P| log (9.3R i386) for -gtk slave
Created attachment 147841 [details] |poudriere testport -P| log (9.3R i386) for -daemon slave
Created attachment 147842 [details] |poudriere testport -P| log (9.3R i386) for LITE=on
Created attachment 147843 [details] |poudriere testport -P| log (9.3R i386) with updated deps With bug 194030, bug 194031 and bug 194036 applied. devel/jech-dht is already at the same version as third-party/dht.
Created attachment 147849 [details] Be sure to not even extact the third-party/ subdirectory (In reply to Jan Beich from comment #0) > We have ports for all the libraries under third-party/ directory. Let's use > them. Enthusiastically seconded! The attached version of Jan's patch ensures, the third-party/ subdirectory is not even extracted -- for great justice and to prevent vendor's code from accidentally picking up the wrong headers. The two new hunks add --exclude argument to tar and change configure-script to not look for anything under third-party/: ---- net-p2p/transmission-cli/Makefile (revision 369573) -+++ net-p2p/transmission-cli/Makefile (working copy) -@@ -34,6 +34,10 @@ LIB_DEPENDS?= ${GEN_LIB_DEPENDS} +--- Makefile (revision 369613) ++++ Makefile (working copy) +@@ -26,6 +26,7 @@ + CONFLICTS_INSTALL= ${PORTNAME}${PKGNAMESUFFIX}-2.5* + + OPTIONS_DEFINE= LITE DOCS ++EXTRACT_AFTER_ARGS=--no-same-owner --no-same-permissions --exclude third-party + + .include <bsd.port.options.mk> + +@@ -34,6 +35,10 @@ @@ -15,3 +23,3 @@ -@@ -41,12 +45,21 @@ GEN_RUN_DEPENDS=${LOCALBASE}/share/transmission/we +@@ -41,12 +46,21 @@ USES+= gmake iconv libtool pkgconfig @@ -40,3 +48,3 @@ --without-gtk \ -@@ -82,6 +95,15 @@ general-patch: +@@ -82,6 +96,16 @@ @${REINPLACE_CMD} -e 's|utils \\|\\|g' \ @@ -48,2 +56,3 @@ + @${REINPLACE_CMD} -Ee '/^DHT_(CFLAGS|LIBS)=/d' \ ++ -e 's|third-party/[^ ]*Makefile||g' \ + ${WRKSRC}/configure
A commit references this bug: Author: crees Date: Tue Sep 30 19:22:25 UTC 2014 New revision: 369657 URL: https://svnweb.freebsd.org/changeset/ports/369657 Log: Unbundle libs. PR: ports/194029 Submitted by: Jan Beich Also, don't extract the third-party directory if we're not using it here. Submitted by: mi Changes: head/net-p2p/transmission-cli/Makefile
Thanks very much guys, committed. Can't close this yet because of a dependent PR.
It may be useful to submit the patch upstream... Vendor's configure already allows for some of the libraries to be "system", but not all...
Comment on attachment 147849 [details] Be sure to not even extact the third-party/ subdirectory At least adjust the comment. This breaks patches that touch any file under third-party/ directory e.g., testing upstream-friendly changes. # Force system libraries
Created attachment 147867 [details] upstream-friendly version Here's what I have in mind for upstream. The Trac tickets are still waiting for moderator approval. Ignore USES=autoreconf and EXTRACT_AFTER_ARGS changes. They're temporary until files/patch-unbundle lands upstream.
Comment on attachment 147867 [details] upstream-friendly version Caveat to not commit into ports: autoreconf makes any patch against configure or Makefile.in useless as they're regenerated. But it builds fine regardless.
Created attachment 151021 [details] update followup, revert to upstream Those 3 upstream bugs have successfully landed. Let's prepare for the future update. Generate a tentative tarball via |gmake dist| after r14410. Note, the port can be updated without the patch just fine.
The next version may need --enable-external-b64 per https://trac.transmissionbt.com/changeset/14422
A commit references this bug: Author: jbeich Date: Wed Mar 2 22:50:30 UTC 2016 New revision: 409981 URL: https://svnweb.freebsd.org/changeset/ports/409981 Log: net-p2p/transmission-*: update to 2.90 - Add POLARSSL and WOLFSSL support (like ftp/curl) - Hide LITE (unused) and DOCS (redundant) options from -web slave - Simplify r398996 and move to CONFIGURE_ENV - Drop r369657 hacks after upstream integration [1] - As implied by r378806 transfer maintainership back to crees Changes: https://trac.transmissionbt.com/wiki/Changes#version-2.90 PR: 194029 [1] Changes: head/net-p2p/transmission-cli/Makefile head/net-p2p/transmission-cli/distinfo head/net-p2p/transmission-cli/files/patch-fix_without_ipv6 head/net-p2p/transmission-cli/files/patch-libtransmission_upnp.c head/net-p2p/transmission-cli/files/patch-qt-app-h head/net-p2p/transmission-cli/files/patch-qt-mainwin.cc head/net-p2p/transmission-cli/files/patch-qt_qtr_pro head/net-p2p/transmission-daemon/Makefile head/net-p2p/transmission-gtk/Makefile head/net-p2p/transmission-qt4/Makefile head/www/transmission-web/Makefile