# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 IUSE="" DESCRIPTION="A linux (2.6-) kernel driver for Hauppauge's WinTV-PVR-usb2" HOMEPAGE="http://www.isely.net/pvrusb2.html" SRC_URI="http://www.isely.net/downloads/pvrusb2-mci-20060702.tar.bz2 http://www.eskimo.com/~roger/files/packages/pvrusb2/pvrusb2.f1.bz2 http://www.eskimo.com/~roger/files/packages/pvrusb2/pvrusb2.f2.bz2 http://www.eskimo.com/~roger/files/packages/pvrusb2/v4l-cx2341x-enc.fw.bz2 http://www.eskimo.com/~roger/files/packages/pvrusb2/v4l-cx25840.fw.bz2 http://www.eskimo.com/~roger/files/packages/pvrusb2/v4l-pvrusb2-24xxx-01.fw.bz2" # Check for the above firmwares. # If not found, instruct installer to get them by using fwextract.pl # and copying them into /usr/portage/disfiles # NOTE: The two firmware* files are stripped from a proprietory win32 driver! LICENSE="Conexant-firmware" SLOT="0" KEYWORDS="x86" RDEPEND=">=sys-apps/hotplug-20040923" DEPEND="" S=${WORKDIR}/pvrusb2-mci-20060702 pkg_setup() { if kernel_is 2 4; then "You need kernel-2.6 for this module to work" "(>=kernel-2.6.16 is recommended)" die fi echo einfo "Required kernel options as static or modules:" einfo "CONFIG_VIDEO_BT848=m" einfo "CONFIG_VIDEO_DECODER=m" einfo "CONFIG_VIDEO_TVEEPROM=m" einfo "CONFIG_VIDEO_PVRUSB2=m" echo einfo "Newer pvrusb2 devices requires cx25840" einfo "while the older require msp3400." einfo "(The MSP3400 code may get preference over CX25840 code" einfo "resulting in the newer pvrusb2 devices not working.)" echo einfo "You may need to clean older pvrusb2 modules from kernel tree" einfo "before emerging this package." einfo "ie. rm /lib/modules/2.6.15.5Y/pvrusb2/*" einfo "(This ebuild will not auto clean modules.)" echo CONFIG_CHECK="USB" CONFIG_CHECK="BT848" CONFIG_CHECK="VIDEO_DECODER" CONFIG_CHECK="VIDEO_TVEEPROM" CONFIG_CHECK="VIDEO_PVRUSB2" } src_unpack() { unpack ${A} # If you use Mythtv, enabling interlacing will significantly # reduce cpu usage. Enter PVRUSB2="interlace" to make it so. #if [[ $PVRUSB2 = "interlace" ]]; then # cd ${S}/driver # epatch ${FILESDIR}/interlace_enable.patch #fi cd ${S} } src_install() { insinto "/lib/firmware/" doins ${WORKDIR}/pvrusb2.f1 doins ${WORKDIR}/pvrusb2.f2 doins ${WORKDIR}/v4l-cx2341x-enc.fw doins ${WORKDIR}/v4l-cx25840.fw doins ${WORKDIR}/v4l-pvrusb2-24xxx-01.fw dodoc ${S}/LICENSE.TXT dodoc ${S}/README dohtml ${S}/doc/pvrusb2-eeprom.html dohtml ${S}/doc/pvrusb2-faq.html dohtml ${S}/doc/pvrusb2-utils.html dohtml ${S}/doc/pvrusb2.html dodir /usr/share/doc/${PF}/doc insinto /usr/share/doc/${PF}/doc dodoc ${S}/doc/README dodoc ${S}/doc/controls.txt dodoc ${S}/doc/notes.txt dodoc ${S}/doc/protocol-info.txt dodir /usr/share/doc/${PF}/misc insinto /usr/share/doc/${PF}/misc doins ${S}/misc/* dodir /usr/share/doc/${PF}/utils insinto /usr/share/doc/${PF}/utils doins ${S}/utils/* } pkg_postinst() { linux-mod_pkg_postinst echo einfo "If /var/log/messages shows errors about no firmwares available," einfo "use fwfind.sh & fwextract.pl to extract your firmwares manually" einfo "$ mkdir ./tmp && cd ./tmp" einfo "$ cp /usr/share/doc/pvrusb2*/utils/fw* ./ && chmod a+x fw*" echo einfo "Simply executing fwfind.sh should find and extract your firmwares." einfo "(fwfind.sh will also find cdrom drivers within /mnt/cdrom*)" echo einfo "# cp v4l-*.fw /lib/firmwares/" einfo "# rmmod pvrusb2 && modprobe pvrusb2 && ls /dev/v4l/" echo einfo "Mythtv works well with this device." echo echo }