Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/youtube-dl/
Date: Mon, 31 Dec 2018 19:19:53
Message-Id: 1546283981.93402a30cfbae60defdf592fddc226ff4c181384.jer@gentoo
commit:     93402a30cfbae60defdf592fddc226ff4c181384
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 31 19:19:21 2018 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Mon Dec 31 19:19:41 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93402a30

net-misc/youtube-dl: Version 2018.12.31

Package-Manager: Portage-2.3.53, Repoman-2.3.12
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 net-misc/youtube-dl/Manifest                     |   1 +
 net-misc/youtube-dl/youtube-dl-2018.12.31.ebuild | 117 +++++++++++++++++++++++
 2 files changed, 118 insertions(+)

diff --git a/net-misc/youtube-dl/Manifest b/net-misc/youtube-dl/Manifest
index 7c33773ea3b..041d7305e37 100644
--- a/net-misc/youtube-dl/Manifest
+++ b/net-misc/youtube-dl/Manifest
@@ -1 +1,2 @@
 DIST youtube-dl-2018.12.17.tar.gz 3074432 BLAKE2B b6f4b3a7a2c2159093494230219914ee4a2f87194ebe741cc4687aefa76dfef09c282bcc6534030bb65cd87a641b05cc74bd74eecc0c78b57157970fbea98121 SHA512 88d98391d110d6542503590c4735c765137cde43bc3a1f1b33b197d323a1226ed550d559f67bd4aadab3c82de8a471fa71bf4e1440e5641e1c51ba5cb7059904
+DIST youtube-dl-2018.12.31.tar.gz 3076229 BLAKE2B e5ad08d81fd39f19fea592106c74b0f11eaab1ffb51ba3560234036623b6b41630af80d069f61c337d7a691e87d7092931fd498a3a4216fb160ed576eab254f7 SHA512 d86df7dfa49339019b31f4d10be448d1f82239568f05fd2c4a3d8a21b826489b3cc07eec3d1afb2d3e9e64be0ecefeade19de4deeed2fdbad8cb5c5edad9682c

diff --git a/net-misc/youtube-dl/youtube-dl-2018.12.31.ebuild b/net-misc/youtube-dl/youtube-dl-2018.12.31.ebuild
new file mode 100644
index 00000000000..29fd6bd3825
--- /dev/null
+++ b/net-misc/youtube-dl/youtube-dl-2018.12.31.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6})
+inherit bash-completion-r1 distutils-r1 readme.gentoo-r1
+
+DESCRIPTION="Download videos from YouTube.com (and more sites...)"
+HOMEPAGE="https://rg3.github.com/youtube-dl/"
+SRC_URI="https://youtube-dl.org/downloads/${PV}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE="+offensive test"
+
+RDEPEND="
+	dev-python/setuptools[${PYTHON_USEDEP}]
+"
+DEPEND="
+	${RDEPEND}
+	test? ( dev-python/nose[coverage(+)] )
+"
+
+S="${WORKDIR}/${PN}"
+
+python_prepare_all() {
+	if ! use offensive; then
+		sed -i -e "/..version../s|'$|+gentoo.no.offensive.sites'|g" \
+			youtube_dl/version.py || die
+		# these have single line import statements
+		local xxx=(
+			alphaporno anysex behindkink camwithher chaturbate eporner
+			eroprofile extremetube foxgay goshgay hellporno hentaistigma
+			hornbunny keezmovies lovehomeporn mofosex myvidster porn91 porncom
+			pornflip pornhd pornotube pornovoisines pornoxo ruleporn sexu
+			slutload spankbang spankwire sunporno thisav vporn watchindianporn
+			xbef xnxx xtube xvideos xxxymovies youjizz youporn
+		)
+		# these have multi-line import statements
+		local mxxx=(
+			drtuber fourtube motherless pornhub redtube tnaflix tube8 xhamster
+		)
+		# do single line imports
+		sed -i \
+			-e $( printf '/%s/d;' ${xxx[@]} ) \
+			youtube_dl/extractor/extractors.py \
+			|| die
+
+		# do multiple line imports
+		sed -i \
+			-e $( printf '/%s/,/)/d;' ${mxxx[@]} ) \
+			youtube_dl/extractor/extractors.py \
+			|| die
+
+		sed -i \
+			-e $( printf '/%s/d;' ${mxxx[@]} ) \
+			youtube_dl/extractor/generic.py \
+			|| die
+
+		rm \
+			$( printf 'youtube_dl/extractor/%s.py ' ${xxx[@]} ) \
+			$( printf 'youtube_dl/extractor/%s.py ' ${mxxx[@]} ) \
+			test/test_age_restriction.py \
+			|| die
+	fi
+
+	eapply_user
+
+	distutils-r1_python_prepare_all
+}
+
+src_compile() {
+	distutils-r1_src_compile
+}
+
+python_test() {
+	emake test
+}
+
+python_install_all() {
+	dodoc README.txt
+	doman ${PN}.1
+
+	newbashcomp ${PN}.bash-completion ${PN}
+
+	insinto /usr/share/zsh/site-functions
+	newins ${PN}.zsh _${PN}
+
+	insinto /usr/share/fish/vendor_completions.d
+	doins ${PN}.fish
+
+	distutils-r1_python_install_all
+
+	rm -r "${ED}"/usr/etc || die
+	rm -r "${ED}"/usr/share/doc/youtube_dl || die
+}
+
+pkg_postinst() {
+	elog "${PN}(1) / https://bugs.gentoo.org/355661 /"
+	elog "https://github.com/rg3/${PN}/blob/master/README.md#faq :"
+	elog
+	elog "${PN} works fine on its own on most sites. However, if you want"
+	elog "to convert video/audio, you'll need avconf (media-video/libav) or"
+	elog "ffmpeg (media-video/ffmpeg). On some sites - most notably YouTube -"
+	elog "videos can be retrieved in a higher quality format without sound."
+	elog "${PN} will detect whether avconv/ffmpeg is present and"
+	elog "automatically pick the best option."
+	elog
+	elog "Videos or video formats streamed via RTMP protocol can only be"
+	elog "downloaded when rtmpdump (media-video/rtmpdump) is installed."
+	elog "Downloading MMS and RTSP videos requires either mplayer"
+	elog "(media-video/mplayer) or mpv (media-video/mpv) to be installed."
+	elog
+	elog "If you want ${PN} to embed thumbnails from the metadata into the"
+	elog "resulting MP4 files, consider installing media-video/atomicparsley"
+}