summaryrefslogtreecommitdiff
path: root/media-video
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/Manifest.gzbin28224 -> 28222 bytes
-rw-r--r--media-video/handbrake/Manifest2
-rw-r--r--media-video/handbrake/handbrake-1.1.2.ebuild158
-rw-r--r--media-video/rtmpdump/Manifest8
-rw-r--r--media-video/rtmpdump/files/rtmpdump-openssl-1.1.patch249
-rw-r--r--media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2.patch13
-rw-r--r--media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2_part_2.patch21
-rw-r--r--media-video/rtmpdump/metadata.xml10
-rw-r--r--media-video/rtmpdump/rtmpdump-2.4_p20161210-r2.ebuild99
-rw-r--r--media-video/rtmpdump/rtmpdump-9999.ebuild34
-rw-r--r--media-video/unifi-video/Manifest6
-rw-r--r--media-video/unifi-video/unifi-video-3.10.0_beta1.ebuild83
-rw-r--r--media-video/unifi-video/unifi-video-3.9.10_beta1.ebuild83
-rw-r--r--media-video/unifi-video/unifi-video-3.9.9.ebuild83
14 files changed, 841 insertions, 8 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index 33f5e838e748..4c0f632be159 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest
index 255b8b7cc600..3417d107fa21 100644
--- a/media-video/handbrake/Manifest
+++ b/media-video/handbrake/Manifest
@@ -5,7 +5,9 @@ AUX handbrake-9999-remove-dvdnav-dup.patch 809 BLAKE2B 16cde838dcf59753e5438df0d
AUX handbrake-9999-remove-faac-dependency.patch 3697 BLAKE2B b0f7d0a1c4d464d3287ab233b756f5036d6ffa7e9e59a2f98a8ffb2ae59e46d25e56edb3e5bf9c04a16330f3dc50f4c2426f252b35834b7c9c9e6b4904244368 SHA512 9d070e50a9b7d4b8ac25b7d56bd341aca6dc979ba506c84f4b95109909f70020723915cd120bed24e84a8fc242ee3c3a5775f43a78b7995e53cd499444c9f6dc
DIST handbrake-1.1.0.tar.bz2 15262590 BLAKE2B b2f892c57cd562124460ac2846949bd0ce05eff0b87fbd733d7102eeda9455f57997fb0bbd72d991d0f2d8ab3f02e6f82d88a0449158c3a947595f50198eb4bd SHA512 48cbbc57e93e74a8aa3d224311f5d97905061e103c3ecb07aa5e09d8f401687679cac0e8952e146fea0fad5d00e6c26fe90159c11e87b8b413469abbe900edc3
DIST handbrake-1.1.1.tar.bz2 15319551 BLAKE2B d0569a796f3838f5696e3dcfed348a5111e063841cb594bbce7283568cdf868e6b751f3cd6086ebc83af5f2d6ad9e238717425f953677cca9e2908a9c0301aa9 SHA512 990035a5f850fafbc68c77dd61d7f7371c3eda2cc6e6ceb377f111c9016713523cf1685f519926ae8859446c99392c64b7ce91d72f9b5f9643a35a3d0326eef4
+DIST handbrake-1.1.2.tar.bz2 15291003 BLAKE2B b502ba18139c3332b8614e831005b4a846c0fab9a31bce2c9f3481d6d41ba3f087ded30adb6bd58220b14002f230fb920db1cc45ec7baee4fda573148fddfc8e SHA512 360f7fe3e4571bb623f54a00e9478a78d655448ffb1b8d72b7d32636a230f2ae4dabbfe803f6f9491537064ea4f6e238700b3d29912ae34383fbb1922e18e9b8
EBUILD handbrake-1.1.0-r1.ebuild 3597 BLAKE2B 3f3369bb7a0149a847267e92190a6462d552d1dc2b108f9ca044335fcccbab919a30cc05eed920b6ade90d45b4fc01872846babef77386f083059c2822411d09 SHA512 96942d20f0779f0b548d644a97e3ab3b34f5e2b25cd752507936f1c4c685728705bc2476c5c6d4c1ffeff43013031419767e4aed459d0807c3a8a5ddd11ffb63
EBUILD handbrake-1.1.1.ebuild 3597 BLAKE2B 3f3369bb7a0149a847267e92190a6462d552d1dc2b108f9ca044335fcccbab919a30cc05eed920b6ade90d45b4fc01872846babef77386f083059c2822411d09 SHA512 96942d20f0779f0b548d644a97e3ab3b34f5e2b25cd752507936f1c4c685728705bc2476c5c6d4c1ffeff43013031419767e4aed459d0807c3a8a5ddd11ffb63
+EBUILD handbrake-1.1.2.ebuild 3594 BLAKE2B 1812d0d143e0c01306def7d293f333bb5e6f870a7cb296a78f80e48fbbf95b35bee6aa3ba487bd3f73d735bed90382b0ec47c33e594f86ddf900cf8ce8e2a4b5 SHA512 7a740e1e8434792dc71152e5c85d9c39a70c372d50a90531d07c158c03f21c67221fed043b12446c99c21a1779498ba9932ecd9990022310d32710b60a98d522
EBUILD handbrake-9999.ebuild 3597 BLAKE2B 5997effcfd06d412b66eb6d9cd305806c1e2f8a69c3d2fb6d123843a913c0fddbf399f35496f283507e43dd3ebbea3c2058af68d7207d7a428df605244e8225d SHA512 9cdbab17900c033bbb4b785c13828937cb0c0d8dd2e3d43af76170389ebe8d2b561f038055e1dad38259f92d723119c9f6db182266fecb36b2febd2c21d50966
MISC metadata.xml 826 BLAKE2B 3cbdae05b5011afa3ef7dd76f7979756e0385584511b9eecdac3cc9a031ed31cc64b225214acf6e8f4691455ac31c4a8f9fa8612884705c3da23ab4bbae32e7b SHA512 f6344c1c82a507438d41d38020cd3ca33ba056d156d0fcdc72b6c4def5adee1260bb1f89ad8aec544f22e58738c2be22da210bfad7b2ed6c95f201cdc619a0d6
diff --git a/media-video/handbrake/handbrake-1.1.2.ebuild b/media-video/handbrake/handbrake-1.1.2.ebuild
new file mode 100644
index 000000000000..6e3559d14f9a
--- /dev/null
+++ b/media-video/handbrake/handbrake-1.1.2.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils gnome2-utils python-any-r1 xdg-utils
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ MY_P="HandBrake-${PV}"
+ SRC_URI="https://download2.handbrake.fr/${PV}/${MY_P}-source.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${MY_P}"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
+HOMEPAGE="http://handbrake.fr/"
+LICENSE="GPL-2"
+
+SLOT="0"
+IUSE="+fdk gstreamer gtk libav libav-aac x265"
+
+REQUIRED_USE="^^ ( fdk libav-aac )"
+
+RDEPEND="
+ dev-libs/jansson
+ media-libs/a52dec
+ media-libs/libass:=
+ >=media-libs/libbluray-1.0
+ media-libs/libdvdnav
+ media-libs/libdvdread
+ media-libs/libsamplerate
+ media-libs/libtheora
+ media-libs/libvorbis
+ media-libs/libvpx
+ media-libs/opus
+ media-libs/x264:=
+ media-sound/lame
+ sys-libs/zlib
+ libav? ( >=media-video/libav-12.2:0=[fdk?] )
+ !libav? ( >=media-video/ffmpeg-3.4:0=[fdk?] )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-good:1.0
+ media-libs/gst-plugins-bad:1.0
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-a52dec:1.0
+ media-plugins/gst-plugins-libav:1.0
+ media-plugins/gst-plugins-x264:1.0
+ )
+ gtk? (
+ >=x11-libs/gtk+-3.10
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libnotify
+ x11-libs/pango
+ virtual/libgudev:=
+ )
+ fdk? ( media-libs/fdk-aac )
+ x265? ( >=media-libs/x265-1.7:0= )
+ "
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-lang/yasm
+ dev-util/intltool
+ sys-devel/automake"
+
+PATCHES=(
+ # Remove libdvdnav duplication and call it on the original instead.
+ # It may work this way; if not, we should try to mimic the duplication.
+ "${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch"
+
+ # Remove faac dependency; TODO: figure out if we need to do this at all.
+ "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch"
+
+ # Fix missing x265 link flag
+ "${FILESDIR}/${PN}-9999-fix-missing-x265-link-flag.patch"
+)
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Get rid of leftover bundled library build definitions,
+ sed -i 's:.*\(/contrib\|contrib/\).*::g' \
+ "${S}"/make/include/main.defs \
+ || die "Contrib removal failed."
+
+ default
+
+ # Get rid of libav specific code when using ffmpeg
+ use libav || eapply -R "${FILESDIR}/${PN}-1.1.0-nolibav.patch"
+
+ cd "${S}/gtk"
+ # Don't run autogen.sh.
+ sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed"
+ eautoreconf
+}
+
+src_configure() {
+ ./configure \
+ --force \
+ --verbose \
+ --prefix="${EPREFIX}/usr" \
+ --disable-gtk-update-checks \
+ $(use_enable libav-aac) \
+ $(use_enable fdk fdk-aac) \
+ $(use_enable gtk) \
+ $(usex !gstreamer --disable-gst) \
+ $(use_enable x265) || die "Configure failed."
+}
+
+src_compile() {
+ emake -C build
+
+ # TODO: Documentation building is currently broken, try to fix it.
+ #
+ # if use doc ; then
+ # emake -C build doc
+ # fi
+}
+
+src_install() {
+ emake -C build DESTDIR="${D}" install
+
+ dodoc README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown
+}
+
+pkg_postinst() {
+ einfo "For the CLI version of HandBrake, you can use \`HandBrakeCLI\`."
+
+ if use gtk ; then
+ einfo ""
+ einfo "For the GTK+ version of HandBrake, you can run \`ghb\`."
+ fi
+
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/media-video/rtmpdump/Manifest b/media-video/rtmpdump/Manifest
index f95629859564..e6d6ffd3144d 100644
--- a/media-video/rtmpdump/Manifest
+++ b/media-video/rtmpdump/Manifest
@@ -1,5 +1,9 @@
+AUX rtmpdump-openssl-1.1.patch 9309 BLAKE2B f66a968c16f5c7c8c0eba28370131941a9352054ed3db6dc6e380dbdf96cac0d76bd66dcbe6f9e2aa5c8f720fd92b780bcd0018c7392ed2064cdac8ebb1bb57d SHA512 41f213c9f419d3b8c566746d8df1400fefd2350992bfca76531a98a3338a4a4ac0f77598466a642f4b811bf1889a012f28427f1369e00aa7e46a3a0abff8e73e
+AUX rtmpdump-swf_vertification_type_2.patch 545 BLAKE2B e6db03f060ead7122029f15c0cc259e04863c2d5d0d2509a21de69f7fc61c1d3fb0ac062759c52e22e60733acdfb495cb4e6892ba7acb8e1f36ce1fe42f3ccd9 SHA512 5b5b4582b488429f8192b1158903047986d8ebc117c2ed81f7ab18bf59bcf8b8f6bc9a38fae89aff04af2342ca1362288a39516660f2163b94781c838652ad06
+AUX rtmpdump-swf_vertification_type_2_part_2.patch 868 BLAKE2B a5014fdc8bcf2cecbe5120297d4563c7d396e54c34e5f6dddf420fcfdbea4797c865daa0750cb1fa65f7c959d36381ce257ec48b3f4f377ce9ead3b3fe4cf833 SHA512 a0c1c46561384961bbb45962d416664cbd7a4a8c2e16eda4370d9acf76be809541ade182e41320102f252ed4e69dd2d6a0de37ad4085b52a22dc6ff0135d8894
DIST rtmpdump-2.4_p20161210.tar.gz 142837 BLAKE2B 412a7c3b21738db643042e51e03b11e115ae1d68214e644374e8c10f3b2ab3f659ce1af884135d0e89f2e0ba44ebdf41937bc0f02d875c463ca711d9ae95698c SHA512 76617f02c13d7e8e3a7cf2734c6174e56fb321a881c9e4869bf6393786b193e0c01a8c530ecbf0679cc888c523af5712f2dcb2031fbd09729b7ddeebc3a4b133
EBUILD rtmpdump-2.4_p20161210-r1.ebuild 2237 BLAKE2B caf1dc99de57985a504a8eff880b62659dd65b2b7cf6a0e75861f5f46827216027b50d62372536333bc5704de60977eacd554080c0f5ae771efb569716b65f2a SHA512 9db37815cc030cfc37d1427d38e79bae3b2df4b63b53fec11a313ec05edc19223454a4a304a3430d8d39bb0251517b71955e2e2c632dcd3d0f2dc657effbef72
+EBUILD rtmpdump-2.4_p20161210-r2.ebuild 2644 BLAKE2B ad5b3f1a6314495537bcd2c124f25d5d2d6262d0bc5d69681d60724f6a1737b8c062f5a496ff0e15594b835d58f3d7042406fe1231234db239dff6494ba8d000 SHA512 5c2a1964d1289795ac8f97a7ae9e7080d8427f0e886e7dc4971550c396c7f63ed345f856649688ccbeda85b812deb623293c592df6b177accad06cab17c595b7
EBUILD rtmpdump-2.4_p20161210.ebuild 2216 BLAKE2B 9e1eb7f275056f75971e791f7272bb46e440935dbf4bb5d48f0c5162d4bafb625001fd7a7005da4b96e83647c29facb0d206278a32bbaadb5ac5f7f7c4f96a93 SHA512 c54aa1492092479ed60fa69af7f81058b13e7af9c65c419c60c658e5c689576a483b35c21fca6c72a13095b133e5c8ab60643eec6ce2bc9d5f4a56749e8e3e04
-EBUILD rtmpdump-9999.ebuild 2033 BLAKE2B 8dfb9b1b7e098bd01577060f3ecef396f4aa28039e53fe9ee1aaece7de98f4e3a4cb3c6d5646b5c6140a67813a75b61409b70227cadf33852be14abe71956793 SHA512 45c08fb69e3c5e8ffd1cefd707bdf37bc8ac29a3b96f23dbc53d99ce53bbf87b0b57e272b09f108af9571cc0f35a272bd55ae066dfc2840bf76f8e4df8632cf2
-MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84
+EBUILD rtmpdump-9999.ebuild 2644 BLAKE2B ad5b3f1a6314495537bcd2c124f25d5d2d6262d0bc5d69681d60724f6a1737b8c062f5a496ff0e15594b835d58f3d7042406fe1231234db239dff6494ba8d000 SHA512 5c2a1964d1289795ac8f97a7ae9e7080d8427f0e886e7dc4971550c396c7f63ed345f856649688ccbeda85b812deb623293c592df6b177accad06cab17c595b7
+MISC metadata.xml 444 BLAKE2B 97f64854abc028cf6eb902008992a94e434db6de7258b8065666b31af4b92118044e4c3427792782cf7ac7a2eb8bb0fbaee047027ca2f648178cc07f46c6ac88 SHA512 38b9987993f4a3ed479c50aeda81436a8cbec7ad48c1e509fc351a58557c3922fe0834a680cda9996a5c5ca1b0b48377772e3eef775281eb40962f95ac095e7c
diff --git a/media-video/rtmpdump/files/rtmpdump-openssl-1.1.patch b/media-video/rtmpdump/files/rtmpdump-openssl-1.1.patch
new file mode 100644
index 000000000000..b3bb508af21a
--- /dev/null
+++ b/media-video/rtmpdump/files/rtmpdump-openssl-1.1.patch
@@ -0,0 +1,249 @@
+https://github.com/xbmc/inputstream.rtmp/blob/dc9353823f9cfd2943f97b586230fe387cc55dc6/depends/common/librtmp/0003-openssl-1.1.patch
+--- a/librtmp/dh.h
++++ b/librtmp/dh.h
+@@ -253,20 +253,44 @@
+ if (!dh)
+ goto failed;
+
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ MP_new(dh->g);
+
+ if (!dh->g)
+ goto failed;
++#else
++ BIGNUM *g = NULL;
++ MP_new(g);
++ if (!g)
++ goto failed;
++
++ DH_set0_pqg(dh, NULL, g, NULL);
++#endif
+
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ MP_gethex(dh->p, P1024, res); /* prime P1024, see dhgroups.h */
++#else
++ BIGNUM* p = NULL;
++ DH_get0_pqg(dh, (BIGNUM const**)&p, NULL, NULL);
++ MP_gethex(p, P1024, res); /* prime P1024, see dhgroups.h */
++#endif
+ if (!res)
+ {
+ goto failed;
+ }
+
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ MP_set_w(dh->g, 2); /* base 2 */
++#else
++ MP_set_w(g, 2); /* base 2 */
++ DH_set0_pqg(dh, NULL, g, NULL);
++#endif
+
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ dh->length = nKeyBits;
++#else
++ DH_set_length(dh, nKeyBits);
++#endif
+ return dh;
+
+ failed:
+@@ -293,12 +317,24 @@
+ MP_gethex(q1, Q1024, res);
+ assert(res);
+
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ res = isValidPublicKey(dh->pub_key, dh->p, q1);
++#else
++ BIGNUM const* pub_key = NULL;
++ BIGNUM const* p = NULL;
++ DH_get0_key(dh, &pub_key, NULL);
++ DH_get0_pqg(dh, &p, NULL, NULL);
++ res = isValidPublicKey((BIGNUM*)pub_key, (BIGNUM*)p, q1);
++#endif
+ if (!res)
+ {
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ MP_free(dh->pub_key);
+ MP_free(dh->priv_key);
+ dh->pub_key = dh->priv_key = 0;
++#else
++ DH_free(dh);
++#endif
+ }
+
+ MP_free(q1);
+@@ -314,15 +350,29 @@
+ DHGetPublicKey(MDH *dh, uint8_t *pubkey, size_t nPubkeyLen)
+ {
+ int len;
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (!dh || !dh->pub_key)
++#else
++ BIGNUM const* pub_key = NULL;
++ DH_get0_key(dh, &pub_key, NULL);
++ if (!dh || !pub_key)
++#endif
+ return 0;
+
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ len = MP_bytes(dh->pub_key);
++#else
++ len = MP_bytes(pub_key);
++#endif
+ if (len <= 0 || len > (int) nPubkeyLen)
+ return 0;
+
+ memset(pubkey, 0, nPubkeyLen);
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ MP_setbin(dh->pub_key, pubkey + (nPubkeyLen - len), len);
++#else
++ MP_setbin(pub_key, pubkey + (nPubkeyLen - len), len);
++#endif
+ return 1;
+ }
+
+@@ -364,7 +414,13 @@
+ MP_gethex(q1, Q1024, len);
+ assert(len);
+
++#if !defined(USE_OPENSSL) || !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (isValidPublicKey(pubkeyBn, dh->p, q1))
++#else
++ BIGNUM const* p = NULL;
++ DH_get0_pqg(dh, &p, NULL, NULL);
++ if (isValidPublicKey(pubkeyBn, (BIGNUM*)p, q1))
++#endif
+ res = MDH_compute_key(secret, nPubkeyLen, pubkeyBn, dh);
+ else
+ res = -1;
+--- a/librtmp/handshake.h
++++ b/librtmp/handshake.h
+@@ -31,9 +31,9 @@
+ #define SHA256_DIGEST_LENGTH 32
+ #endif
+ #define HMAC_CTX sha2_context
+-#define HMAC_setup(ctx, key, len) sha2_hmac_starts(&ctx, (unsigned char *)key, len, 0)
+-#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(&ctx, buf, len)
+-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(&ctx, dig)
++#define HMAC_setup(ctx, key, len) sha2_hmac_starts(ctx, (unsigned char *)key, len, 0)
++#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(ctx, buf, len)
++#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(ctx, dig)
+
+ typedef arc4_context * RC4_handle;
+ #define RC4_alloc(h) *h = malloc(sizeof(arc4_context))
+@@ -50,9 +50,9 @@
+ #endif
+ #undef HMAC_CTX
+ #define HMAC_CTX struct hmac_sha256_ctx
+-#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(&ctx, len, key)
+-#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(&ctx, len, buf)
+-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
++#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(ctx, len, key)
++#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(ctx, len, buf)
++#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(ctx, SHA256_DIGEST_LENGTH, dig)
+ #define HMAC_close(ctx)
+
+ typedef struct arcfour_ctx* RC4_handle;
+@@ -64,14 +64,23 @@
+
+ #else /* USE_OPENSSL */
+ #include <openssl/sha.h>
++#include <openssl/ossl_typ.h>
+ #include <openssl/hmac.h>
+ #include <openssl/rc4.h>
+ #if OPENSSL_VERSION_NUMBER < 0x0090800 || !defined(SHA256_DIGEST_LENGTH)
+ #error Your OpenSSL is too old, need 0.9.8 or newer with SHA256
+ #endif
+-#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, key, len, EVP_sha256(), 0)
+-#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, buf, len)
+-#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, dig, &dlen); HMAC_CTX_cleanup(&ctx)
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define HMAC_setup(ctx, key, len) HMAC_CTX_init(ctx); HMAC_Init_ex(ctx, key, len, EVP_sha256(), 0)
++#else
++#define HMAC_setup(ctx, key, len) HMAC_CTX_reset(ctx); HMAC_Init_ex(ctx, key, len, EVP_sha256(), 0)
++#endif
++#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, buf, len)
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, dig, &dlen); HMAC_CTX_cleanup(ctx)
++#else
++#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, dig, &dlen); HMAC_CTX_free(ctx)
++#endif
+
+ typedef RC4_KEY * RC4_handle;
+ #define RC4_alloc(h) *h = malloc(sizeof(RC4_KEY))
+@@ -117,7 +126,7 @@
+ {
+ uint8_t digest[SHA256_DIGEST_LENGTH];
+ unsigned int digestLen = 0;
+- HMAC_CTX ctx;
++ HMAC_CTX* ctx = NULL;
+
+ RC4_alloc(rc4keyIn);
+ RC4_alloc(rc4keyOut);
+@@ -266,7 +275,7 @@
+ size_t keylen, uint8_t *digest)
+ {
+ unsigned int digestLen;
+- HMAC_CTX ctx;
++ HMAC_CTX* ctx = NULL;
+
+ HMAC_setup(ctx, key, keylen);
+ HMAC_crunch(ctx, message, messageLen);
+--- a/librtmp/hashswf.c
++++ b/librtmp/hashswf.c
+@@ -37,9 +37,9 @@
+ #define SHA256_DIGEST_LENGTH 32
+ #endif
+ #define HMAC_CTX sha2_context
+-#define HMAC_setup(ctx, key, len) sha2_hmac_starts(&ctx, (unsigned char *)key, len, 0)
+-#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(&ctx, buf, len)
+-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(&ctx, dig)
++#define HMAC_setup(ctx, key, len) sha2_hmac_starts(ctx, (unsigned char *)key, len, 0)
++#define HMAC_crunch(ctx, buf, len) sha2_hmac_update(ctx, buf, len)
++#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; sha2_hmac_finish(ctx, dig)
+ #define HMAC_close(ctx)
+ #elif defined(USE_GNUTLS)
+ #include <nettle/hmac.h>
+@@ -48,19 +48,27 @@
+ #endif
+ #undef HMAC_CTX
+ #define HMAC_CTX struct hmac_sha256_ctx
+-#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(&ctx, len, key)
+-#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(&ctx, len, buf)
+-#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(&ctx, SHA256_DIGEST_LENGTH, dig)
++#define HMAC_setup(ctx, key, len) hmac_sha256_set_key(ctx, len, key)
++#define HMAC_crunch(ctx, buf, len) hmac_sha256_update(ctx, len, buf)
++#define HMAC_finish(ctx, dig, dlen) dlen = SHA256_DIGEST_LENGTH; hmac_sha256_digest(ctx, SHA256_DIGEST_LENGTH, dig)
+ #define HMAC_close(ctx)
+ #else /* USE_OPENSSL */
+ #include <openssl/ssl.h>
+ #include <openssl/sha.h>
+ #include <openssl/hmac.h>
+ #include <openssl/rc4.h>
+-#define HMAC_setup(ctx, key, len) HMAC_CTX_init(&ctx); HMAC_Init_ex(&ctx, (unsigned char *)key, len, EVP_sha256(), 0)
+-#define HMAC_crunch(ctx, buf, len) HMAC_Update(&ctx, (unsigned char *)buf, len)
+-#define HMAC_finish(ctx, dig, dlen) HMAC_Final(&ctx, (unsigned char *)dig, &dlen);
+-#define HMAC_close(ctx) HMAC_CTX_cleanup(&ctx)
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define HMAC_setup(ctx, key, len) HMAC_CTX_init(ctx); HMAC_Init_ex(ctx, (unsigned char *)key, len, EVP_sha256(), 0)
++#else
++#define HMAC_setup(ctx, key, len) HMAC_CTX_reset(ctx); HMAC_Init_ex(ctx, (unsigned char *)key, len, EVP_sha256(), 0)
++#endif
++#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, (unsigned char *)buf, len)
++#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, (unsigned char *)dig, &dlen);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define HMAC_close(ctx) HMAC_CTX_cleanup(ctx)
++#else
++#define HMAC_close(ctx) HMAC_CTX_reset(ctx); HMAC_CTX_free(ctx)
++#endif
+ #endif
+
+ extern void RTMP_TLS_Init();
+@@ -289,7 +297,7 @@
+ struct info
+ {
+ z_stream *zs;
+- HMAC_CTX ctx;
++ HMAC_CTX *ctx;
+ int first;
+ int zlib;
+ int size;
diff --git a/media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2.patch b/media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2.patch
new file mode 100644
index 000000000000..0e9c8302e8c6
--- /dev/null
+++ b/media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2.patch
@@ -0,0 +1,13 @@
+diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c
+index 5311a8a..79fefae 100644
+--- a/librtmp/rtmp.c
++++ b/librtmp/rtmp.c
+@@ -2854,7 +2854,7 @@ HandleCtrl(RTMP *r, const RTMPPacket *packet)
+ if (nType == 0x1A)
+ {
+ RTMP_Log(RTMP_LOGDEBUG, "%s, SWFVerification ping received: ", __FUNCTION__);
+- if (packet->m_nBodySize > 2 && packet->m_body[2] > 0x01)
++ if (packet->m_nBodySize > 2 && packet->m_body[2] > 0x02)
+ {
+ RTMP_Log(RTMP_LOGERROR,
+ "%s: SWFVerification Type %d request not supported! Patches welcome...",
diff --git a/media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2_part_2.patch b/media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2_part_2.patch
new file mode 100644
index 000000000000..55d02692464c
--- /dev/null
+++ b/media-video/rtmpdump/files/rtmpdump-swf_vertification_type_2_part_2.patch
@@ -0,0 +1,21 @@
+diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c
+index df2cb27..b72dc64 100644
+--- a/librtmp/rtmp.c
++++ b/librtmp/rtmp.c
+@@ -2857,14 +2857,14 @@ HandleCtrl(RTMP *r, const RTMPPacket *packet)
+ if (packet->m_nBodySize > 2 && packet->m_body[2] > 0x01)
+ {
+ RTMP_Log(RTMP_LOGERROR,
+- "%s: SWFVerification Type %d request not supported! Patches welcome...",
++ "%s: SWFVerification Type %d request not supported, attempting to use SWFVerification Type 1! Patches welcome...",
+ __FUNCTION__, packet->m_body[2]);
+ }
+ #ifdef CRYPTO
+ /*RTMP_LogHex(packet.m_body, packet.m_nBodySize); */
+
+ /* respond with HMAC SHA256 of decompressed SWF, key is the 30byte player key, also the last 30 bytes of the server handshake are applied */
+- else if (r->Link.SWFSize)
++ if (r->Link.SWFSize)
+ {
+ RTMP_SendCtrl(r, 0x1B, 0, 0);
+ } \ No newline at end of file
diff --git a/media-video/rtmpdump/metadata.xml b/media-video/rtmpdump/metadata.xml
index 6f49eba8f496..b36893c1b2a1 100644
--- a/media-video/rtmpdump/metadata.xml
+++ b/media-video/rtmpdump/metadata.xml
@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <longdescription>
+ rtmpdump is a toolkit for RTMP streams.
+ All forms of RTMP are supported, including
+ rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.
+ </longdescription>
</pkgmetadata>
diff --git a/media-video/rtmpdump/rtmpdump-2.4_p20161210-r2.ebuild b/media-video/rtmpdump/rtmpdump-2.4_p20161210-r2.ebuild
new file mode 100644
index 000000000000..8a45c29d0d07
--- /dev/null
+++ b/media-video/rtmpdump/rtmpdump-2.4_p20161210-r2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit multilib toolchain-funcs multilib-minimal flag-o-matic
+
+DESCRIPTION="RTMP client intended to stream audio or video flash content"
+HOMEPAGE="https://rtmpdump.mplayerhq.hu/"
+
+# the library is LGPL-2.1, the command is GPL-2
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+IUSE="gnutls ssl libressl"
+
+DEPEND="ssl? (
+ gnutls? ( >=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP},nettle(+)] )
+ !gnutls? (
+ !libressl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )
+ libressl? ( dev-libs/libressl )
+ )
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-swf_vertification_type_2.patch"
+ "${FILESDIR}/${PN}-swf_vertification_type_2_part_2.patch"
+)
+
+if [[ ${PV} == *9999 ]] ; then
+ KEYWORDS=""
+ SRC_URI=""
+ EGIT_REPO_URI="https://git.ffmpeg.org/rtmpdump.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+ SRC_URI="https://dev.gentoo.org/~hwoarang/distfiles/${P}.tar.gz"
+fi
+
+pkg_setup() {
+ if ! use ssl && use gnutls ; then
+ ewarn "USE='gnutls' is ignored without USE='ssl'."
+ ewarn "Please review the local USE flags for this package."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ git-r3_src_unpack
+ else
+ mkdir -p "${S}" || die "Can't create source directory"
+ cd "${S}" || die
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # fix #571106 by restoring pre-GCC5 inline semantics
+ append-cflags -std=gnu89
+ # fix Makefile ( bug #298535 , bug #318353 and bug #324513 )
+ sed -i 's/\$(MAKEFLAGS)//g' Makefile \
+ || die "failed to fix Makefile"
+ sed -i -e 's:OPT=:&-fPIC :' \
+ -e 's:OPT:OPTS:' \
+ -e 's:CFLAGS=.*:& $(OPT):' librtmp/Makefile \
+ || die "failed to fix Makefile"
+ use ssl && use !gnutls && use !libressl && eapply "${FILESDIR}/${PN}-openssl-1.1.patch"
+ default
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ if use ssl ; then
+ if use gnutls ; then
+ crypto="GNUTLS"
+ else
+ crypto="OPENSSL"
+ fi
+ fi
+ #fix multilib-script support. Bug #327449
+ sed -i "/^libdir/s:lib$:$(get_libdir):" librtmp/Makefile || die
+ if ! multilib_is_native_abi; then
+ cd librtmp || die
+ fi
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" \
+ OPT="${CFLAGS}" XLDFLAGS="${LDFLAGS}" CRYPTO="${crypto}" SYS=posix
+}
+
+multilib_src_install() {
+ mkdir -p "${ED}"/usr/$(get_libdir) || die
+ if multilib_is_native_abi; then
+ dodoc README ChangeLog rtmpdump.1.html rtmpgw.8.html
+ else
+ cd librtmp || die
+ fi
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" mandir='$(prefix)/share/man' \
+ CRYPTO="${crypto}" install
+}
diff --git a/media-video/rtmpdump/rtmpdump-9999.ebuild b/media-video/rtmpdump/rtmpdump-9999.ebuild
index 83fe157d7a38..8a45c29d0d07 100644
--- a/media-video/rtmpdump/rtmpdump-9999.ebuild
+++ b/media-video/rtmpdump/rtmpdump-9999.ebuild
@@ -1,18 +1,16 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
-inherit git-r3 multilib toolchain-funcs multilib-minimal flag-o-matic
+inherit multilib toolchain-funcs multilib-minimal flag-o-matic
DESCRIPTION="RTMP client intended to stream audio or video flash content"
HOMEPAGE="https://rtmpdump.mplayerhq.hu/"
-EGIT_REPO_URI="https://git.ffmpeg.org/rtmpdump.git"
# the library is LGPL-2.1, the command is GPL-2
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-KEYWORDS=""
IUSE="gnutls ssl libressl"
DEPEND="ssl? (
@@ -25,6 +23,21 @@ DEPEND="ssl? (
)"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}/${PN}-swf_vertification_type_2.patch"
+ "${FILESDIR}/${PN}-swf_vertification_type_2_part_2.patch"
+)
+
+if [[ ${PV} == *9999 ]] ; then
+ KEYWORDS=""
+ SRC_URI=""
+ EGIT_REPO_URI="https://git.ffmpeg.org/rtmpdump.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+ SRC_URI="https://dev.gentoo.org/~hwoarang/distfiles/${P}.tar.gz"
+fi
+
pkg_setup() {
if ! use ssl && use gnutls ; then
ewarn "USE='gnutls' is ignored without USE='ssl'."
@@ -32,6 +45,16 @@ pkg_setup() {
fi
}
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ git-r3_src_unpack
+ else
+ mkdir -p "${S}" || die "Can't create source directory"
+ cd "${S}" || die
+ unpack ${A}
+ fi
+}
+
src_prepare() {
# fix #571106 by restoring pre-GCC5 inline semantics
append-cflags -std=gnu89
@@ -42,7 +65,8 @@ src_prepare() {
-e 's:OPT:OPTS:' \
-e 's:CFLAGS=.*:& $(OPT):' librtmp/Makefile \
|| die "failed to fix Makefile"
- eapply_user
+ use ssl && use !gnutls && use !libressl && eapply "${FILESDIR}/${PN}-openssl-1.1.patch"
+ default
multilib_copy_sources
}
diff --git a/media-video/unifi-video/Manifest b/media-video/unifi-video/Manifest
index f8a54f1e62ef..17aba23f2be4 100644
--- a/media-video/unifi-video/Manifest
+++ b/media-video/unifi-video/Manifest
@@ -2,11 +2,17 @@ AUX commons-daemon-move.patch 337 BLAKE2B 79e847ce6e1c32c3cfbe192d8dce33175e2c0e
AUX mongod-wrapper 101 BLAKE2B cc52f011b065322fb7ebec982c5d0b188f4c72859770dec98bf002d6bcc9c43d520e0845ceaf1458efc4ed07bbccfb5c723ece61298bf6f2bfdebd363bebe4e7 SHA512 5895a2113cc165275587e9683a2e3a7de20ac5db75fc26b00bf55a619bc8ff18ead3f5465cefe0a02bea996d2d178a4954cc7fba84df76e27ea699d2be9ecc96
AUX unifi-video.initd 467 BLAKE2B c68d4b1efc3a2583e8624d306d667585022d27aa0ad4f2becd9569c8086b568e5c84508f2cc71c81605cc124bc17cd42c884d477b15181dba73544fc254610c1 SHA512 1cd4345daf09a27dcb8528abd076e920e30b6ff7a505acad74fdc291164c94569946cd493563331c5e52cb95c45e18522520aee47555db438fa87c46d07e35c5
AUX unifi-video.service 209 BLAKE2B fd4d96fbd353c795621ec6ad2cb23d8c27132071ebee2843364283da712e46f8fb1d1fcb9ce7b3f042938a55cf3689c7976095ed2f5e72b71bb915ae8a32763d SHA512 ea6eb21bc15c887f4f5e27669bb72eb31db9d8af48d9efdfc32901f1eeff2fb1626ce161dab2bf636eabd4a49c16966cfc55dcd8e572f01a829f491248f7b474
+DIST unifi-video.Ubuntu16.04_amd64.v3.10.0-beta.1.deb 151614954 BLAKE2B 2c43a9f7d497164ed8bace7cd19c6ed88a8b066669ea85af2dcc3bfd7d6eb23140d32c695b48a7793b76822024190d934d651b38dbccb4cfe4de6e8f0ce5114d SHA512 c84fd0477d42fcb79a6e24f11bca593da6862987cce9e213099695a75a63930928c009ceb99c7921b1db1499a2e617a82400e941c1c069b454a9301e8e295f8f
+DIST unifi-video.Ubuntu16.04_amd64.v3.9.10-beta.1.deb 116146196 BLAKE2B 5becd4bfe7e94066a34e809dd3485b906e39d0d79bb81a302ae9168147ef9f1517df5345ba521175b05847299abc556304f75801cd188c7868211217ef3dad59 SHA512 d5b5f9fb458a463f177212c157fdd2293b6bc696f28539347d64ed8c540408321a2683ac7cb350f4a665d1d83dc216b7f849214b6c51ee392b85451a4c9b33c2
DIST unifi-video.Ubuntu16.04_amd64.v3.9.7.deb 117374890 BLAKE2B b0f274da3052471472cd2405ec0a5d79fd97cbc30f014ede42a004dcffc4d27b9b5ecc36f32b4f60f8c47ba73b85795d2851345f5472b85192cf836bfb929173 SHA512 9a0f48d81f3935baad4004681cabe2ff46f4f86f8770c260c98fbd724de2949427de8ec706d86d612a9ccbcda69ca227aa4a123c3208e0a4ab7c0a51540c06f8
DIST unifi-video.Ubuntu16.04_amd64.v3.9.8-beta.1.deb 117380976 BLAKE2B 7fea704c3b780d51c3d0fc1de24b74654ba438b5223b368bbd6b42110b98fb22f0aa29816b6acec9961a9fa4f6dbace54361c64c4c12ae6a39b855c9e91702a1 SHA512 a4782c3b5319d7bc54d5df3dc64fdfec86e729636cc2e5479d7ca3a8f5112c57c83c0ac421be3cc0ce88975d6f47dd7bb57743d6802164531fdafed2bbe484bb
DIST unifi-video.Ubuntu16.04_amd64.v3.9.8-beta.2.deb 117447150 BLAKE2B f42a916e6ce78d02306559f9bb5c09e2a065facbe3abe3055a921b0a11dd7826f36c119eebda3495c8410560b6d5134e8cbbfb5c5a019e575e6fc4cc803e76b2 SHA512 0d9fc72a45fb0e87c7fc98c389c02336d12263d69ce96f17e255e354781ba84882f1f9cf4a4baa14e2638646491273407ccce93e020e75e3703405b48a2a13dc
+DIST unifi-video.Ubuntu16.04_amd64.v3.9.9.deb 117449304 BLAKE2B 0d3805481d587ee4b96265b69c82e27a35867895ae0a5d6496fd81eea4da946928ae2c7fd8d4184e5fb330d7ea6c94a835eaf17deb4e9598b784bb48d29494e3 SHA512 fc5023377c26484589680c3e4496e6b7c05d16b5c167a587dc026f6d9797d6974fe22eec164afbc62ecaf980f1e51ab828f85e9dd8b0dd31214fe54a93e97f4f
+EBUILD unifi-video-3.10.0_beta1.ebuild 1962 BLAKE2B e8bbe2f7b4dd41fd3f5f2dc57fd22839eae776c37b95802706607068dd7c83329027d75ae7065504217ad7ffbb0108273ff3ae50c560c0668eea3e1205e3d272 SHA512 f2d0185fd07de6e2e6a4ed815577748e66c639f697f1e8eb4ed28a90f0bd9af3a8531fbae3575d363fda68f9b7ac45dd5b65c1cc3d224b82738ef23feeda53a3
+EBUILD unifi-video-3.9.10_beta1.ebuild 1962 BLAKE2B e8bbe2f7b4dd41fd3f5f2dc57fd22839eae776c37b95802706607068dd7c83329027d75ae7065504217ad7ffbb0108273ff3ae50c560c0668eea3e1205e3d272 SHA512 f2d0185fd07de6e2e6a4ed815577748e66c639f697f1e8eb4ed28a90f0bd9af3a8531fbae3575d363fda68f9b7ac45dd5b65c1cc3d224b82738ef23feeda53a3
EBUILD unifi-video-3.9.7-r1.ebuild 1973 BLAKE2B b0a4ae35006ae86c461115a72d60ed9d543a37a4770d20b3db37adccf89129d3f05583200ee4acfd7b3fc3f2797461cb22c4297b979d7010eb8631fbd0aaebed SHA512 8b8f5b6c763bb8dc0c9140ec21051befc7bb83aeaa1dffec2fc9c677af1a5e4b5f77b80ede09b74a672c4139cdc309270a71e0d81d3b62ded95a04648af9f792
EBUILD unifi-video-3.9.7.ebuild 1915 BLAKE2B 8f5b52c6fcee9b79c2d26299df1a8b7e4c8db8b39d75355eb620e8bc96dba886f3a89b57ffbf42fbee444dda8151272fe0c6cfdd85f601bcc7507ae4837fba6e SHA512 1f55c2c3722a22fd36593b36460994938db7e1dc5b19f1dfeee6917152527863ee175076556583ab8273eb64e39e7e2c7111e4c88f76e4d654f872368d991d6c
EBUILD unifi-video-3.9.8_beta1.ebuild 1967 BLAKE2B 05de10417fa46867fb208af436bcbf02850cdf1205386e4c6b99a9fdd6393a5fa0ea09a0d8302defc1a280f4f9752c913166e5fe597ef9b8aa1f3719501e9c25 SHA512 da14718873a2fe7f394b5ecf7e323ad39296096d62fd14f957ec28bcec342187d14839dabb54ece452256b3a15b84ed6772156091f61f02a0cd80f3f286a6236
EBUILD unifi-video-3.9.8_beta2.ebuild 1965 BLAKE2B fd3816a5bf3486934b551687c239d66e4c04991beb55abeafcf0363bd67d28e268e3d0766abc1af27e84f21f9605765b83cdc9271e5ccd44e4e69d1768a5369d SHA512 f26634247a323888d59c97cec4c32c4afe2714d485423a0032c39af8556cff9e1a417e69be8e4b1b49c389bdb5f5aafecfc6e5e0c89887137beb8b13a4cdfece
+EBUILD unifi-video-3.9.9.ebuild 1968 BLAKE2B 8d4f0bceb418e49bcb75cd63b9d1d9caa1f9cb8b90a44aba0646fc50ca72d68d741dda153f1ee20b2f540d0aee99c744933560319b103a55c61e008cb77a63e8 SHA512 d3c8d2208e22daf7fc2bb2ad5a28d88c08c624c3253e8ffc1d9317a74d4f6f3333b66b92ca7c0a5cb1ea3659b0cda68f1c92371b34bad13f4508af956a4ffdcb
MISC metadata.xml 245 BLAKE2B 5323e1eec795a67d15f768c9c6dea0f5501b8f0350586558ad25708a6b13398fc55b6afa97e621e5895a879bdf1594b8323d98a31e39735e2338a6e938288668 SHA512 1b915771c263fd188289f5f3c0168e44a651d52d173dbd35f9dc94795a3227fd1133f2c08a0f30341b42a0cba6f5b0d0ce68dcd6dfc66ff3e225c98b443eb00c
diff --git a/media-video/unifi-video/unifi-video-3.10.0_beta1.ebuild b/media-video/unifi-video/unifi-video-3.10.0_beta1.ebuild
new file mode 100644
index 000000000000..f811db81bec7
--- /dev/null
+++ b/media-video/unifi-video/unifi-video-3.10.0_beta1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd user
+
+MY_PV="${PV/_beta/-beta.}"
+DESCRIPTION="UniFi Video Server"
+HOMEPAGE="https://www.ubnt.com/download/unifi-video/"
+SRC_URI="https://dl.ubnt.com/firmwares/ufv/v${MY_PV}/unifi-video.Ubuntu16.04_amd64.v${MY_PV}.deb"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+RESTRICT="mirror"
+
+DEPEND=""
+RDEPEND="dev-db/mongodb
+ dev-java/commons-daemon
+ sys-apps/lsb-release
+ sys-libs/libcap
+ virtual/jre:1.8"
+
+S=${WORKDIR}
+QA_PREBUILT="usr/lib*/${PN}/lib/*.so usr/lib*/${PN}/bin/*"
+
+pkg_setup() {
+ enewuser ${PN}
+ enewgroup ${PN}
+}
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}"/data.tar.gz
+}
+
+src_prepare() {
+ eapply "${FILESDIR}"/commons-daemon-move.patch
+ sed -i usr/sbin/${PN} \
+ -e '/require_root$/d' \
+ -e '/update_limits$/d' \
+ -e '/ulimit/d' \
+ -e '/coredump_filter/d' || die
+ default
+}
+
+src_install() {
+ static_dir="/usr/$(get_libdir)/${PN}"
+ #install static data
+ insinto ${static_dir}
+ doins -r usr/lib/${PN}/*
+ fperms -R +x ${static_dir}/bin
+ fowners -R ${PN}:${PN} ${static_dir}/conf/evostream/
+
+ #wrapper to work around mongodb-3.6 compat issue
+ exeinto ${static_dir}/bin/
+ newexe "${FILESDIR}"/mongod-wrapper mongod
+
+ #prepare runtime-data dirs which live in /var but are symlinked from static
+ #data dir, and are writable by non-root user
+ dodir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ dosym ../../../var/log/${PN} ${static_dir}/logs
+
+ dodir /var/lib/${PN}/work
+ fowners ${PN}:${PN} /var/lib/${PN}/work
+ dosym ../../../var/lib/${PN}/work ${static_dir}/work
+
+ keepdir /var/lib/${PN}/data
+ fowners ${PN}:${PN} /var/lib/${PN}/data
+ dosym ../../../var/lib/${PN}/data ${static_dir}/data
+
+ echo "CONFIG_PROTECT=\"/var/lib/${PN}/data/system.properties\"" > "${T}"/99${PN}
+ doenvd "${T}"/99${PN}
+
+ into /usr
+ dosbin usr/sbin/${PN}
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
diff --git a/media-video/unifi-video/unifi-video-3.9.10_beta1.ebuild b/media-video/unifi-video/unifi-video-3.9.10_beta1.ebuild
new file mode 100644
index 000000000000..f811db81bec7
--- /dev/null
+++ b/media-video/unifi-video/unifi-video-3.9.10_beta1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd user
+
+MY_PV="${PV/_beta/-beta.}"
+DESCRIPTION="UniFi Video Server"
+HOMEPAGE="https://www.ubnt.com/download/unifi-video/"
+SRC_URI="https://dl.ubnt.com/firmwares/ufv/v${MY_PV}/unifi-video.Ubuntu16.04_amd64.v${MY_PV}.deb"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+RESTRICT="mirror"
+
+DEPEND=""
+RDEPEND="dev-db/mongodb
+ dev-java/commons-daemon
+ sys-apps/lsb-release
+ sys-libs/libcap
+ virtual/jre:1.8"
+
+S=${WORKDIR}
+QA_PREBUILT="usr/lib*/${PN}/lib/*.so usr/lib*/${PN}/bin/*"
+
+pkg_setup() {
+ enewuser ${PN}
+ enewgroup ${PN}
+}
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}"/data.tar.gz
+}
+
+src_prepare() {
+ eapply "${FILESDIR}"/commons-daemon-move.patch
+ sed -i usr/sbin/${PN} \
+ -e '/require_root$/d' \
+ -e '/update_limits$/d' \
+ -e '/ulimit/d' \
+ -e '/coredump_filter/d' || die
+ default
+}
+
+src_install() {
+ static_dir="/usr/$(get_libdir)/${PN}"
+ #install static data
+ insinto ${static_dir}
+ doins -r usr/lib/${PN}/*
+ fperms -R +x ${static_dir}/bin
+ fowners -R ${PN}:${PN} ${static_dir}/conf/evostream/
+
+ #wrapper to work around mongodb-3.6 compat issue
+ exeinto ${static_dir}/bin/
+ newexe "${FILESDIR}"/mongod-wrapper mongod
+
+ #prepare runtime-data dirs which live in /var but are symlinked from static
+ #data dir, and are writable by non-root user
+ dodir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ dosym ../../../var/log/${PN} ${static_dir}/logs
+
+ dodir /var/lib/${PN}/work
+ fowners ${PN}:${PN} /var/lib/${PN}/work
+ dosym ../../../var/lib/${PN}/work ${static_dir}/work
+
+ keepdir /var/lib/${PN}/data
+ fowners ${PN}:${PN} /var/lib/${PN}/data
+ dosym ../../../var/lib/${PN}/data ${static_dir}/data
+
+ echo "CONFIG_PROTECT=\"/var/lib/${PN}/data/system.properties\"" > "${T}"/99${PN}
+ doenvd "${T}"/99${PN}
+
+ into /usr
+ dosbin usr/sbin/${PN}
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
diff --git a/media-video/unifi-video/unifi-video-3.9.9.ebuild b/media-video/unifi-video/unifi-video-3.9.9.ebuild
new file mode 100644
index 000000000000..c90d0eb2957a
--- /dev/null
+++ b/media-video/unifi-video/unifi-video-3.9.9.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd user
+
+MY_PV="${PV/_beta/-beta.}"
+DESCRIPTION="UniFi Video Server"
+HOMEPAGE="https://www.ubnt.com/download/unifi-video/"
+SRC_URI="https://dl.ubnt.com/firmwares/ufv/v${MY_PV}/unifi-video.Ubuntu16.04_amd64.v${MY_PV}.deb"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+RESTRICT="mirror"
+
+DEPEND=""
+RDEPEND="dev-db/mongodb
+ dev-java/commons-daemon
+ sys-apps/lsb-release
+ sys-libs/libcap
+ virtual/jre:1.8"
+
+S=${WORKDIR}
+QA_PREBUILT="usr/lib*/${PN}/lib/*.so usr/lib*/${PN}/bin/*"
+
+pkg_setup() {
+ enewuser ${PN}
+ enewgroup ${PN}
+}
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}"/data.tar.gz
+}
+
+src_prepare() {
+ eapply "${FILESDIR}"/commons-daemon-move.patch
+ sed -i usr/sbin/${PN} \
+ -e '/require_root$/d' \
+ -e '/update_limits$/d' \
+ -e '/ulimit/d' \
+ -e '/coredump_filter/d' || die
+ default
+}
+
+src_install() {
+ static_dir="/usr/$(get_libdir)/${PN}"
+ #install static data
+ insinto ${static_dir}
+ doins -r usr/lib/${PN}/*
+ fperms -R +x ${static_dir}/bin
+ fowners -R ${PN}:${PN} ${static_dir}/conf/evostream/
+
+ #wrapper to work around mongodb-3.6 compat issue
+ exeinto ${static_dir}/bin/
+ newexe "${FILESDIR}"/mongod-wrapper mongod
+
+ #prepare runtime-data dirs which live in /var but are symlinked from static
+ #data dir, and are writable by non-root user
+ dodir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ dosym ../../../var/log/${PN} ${static_dir}/logs
+
+ dodir /var/lib/${PN}/work
+ fowners ${PN}:${PN} /var/lib/${PN}/work
+ dosym ../../../var/lib/${PN}/work ${static_dir}/work
+
+ keepdir /var/lib/${PN}/data
+ fowners ${PN}:${PN} /var/lib/${PN}/data
+ dosym ../../../var/lib/${PN}/data ${static_dir}/data
+
+ echo "CONFIG_PROTECT=\"/var/lib/${PN}/data/system.properties\"" > "${T}"/99${PN}
+ doenvd "${T}"/99${PN}
+
+ into /usr
+ dosbin usr/sbin/${PN}
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}