Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

vdr-sc ebuild gentoo

Wickie1

Freak
Registriert
22. September 2011
Beiträge
204
Reaktionspunkte
34
Punkte
88
Guten Morgen,

heute wollte ich mal ein VDR-Update durchführen und scheiterte gnadenlos an vdr-sc. Ich nutze dazu das vdr-devel-Overlay. Die Probleme dabei: Die URL ist nicht mehr gültig (steht auch schon im Ubuntu-Thread). Außerdem ist die sc-Version mit 0.9.3 aus dem Jahr 2012 wohl schon etwas "outdated".

Also hab ich mal das alte Ebuild angepasst. Es compiliert und installiert. Dabei kommen aber noch ein paar unhübsche Warnmeldungen. War gut, wenn da mal jemand drüberschauen könnte.

vdr-sc-9999.ebuild
Code:
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

RESTRICT="mirror"

inherit vdr-plugin-2

EGIT_REPO_URI="git://github.com/3PO/vdr-plugin-sc.git"
inherit git-2

DESCRIPTION="VDR Plugin: SoftCAM"
HOMEPAGE="https://github.com/3PO/vdr-plugin-sc"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="3dnow +cardclient +conax +constcw +cryptoworks +irdeto mmx
        +nagra +nds +sc-conax +sc-cryptoworks +sc-irdeto +sc-nagra +sc-seca
        +sc-viaccess +sc-videoguard2 +seca +shl sse sse2 +viaccess
        dvbsddevice dvbhddevice"

DEPEND=">=media-video/vdr-1.7.21
        >=dev-libs/openssl-0.9.7
        dvbsddevice? ( >=media-plugins/vdr-dvbsddevice-0.0.5-r1 )
        dvbhddevice? ( >=media-plugins/vdr-dvbhddevice-0.0.4_p20120614 )"
RDEPEND="${DEPEND}"

S=${WORKDIR}/${MY_P}

# dirty fix, fails on more jobserver on FFdecsa
export MAKEOPTS="-j1"

src_prepare() {
        vdr-plugin-2_src_prepare

#       if has_version ">=media-video/vdr-2.1.3"; then
#               sed -i device.c -e "s:MAXDVBDEVICES:MAXDEVICES:"
#       fi

#       if has_version ">=media-video/vdr-2.1.4"; then
#               epatch "${FILESDIR}"/vdr-sc-0.9.3.20120815_vdr-2.1.4_compilefix.diff
#       fi

        sed -e 's:^SINCLUDES += :&-I/usr/include/vdr :' \
                -e 's:^LIBDIR.*$:LIBDIR = ${S}:' \
                -i  Makefile.system || "sed Makefile.system failed"

        sed -e "s: -march=\$(CPUOPT)::" \
                -e "s:\$(CSAFLAGS):\$(CXXFLAGS):" \
                -e "s:ci.c:ci.h:" \
                -i Makefile || die "sed Makefile failed"

        sed -e "s:FLAGS:CXXFLAGS:" \
                -i FFdecsa/Makefile || die "sed FFdecsa Makefile failed"

        # Prepare flags for FFdeCSA
        if [ -n "${VDR_SC_PARALLEL}" ]; then
                PARALLEL="${VDR_SC_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 3dnow && use sse2; then
                PARALLEL=PARALLEL_128_SSE2
        elif ! use 3dnow && use sse; then
                PARALLEL=PARALLEL_128_SSE
        elif use amd64; then
                PARALLEL=PARALLEL_64_LONG
        elif use 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_SC_PARALLEL not set, guessing value from USEflags (${PARALLEL})."
                ewarn "This setting may be suboptimal, so you'll probably want to tweak it yourself."
                ewarn "More info in docs/FFdecsa/how_to_compile.txt."
        fi

        export PARALLEL

        # plugin dvbhddevice dvbsddevice with transfermode support
        export WITH_DVBSDDEVICE=0 WITH_DVBHDDEVICE=0
#       epatch "${FILESDIR}/${P}_makefile.diff"
        sed -e 's:"../dvbhddevice/dvbhdffdevice.h":<dvbhdffdevice.h>:' -i device-hd.c
        sed -e 's:"../dvbsddevice/dvbsdffdevice.h":<dvbsdffdevice.h>:' -i device-sd.c
        use dvbsddevice && WITH_DVBSDDEVICE=1
        use dvbhddevice && WITH_DVBHDDEVICE=1

        # Remove unwanted plugins
        cd systems/ || die "cd systems/ failed"

        local fl
        for fl in *; do

        # Remember to update IUSE when bumping!
                if ! use "${fl}"; then
                        einfo "Removing ${fl} plugin"
                        rm -r -- "${fl}"
                fi
        done
}

src_install() {
        vdr-plugin-2_src_install

        exeinto "${VDR_PLUGIN_DIR}"
        doexe lib/libsc-*.so.* || die "doexe failed"

        docinto FFdecsa
        dodoc FFdecsa/docs/* || die "dodoc FFdecsa failed"

        docinto examples
        dodoc examples/* || die "dodoc examples failed"
}

pkg_postinst() {
        vdr-plugin-2_pkg_postinst

        elog "This software might be illegal in some countries or violate"
        elog "rules of your DVB provider"
        elog "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
}
 
Zurück
Oben