summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-plugins/vdr-dvbapi/Manifest1
-rw-r--r--media-plugins/vdr-dvbapi/files/kernel-4.14-fix.diff15
-rw-r--r--media-plugins/vdr-dvbapi/metadata.xml11
-rw-r--r--media-plugins/vdr-dvbapi/vdr-dvbapi-2.2.4.ebuild93
4 files changed, 120 insertions, 0 deletions
diff --git a/media-plugins/vdr-dvbapi/Manifest b/media-plugins/vdr-dvbapi/Manifest
index ce58b22db84b..c736ff3e9ca0 100644
--- a/media-plugins/vdr-dvbapi/Manifest
+++ b/media-plugins/vdr-dvbapi/Manifest
@@ -1,2 +1,3 @@
DIST vdr-dvbapi-2.1.1.tar.gz 82813 BLAKE2B 2dd2b4aa11a645b4168ebbae962371f94a6e70ff905b06230048a69921f31521468506f2959ce5d5327b4cf61edc620686210520239e751e142e524751640e0d SHA512 fb632e66c9e477663eb1edf5e630a20b2165495c89d5bd6294d74d6a28c8386021d90914c9c6b958ea3c5c1d0958cc69efa5c65ef72c510c224d676f1eca39ae
DIST vdr-dvbapi-2.2.2.tar.gz 83995 BLAKE2B 6ddd9cc4e3edbd504505b7bbb9c40e203d53faab43b3d1afe9b9834cf3d751ba469536b5f27c24cfb04afeba1378ee3ac8dc0885db8a4576ce7a275233c88ca6 SHA512 01d3a6368e0233a7b96b6ea57b28884a004a130d63da2b2958b1616a1108e83389b68cbe32ec7fc6be65d6741912c4f46621b659fb13dba56e594a1a18af2c63
+DIST vdr-plugin-dvbapi-2.2.4.tar.gz 94419 BLAKE2B 326346b418ece22674aa0d84efd798a9eb8e958586d24385b4e468c11478f63ed89e94c742c57c5b1e955dc598db29a39e3730d71c93005aa6dcda262545e4e2 SHA512 d1313e927978fcf150ae14e570c16059caeeec07992066b03282295147872da3bdb191209408539c2a70c2ada868f731e9e5504a8dd737143f86e33a85fdf0c7
diff --git a/media-plugins/vdr-dvbapi/files/kernel-4.14-fix.diff b/media-plugins/vdr-dvbapi/files/kernel-4.14-fix.diff
new file mode 100644
index 000000000000..07644ab418ca
--- /dev/null
+++ b/media-plugins/vdr-dvbapi/files/kernel-4.14-fix.diff
@@ -0,0 +1,15 @@
+--- a/CA.h 2017-03-28 11:14:07.000000000 +0200
++++ b/CA.h 2018-03-27 00:47:51.231750662 +0200
+@@ -9,4 +9,12 @@
+ unsigned char cw[16];
+ } ca_descr_aes_t;
+
++#ifndef CA_SET_PID /* removed in kernel 4.14 */
++typedef struct ca_pid {
++ unsigned int pid;
++ int index; /* -1 == disable */
++} ca_pid_t;
++#define CA_SET_PID _IOW('o', 135, struct ca_pid)
+ #endif
++
++#endif // __CA_H
diff --git a/media-plugins/vdr-dvbapi/metadata.xml b/media-plugins/vdr-dvbapi/metadata.xml
index 9e2a4b763c8e..e82c63acca54 100644
--- a/media-plugins/vdr-dvbapi/metadata.xml
+++ b/media-plugins/vdr-dvbapi/metadata.xml
@@ -5,6 +5,17 @@
<email>hd_brummy@gentoo.org</email>
<name>Joerg Bornkessel</name>
</maintainer>
+ <maintainer type="person">
+ <email>martin.dummer@gmx.net</email>
+ <name>Martin Dummer</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="dvbcsa">use <pkg>media-libs/libdvbcsa</pkg> free implementation of the DVB Common Scrambling Algorithm</flag>
+ </use>
<upstream>
<remote-id type="github">manio/vdr-plugin-dvbapi</remote-id>
</upstream>
diff --git a/media-plugins/vdr-dvbapi/vdr-dvbapi-2.2.4.ebuild b/media-plugins/vdr-dvbapi/vdr-dvbapi-2.2.4.ebuild
new file mode 100644
index 000000000000..8f22cdaedc30
--- /dev/null
+++ b/media-plugins/vdr-dvbapi/vdr-dvbapi-2.2.4.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit vdr-plugin-2
+
+MY_P="vdr-plugin-dvbapi-${PV}"
+
+DESCRIPTION="VDR Plugin: allows connect VDR to OScam"
+HOMEPAGE="https://github.com/manio/vdr-plugin-dvbapi"
+SRC_URI="https://github.com/manio/vdr-plugin-dvbapi/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+LICENSE="GPL-2+"
+IUSE="cpu_flags_x86_3dnow cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 dvbcsa"
+
+DEPEND=">=media-video/vdr-2.1.4
+ dvbcsa? ( media-libs/libdvbcsa )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS=( "FAQ" "HISTORY" "INSTALL" "README" "FFdecsa/docs" )
+
+src_prepare() {
+ vdr-plugin-2_src_prepare
+
+ if use dvbcsa; then
+ sed -e "/PLUGIN = dvbapi/a LIBDVBCSA = 1" -i Makefile || die "modifying Makefile"
+ fi
+
+ # respect the system CXXFLAGS
+ sed -e "s:FLAGS:CXXFLAGS:" -i FFdecsa/Makefile || die "modifying FFdecsa/Makefile"
+
+ # Prepare flags for FFdeCSA
+ if [[ -n "${VDR_DVBAPI_PARALLEL}" ]]; then
+ PARALLEL="${VDR_DVBAPI_PARALLEL}"
+ else
+ # [32/64] Core2 (SSSE3) achieves best results with SSE2 & SSE
+ # [64] Athlon64 (SSE2) does much better with 64_LONG
+ # [32] Athlon64 (SSE2) does best with MMX
+ # [32] Pentium4 & Atom (SSE2) work best with SSE2 & SSE
+ # [32] AthlonXP (SSE) has MMX faster
+
+ # To avoid parsing -march=, we use ugly assumption that Intels don't
+ # have 3dnow and AMDs do. SSE achieves good results only on Intel CPUs,
+ # and LONG is best on 64-bit AMD CPUs.
+
+ if ! use cpu_flags_x86_3dnow && use cpu_flags_x86_sse2; then
+ PARALLEL=PARALLEL_128_SSE2
+ elif ! use cpu_flags_x86_3dnow && use cpu_flags_x86_sse; then
+ PARALLEL=PARALLEL_128_SSE
+ elif use amd64; then
+ PARALLEL=PARALLEL_64_LONG
+ elif use cpu_flags_x86_mmx; then
+ PARALLEL=PARALLEL_64_MMX
+ else
+ # fallback values:
+ # PARALLEL_32_INT fails with gcc4.4 on x86&amd64
+ # PARALLEL_64_2INT fails with gcc4.4 on x86
+ # PARALLEL_128_4INT seems to be the fastest non-failing fallback
+ PARALLEL=PARALLEL_128_4INT
+ fi
+
+ ewarn "VDR_DVBAPI_PARALLEL in your system make.conf is not set, guessing"
+ ewarn "value from CPU_FLAGS_X86 USEflags, result: ${PARALLEL}"
+ ewarn "This setting may be suboptimal, so you'll probably want to tweak"
+ ewarn "it yourself."
+ ewarn
+ ewarn "To do this, unpack the source and run the script in"
+ ewarn "\t<unpackdir>/${MY_P}/extra/FFdecsa-benchmark.sh"
+ ewarn "and add the output value from PARALLEL_MODE= to your system make.conf as"
+ ewarn "\tVDR_DVBAPI_PARALLEL=<your parameter>"
+ ewarn
+ fi
+
+ export PARALLEL
+
+ eapply "${FILESDIR}/kernel-4.14-fix.diff"
+}
+
+pkg_postinst() {
+ vdr-plugin-2_pkg_postinst
+
+ elog "This software might be illegal in some countries or violate"
+ elog "rules of your DVB provider. Please respect these rules."
+ elog
+ elog "We do not offer support of any kind."
+ elog "Asking for keys or for installation help will be ignored by gentoo developers!"
+ elog
+}