# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="6" inherit eutils cmake-utils flag-o-matic systemd if [[ ${PV} == "9999" ]] ; then ESVN_REPO_URI="http://streamboard.tv/svn/oscam/trunk" #ESVN_REPO_URI="http://www.oscam.cc/svn/oscam-mirror/trunk" inherit subversion #inherit git-r3 #EGIT_REPO_URI="https://repo.or.cz/oscam.git" KEYWORDS="" else SRC_URI="" KEYWORDS="~amd64 ~x86" fi DESCRIPTION="OSCam is an Open Source Conditional Access Module software" HOMEPAGE="http://oscam.to/" LICENSE="GPL-3" SLOT="0" IUSE="cacheex +debug doc ipv6 +ssl systemd" IUSE_OSCAM_ADDONS=" anticasc clockfix cyclecheck dvbapi irdeto_guess lb lcd led touch webif" IUSE_OSCAM_CARDREADERS=" db2com drecas internal mp35 pcsc phoenix sc8in1 smargo smart stapi stapi5 stinger" IUSE_OSCAM_MODULES=" camd33 camd35 camd35_tcp cccam cccshare constcw gbox ghttp monitor newcamd pandora radegast scam serial" IUSE_OSCAM_READERS=" bulcrypt conax cryptoworks dgcrypt dre griffin irdeto nagra nagra_merlin seca tongfang viaccess videoguard" for addon in ${IUSE_OSCAM_ADDONS}; do IUSE="${IUSE} oscam_addons_${addon}" done for cardreader in ${IUSE_OSCAM_CARDREADERS} ; do if [ "${cardreader}" == "smart" ] ; then IUSE="${IUSE} +oscam_cardreaders_${cardreader}" else IUSE="${IUSE} oscam_cardreaders_${cardreader}" fi done for module in ${IUSE_OSCAM_MODULES} ; do IUSE="${IUSE} oscam_modules_${module}" done for reader in ${IUSE_OSCAM_READERS} ; do IUSE="${IUSE} oscam_readers_${reader}" done DEPEND="oscam_cardreaders_pcsc? ( sys-apps/pcsc-lite ) oscam_cardreaders_smart? ( >=dev-libs/libusb-1.0 ) ssl? ( dev-libs/openssl )" RDEPEND="${DEPEND}" src_configure() { my_options="" # Generic options use cacheex && my_options="${my_options} CS_CACHEEX CS_CACHEEX_AIO" use debug && my_options="${my_options} WITH_DEBUG" use ipv6 && my_options="${my_options} IPV6SUPPORT" use ssl && my_options="${my_options} WITH_SSL" # Addons use oscam_addons_webif && my_options="${my_options} WEBIF WEBIF_LIVELOG WEBIF_JQUERY" use oscam_addons_touch && my_options="${my_options} TOUCH" use oscam_addons_dvbapi && my_options="${my_options} HAVE_DVBAPI" use oscam_addons_clockfix && my_options="${my_options} CLOCKFIX" use oscam_addons_irdeto_guess && my_options="${my_options} IRDETO_GUESSING" use oscam_addons_anticasc && my_options="${my_options} CS_ANTICASC" use oscam_addons_lb && my_options="${my_options} WITH_LB" use oscam_addons_cyclecheck && my_options="${my_options} CW_CYCLE_CHECK" use oscam_addons_lcd && my_options="${my_options} LCDSUPPORT" use oscam_addons_led && my_options="${my_options} LEDSUPPORT" # Modules use oscam_modules_monitor && my_options="${my_options} MODULE_MONITOR" use oscam_modules_camd33 && my_options="${my_options} MODULE_CAMD33" use oscam_modules_camd35 && my_options="${my_options} MODULE_CAMD35" use oscam_modules_camd35_tcp && my_options="${my_options} MODULE_CAMD35_TCP" use oscam_modules_newcamd && my_options="${my_options} MODULE_NEWCAMD" use oscam_modules_cccam && my_options="${my_options} MODULE_CCCAM" use oscam_modules_cccshare && my_options="${my_options} MODULE_CCCSHARE" use oscam_modules_gbox && my_options="${my_options} MODULE_GBOX" use oscam_modules_radegast && my_options="${my_options} MODULE_RADEGAST" use oscam_modules_serial && my_options="${my_options} MODULE_SERIAL" use oscam_modules_constcw && my_options="${my_options} MODULE_CONSTCW" use oscam_modules_pandora && my_options="${my_options} MODULE_PANDORA" use oscam_modules_ghttp && my_options="${my_options} MODULE_GHTTP" use oscam_modules_scam && my_options="${my_options} MODULE_SCAM" # Cardreaders use oscam_cardreaders_phoenix && my_options="${my_options} CARDREADER_PHOENIX" use oscam_cardreaders_internal && my_options="${my_options} CARDREADER_INTERNAL" use oscam_cardreaders_mp35 && my_options="${my_options} CARDREADER_MP35" use oscam_cardreaders_sc8in1 && my_options="${my_options} CARDREADER_SC8IN1" use oscam_cardreaders_smargo && my_options="${my_options} CARDREADER_SMARGO" use oscam_cardreaders_db2com && my_options="${my_options} CARDREADER_DB2COM" use oscam_cardreaders_stapi && my_options="${my_options} CARDREADER_STAPI" use oscam_cardreaders_stapi5 && my_options="${my_options} CARDREADER_STAPI5" use oscam_cardreaders_stinger && my_options="${my_options} CARDREADER_STINGER" use oscam_cardreaders_drecas && my_options="${my_options} CARDREADER_DRECAS" # Smart and PCSC are detected automatically use oscam_cardreaders_smart && my_options="${my_options}" use oscam_cardreaders_pcsc && my_options="${my_options}" # Readers use oscam_readers_nagra && my_options="${my_options} READER_NAGRA" use oscam_readers_nagra_merlin && my_options="${my_options} READER_NAGRA_MERLIN" use oscam_readers_irdeto && my_options="${my_options} READER_IRDETO" use oscam_readers_conax && my_options="${my_options} READER_CONAX" use oscam_readers_cryptoworks && my_options="${my_options} READER_CRYPTOWORKS" use oscam_readers_seca && my_options="${my_options} READER_SECA" use oscam_readers_viaccess && my_options="${my_options} READER_VIACCESS" use oscam_readers_videoguard && my_options="${my_options} READER_VIDEOGUARD" use oscam_readers_dre && my_options="${my_options} READER_DRE" use oscam_readers_tongfang && my_options="${my_options} READER_TONGFANG" use oscam_readers_bulcrypt && my_options="${my_options} READER_BULCRYPT" use oscam_readers_griffin && my_options="${my_options} READER_GRIFFIN" use oscam_readers_dgcrypt && my_options="${my_options} READER_DGCRYPT" "${S}"/config.sh --disable all --enable ${my_options} # Set default config dir to /etc/oscam MYCMAKEARGS="-DCS_CONFDIR=/etc/oscam" cmake-utils_src_configure } src_install() { # Binaries exeinto /usr/bin doexe "${CMAKE_BUILD_DIR}/oscam" "${CMAKE_BUILD_DIR}/utils/list_smargo" # Init scripts newinitd "${FILESDIR}/oscam.initd" oscam newconfd "${FILESDIR}/oscam.confd" oscam use systemd && systemd_dounit "${FILESDIR}"/oscam.service # Create directory for logfiles dodir /var/log/oscam # Example configuration insinto /etc/oscam doins Distribution/doc/example/* # Manpages doman Distribution/doc/man/* # 'Repair' oscam.ac.5 manpage cp -a ${D}/usr/share/man/ac/man5/oscam.5 \ ${D}/usr/share/man/man5/oscam.ac.5 rm -rf ${D}/usr/share/man/ac/ # Documentation files dodoc README README.build README.config # HTML documentation if use doc ; then dohtml -r Distribution/doc/html/* fi # Monitor examples docinto monitor dodoc Distribution/monitor/* }