diff options
author | Noel Darlow <mail@mcgruff.plus.com> | 2012-05-17 19:40:04 +0100 |
---|---|---|
committer | Noel Darlow <mail@mcgruff.plus.com> | 2012-05-17 19:40:04 +0100 |
commit | 69d1a09afa3e41f7adaa9303353985b2ed98c282 (patch) | |
tree | 91c022b805df3f9587df2b10be3c46c2b9e8c607 | |
parent | fixing ardour-irc ebuild (diff) | |
download | underlay-69d1a09afa3e41f7adaa9303353985b2ed98c282.tar.gz underlay-69d1a09afa3e41f7adaa9303353985b2ed98c282.tar.bz2 underlay-69d1a09afa3e41f7adaa9303353985b2ed98c282.zip |
first try for ebuilds of bashfun and gentool - corrections to follow...
27 files changed, 2032 insertions, 61 deletions
diff --git a/app-admin/gentool/Manifest b/app-admin/gentool/Manifest new file mode 100644 index 0000000..d02ec96 --- /dev/null +++ b/app-admin/gentool/Manifest @@ -0,0 +1,4 @@ +DIST gentool-0.1.4.tar.bz2 8550 RMD160 07959dcd35202d25a7971eeee4cd9f3211eb92f8 SHA1 1d84557773cfaf18bc25d32bd0bb6b2ea9a9f810 SHA256 073057b28e637d98bd08dad6b4378cfc44e5b45b3d42e9757fa250128b293f7a +EBUILD gentool-0.1.4.ebuild 1285 RMD160 e697556dfdf6839e09c6d94a709a1725ba7748dc SHA1 e0a5d8ec177ee5a27c421ed4b2090bfd95687ae9 SHA256 38d65e390506af27dca0a834a22edbbc5b22dde7d8c7fe880bc6db7a30ad9809 +MISC ChangeLog 0 RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +MISC metadata.xml 513 RMD160 5ccacd7985a83578b1b02f37e5321fce4c75f73f SHA1 891e34ce89792243996e4c8319d1508964b096df SHA256 503e044c2881c5f53de73bcff9fd25d8c097182434c636e2614538d0f568bc53 diff --git a/app-admin/gentool/gentool-0.1.3.ebuild b/app-admin/gentool/gentool-0.1.3.ebuild deleted file mode 100644 index 560ed64..0000000 --- a/app-admin/gentool/gentool-0.1.3.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -EAPI=2 -inherit eutils -DESCRIPTION="gentoo system management" -HOMEPAGE="" -SRC_URI="" -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="x86 amd64" -IUSE="" - -#DEPEND=">=app-misc/bashfun-0.1.2 -# layman" -RDEPEND="net-misc/rsync - sys-boot/grub" - -src_install() { - #config protect? - dodir '/opt/gem' || die "out of cheese error 1" - #insinto '/opt/gem' || die "out of cheese error 2" - - ls -avlh ${FILESDIR}'/'${PVR}'/opt/gem/' - cp -ar ${FILESDIR}'/'${PVR}'/opt/gem/'* ${D}'/opt/gem/' || die "out of cheese error 3" - dodir '/etc/gem' || die "out of cheese error 4" - insinto '/etc/gem' || die "out of cheese error 5" - doins ${FILESDIR}'/'${PVR}'/etc/gem/config.sh' || die "out of cheese error 6" - doenvd ${FILESDIR}'/'${PVR}'/etc/env.d/99gem-env' || die "out of cheese error 7" -} - -pkg_postinst() { - if [ ! -f /opt/bin/gem ] - then - cd /opt/bin - ln -s /opt/gem/bin/gem.sh gem - fi - - path_minus_opt_bin=`echo $PATH | sed 's~/opt/bin:~~g'` - if [ $PATH = $path_minus_opt_bin ] - then - ewarn - ewarn 'OMG! /opt/bin is not in your $PATH!' - ewarn '(gem is installed at /opt/bin/gem)' - ewarn - fi - ewarn - ewarn 'you may want to edit /etc/gem/config.sh now - just follow instructions in the file' - ewarn -} diff --git a/app-admin/gentool/gentool-0.1.4.ebuild b/app-admin/gentool/gentool-0.1.4.ebuild new file mode 100644 index 0000000..3a60680 --- /dev/null +++ b/app-admin/gentool/gentool-0.1.4.ebuild @@ -0,0 +1,46 @@ +EAPI=2 +inherit eutils +DESCRIPTION="gentoo system management" +HOMEPAGE="" +SRC_URI="http://www.aperiplus.co.uk/downloads/src/${P}.tar.bz2" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="x86 amd64" +IUSE="" + +#DEPEND="" + +RDEPEND="net-misc/rsync + sys-boot/grub + app-misc/bashfun + net-misc/htpdate" + +src_install() { + dodir '/opt/gentool' || die "out of cheese error 1" + insinto '/opt/gentool' || die "out of cheese error 2" + cp -ar ${FILESDIR}'/'${S}'/opt/gentool/'* ${D}'/opt/gentool/' || die "out of cheese error 3" + dodir '/etc/gentool' || die "out of cheese error 4" + insinto '/etc/gentool' || die "out of cheese error 5" + doins ${FILESDIR}'/'${S}'/etc/gentool/config.sh' || die "out of cheese error 6" + doenvd ${FILESDIR}'/'${S}'/etc/env.d/99gentool-env' || die "out of cheese error 7" +} + +pkg_postinst() { + if [ ! -f /opt/bin/gentool ] + then + cd /opt/bin + ln -s /opt/gentool/bin/gentool.sh gentool + fi + + path_minus_opt_bin=`echo $PATH | sed 's~/opt/bin:~~g'` + if [ $PATH = $path_minus_opt_bin ] + then + ewarn + ewarn '/opt/bin is not in your $PATH!' + ewarn '(gentool is installed at /opt/bin/gentool)' + ewarn + fi + ewarn + ewarn 'you may want to edit /etc/gentool/config.sh now - just follow instructions in the file' + ewarn +} diff --git a/app-admin/gentool/metadata.xml b/app-admin/gentool/metadata.xml index 19b6c00..6a395a5 100644 --- a/app-admin/gentool/metadata.xml +++ b/app-admin/gentool/metadata.xml @@ -3,8 +3,8 @@ <pkgmetadata> <herd>underlay</herd> <maintainer> - <email>gem@aperiplus.co.uk</email> - <description>gentoo manager</description> + <email>gentool@aperiplus.co.uk</email> + <description>Help manage a gentoo OS.</description> </maintainer> -<longdescription>Gem is a portage wrapper with extra commands to help manage software updates. Prior to an emerge, you can quickly back up OS and apps with `gem sync` and, if it all goes wrong, revert back to the old package versions very quickly with no downtime (the backups are bootable). This is particularly important in a rolling release distro like gentoo. Other functions include `gem kernel` which automates most of the work of building a new kernel.</longdescription> +<longdescription>Gentool's main feature is the ability to revert to the last working system when an emerge goes wrong. You can be up and running again almost instantly - guaranteed no downtime for a vital machine.</longdescription> </pkgmetadata> diff --git a/app-misc/bashfun/ChangeLog b/app-misc/bashfun/ChangeLog new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/app-misc/bashfun/ChangeLog diff --git a/app-misc/bashfun/Manifest b/app-misc/bashfun/Manifest index 9a7ce93..6d00f04 100644 --- a/app-misc/bashfun/Manifest +++ b/app-misc/bashfun/Manifest @@ -1,4 +1,4 @@ -AUX 0.1.1/disk.sh 1282 RMD160 67ec871553a7d03272fb292acba82925cf3b5c31 SHA1 b7ae1392383b35fb74d49977f24a452c55db116f SHA256 404fb49187d140cff49e889384c7434a846ff414b54e10851cacbd3268e03055 -AUX 0.1.1/interactive.sh 501 RMD160 ac8af117819c8ca6595fb648951c389c4c08c111 SHA1 73bf0c1edf3a976f80db5e5c14b569403f8a56e9 SHA256 95df40abc20bb7186f9f38a2e486bff1ee8934c3226f3f54a512419d44311788 -AUX 0.1.1/rsync.sh 1389 RMD160 061f947746402a041d18ae14cefe3346052acc71 SHA1 6683640600bc1fef70f8205a03eb847f553975da SHA256 46dab20c50710edfc1cf04d1139d2b348ecfbe83f91090f1f0268ace8322fce2 -EBUILD bashfun-0.1.1.ebuild 499 RMD160 361f3f084ea84b97eee3607320a4b97c81440af9 SHA1 63125fbcb526466b2e61673397360938797128b2 SHA256 8c98e85b36919ccb6764ec74fd6f12e1df934db8b1e118d3d22f22b1924b4956 +DIST bashfun-0.1.3.tar.bz2 2420 RMD160 4cd8a76b5e6440f235cb7b0150b1a599ef8e88e2 SHA1 31af25aa2bfd83df55ff9dfc92c488dff6cbb1c4 SHA256 176120c11ce1ed62663ab37667e9e3a13e9b45d3a993f69e9c8aec123aa9a3b7 +EBUILD bashfun-0.1.3.ebuild 419 RMD160 299ba154877e430344133f76f26bfd12b3224232 SHA1 2be600f5d7cc9d4a06c3990a5b64ee0a5a27d186 SHA256 c8860de5e9c765d9424273dc7d7f7a6dd37c46a75c6d339557d5371e8e8edb74 +MISC ChangeLog 0 RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +MISC metadata.xml 630 RMD160 53e574d1aebd76c283f66141adbc68f3a0d2e179 SHA1 3cfbad4e529d4ea3a00a87d0cd5c0fbc1562323b SHA256 d6655331879d69f41179bbbc03f46d3fe2e565565a37efb71f690c5f1cdb4735 diff --git a/app-misc/bashfun/bashfun-0.1.3.ebuild b/app-misc/bashfun/bashfun-0.1.3.ebuild index c84a595..366a9c3 100644 --- a/app-misc/bashfun/bashfun-0.1.3.ebuild +++ b/app-misc/bashfun/bashfun-0.1.3.ebuild @@ -2,17 +2,14 @@ EAPI=2 inherit eutils DESCRIPTION="bash function library" HOMEPAGE="" -SRC_URI="" +SRC_URI="http://www.aperiplus.co.uk/downloads/src/${P}.tar.bz2" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~x86 ~amd64" +KEYWORDS="x86 amd64" IUSE="" src_install() { dodir '/opt/bashfun' || die "out of cheese error 1" insinto '/opt/bashfun' || die "out of cheese error 2" - doins ${FILESDIR}'/'${PVR}'/disk.sh' || die "out of cheese error 3" - doins ${FILESDIR}'/'${PVR}'/rsync.sh' || die "out of cheese error 3" - doins ${FILESDIR}'/'${PVR}'/interactive.sh' || die "out of cheese error 3" + cp -ar ${FILESDIR}'/'${S}'/opt/bashfun/'* ${D}'/opt/bashfun/' || die "out of cheese error 3" } - diff --git a/app-misc/bashfun/metadata.xml b/app-misc/bashfun/metadata.xml new file mode 100644 index 0000000..8c2490d --- /dev/null +++ b/app-misc/bashfun/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>underlay</herd> +<maintainer> + <email>bashfun@aperiplus.co.uk</email> + <description>Bashfun: a "bash function library"</description> +</maintainer> +<longdescription>A general-purpose collection of bash functions. If you work with bash scripts, you'll often find yourself re-writing the same functions in different scripts. It makes sense to pull re-usable code out to a functions library - this is mine. Not much in it so far. It will grow into whatever it grows into.</longdescription> +</pkgmetadata> diff --git a/media-sound/ardour-irc/ardour-irc-0.2.5.ebuild b/media-sound/ardour-irc/ardour-irc-0.2.6.ebuild index 67a9bd7..4ac57ff 100644 --- a/media-sound/ardour-irc/ardour-irc-0.2.5.ebuild +++ b/media-sound/ardour-irc/ardour-irc-0.2.6.ebuild @@ -4,7 +4,7 @@ HOMEPAGE="" SRC_URI="http://www.aperiplus.co.uk/downloads/src/${P}.tar.bz2" LICENSE="GPL-3" SLOT="0" -KEYWORDS="x86 and64" +KEYWORDS="x86 amd64" IUSE="" RDEPEND="dev-lang/perl diff --git a/media-sound/openoctave-midi/.svn/entries b/media-sound/openoctave-midi/.svn/entries new file mode 100644 index 0000000..f7cd943 --- /dev/null +++ b/media-sound/openoctave-midi/.svn/entries @@ -0,0 +1,167 @@ +10 + +dir +2002 +svn://svn.tuxfamily.org/svnroot/proaudio/proaudio/trunk/overlays/proaudio/media-sound/openoctave-midi +svn://svn.tuxfamily.org/svnroot/proaudio/proaudio + + + +2011-03-03T13:00:26.617690Z +1875 +evermind + + + + + + + + + + + + + + +d5c9a09b-2911-0410-9af3-a98ebd2cfc69 + +metadata.xml +file + + + + +2011-01-01T04:26:33.000000Z +fcf75d32e8ac64367f51ffe4ad92bd82 +2009-07-11T12:43:57.949891Z +1491 +marcochapeau + + + + + + + + + + + + + + + + + + + + + +268 + +files +dir + +Manifest +file + + + + +2011-03-03T22:34:05.000000Z +2414cf66a00a623123c64b4b4a531215 +2011-03-03T13:00:26.617690Z +1875 +evermind + + + + + + + + + + + + + + + + + + + + + +579 + +ChangeLog +file + + + + +2011-03-03T22:34:05.000000Z +365ae5e87f14a21843d3cfce2e213981 +2011-03-03T13:00:26.617690Z +1875 +evermind + + + + + + + + + + + + + + + + + + + + + +303 + +openoctave-midi-9999.ebuild +file + + + + +2011-03-03T22:34:05.000000Z +24a7ac485581bbd10dc79c82d5c862b4 +2011-03-03T13:00:26.617690Z +1875 +evermind + + + + + + + + + + + + + + + + + + + + + +1806 + diff --git a/media-sound/openoctave-midi/.svn/text-base/ChangeLog.svn-base b/media-sound/openoctave-midi/.svn/text-base/ChangeLog.svn-base new file mode 100644 index 0000000..63e0941 --- /dev/null +++ b/media-sound/openoctave-midi/.svn/text-base/ChangeLog.svn-base @@ -0,0 +1,10 @@ +# ChangeLog for media-sound/openoctave-midi +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 03 Mar 2011; Frieder Buerzele <evermind@tuxfamily.org> + openoctave-midi-9999.ebuild: + TODO:kde3/qt3 app + + 10 Jul 2009; Florian Faber <faber@faberman.de>; + first version diff --git a/media-sound/openoctave-midi/.svn/text-base/Manifest.svn-base b/media-sound/openoctave-midi/.svn/text-base/Manifest.svn-base new file mode 100644 index 0000000..41dcc25 --- /dev/null +++ b/media-sound/openoctave-midi/.svn/text-base/Manifest.svn-base @@ -0,0 +1,3 @@ +EBUILD openoctave-midi-9999.ebuild 1806 RMD160 9b2f0579c97fa928db659e9850663e3fbfeb08be SHA1 67987ffacceb6d29b817ad9d4ca7472a4ccedd4e SHA256 453cfdde8a71210dd9c949bb9fff55f9640d87d7341fcd556dfd9c11130df886 +MISC ChangeLog 303 RMD160 87c71687a323f1a7ed57f970b47dd349e9545854 SHA1 71f0a31d251fdec5db398d73bfb0712d2f1b4318 SHA256 f706f1f7ba6b5954b81487332f4f5ed84d0b5ff883b398c86e34931c03e99b97 +MISC metadata.xml 268 RMD160 facc07bd885f20615a1f2555069329c642e1a566 SHA1 2456bdb8a218c9d477d2d6ee4bf158de070c7be4 SHA256 96629b266b743f566c29158d4498edeeb1cd6b1f0cd9629e42d4f10b4da82f89 diff --git a/media-sound/openoctave-midi/.svn/text-base/metadata.xml.svn-base b/media-sound/openoctave-midi/.svn/text-base/metadata.xml.svn-base new file mode 100644 index 0000000..34fef46 --- /dev/null +++ b/media-sound/openoctave-midi/.svn/text-base/metadata.xml.svn-base @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>no-herd</herd> + <maintainer> + <email>proaudio@tuxfamily.org</email> + <name>pro-audio overlay team</name> + </maintainer> +</pkgmetadata> diff --git a/media-sound/openoctave-midi/.svn/text-base/openoctave-midi-9999.ebuild.svn-base b/media-sound/openoctave-midi/.svn/text-base/openoctave-midi-9999.ebuild.svn-base new file mode 100644 index 0000000..4db1085 --- /dev/null +++ b/media-sound/openoctave-midi/.svn/text-base/openoctave-midi-9999.ebuild.svn-base @@ -0,0 +1,69 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header:$ + +inherit cmake-utils eutils exteutils git #kde qt3 + +# TODO: this ebuild needs some kde/qt3 eclass work -- will not function + +DESCRIPTION="OpenOctave MIDI sequencer" +HOMEPAGE="http://www.openoctave.org" +SRC_URI="" + +EGIT_REPO_URI="git://68.150.160.199:9418/var/git/openoctave.git" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-*" +IUSE="debug lilypond export kde gnome" + +RDEPEND="lilypond? ( media-sound/lilypond + || ( kde? ( kde-base/kghostview ) gnome? ( app-text/evince ) app-text/ggv ) ) + export? ( || ( kde-base/kdialog kde-base/kdebase ) + dev-perl/XML-Twig + media-libs/libsndfile ) + >=media-libs/ladspa-sdk-1.0 + >=media-libs/ladspa-cmt-1.14 + || ( x11-libs/libX11 virtual/x11 ) + >=media-libs/liblrdf-0.3 + >=sci-libs/fftw-3.0.0 + >=media-libs/liblo-0.7 + x11-libs/libXtst" +DEPEND="${RDEPEND} + >=dev-util/pkgconfig-0.15 + >=dev-util/cmake-2.4.2" + +#need-kde 3.1 +#need-qt 3 + +S="${WORKDIR}/${PN}" + +pkg_setup(){ + if ! use export && \ + ! ( has_all-pkg "media-libs/libsndfile dev-perl/XML-Twig" && \ + has_any-pkg "kde-base/kdialog kde-base/kdebase" ) ;then + ewarn "you won't be able to use the project-package-manager" + ewarn "please remerge with USE=\"export\"" && sleep 3 + fi + + if ! use lilypond && ! ( has_version "media-sound/lilypond" && has_any-pkg "app-text/ggv kde-base/kghostview app-text/evince" ) ;then + ewarn "lilypond preview won't work." + ewarn "If you want this feature please remerge USE=\"lilypond\"" + fi +} + +src_unpack() { + git_src_unpack +} + +src_compile() { + local mycmakeargs=" + $(cmake-utils_use_enable debug DEBUG) + $(cmake-utils_use_enable debug FULLDBG)" + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + cd "${S}" + dodoc AUTHORS README TRANSLATORS +} diff --git a/media-sound/openoctave-midi/ChangeLog b/media-sound/openoctave-midi/ChangeLog new file mode 100644 index 0000000..63e0941 --- /dev/null +++ b/media-sound/openoctave-midi/ChangeLog @@ -0,0 +1,10 @@ +# ChangeLog for media-sound/openoctave-midi +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 03 Mar 2011; Frieder Buerzele <evermind@tuxfamily.org> + openoctave-midi-9999.ebuild: + TODO:kde3/qt3 app + + 10 Jul 2009; Florian Faber <faber@faberman.de>; + first version diff --git a/media-sound/openoctave-midi/Manifest b/media-sound/openoctave-midi/Manifest new file mode 100644 index 0000000..5b72c46 --- /dev/null +++ b/media-sound/openoctave-midi/Manifest @@ -0,0 +1,3 @@ +EBUILD openoctave-midi-9999.ebuild 1792 RMD160 aa62ffbc7b8a5e00a55124dc64203a24f533bbdf SHA1 b5c2c359dc244b665e91b0a8f1e9f01118547d4b SHA256 638afb0aa14afae6defc170e99154d86b26197f54af8ac5da6437c466c207201 +MISC ChangeLog 303 RMD160 87c71687a323f1a7ed57f970b47dd349e9545854 SHA1 71f0a31d251fdec5db398d73bfb0712d2f1b4318 SHA256 f706f1f7ba6b5954b81487332f4f5ed84d0b5ff883b398c86e34931c03e99b97 +MISC metadata.xml 268 RMD160 facc07bd885f20615a1f2555069329c642e1a566 SHA1 2456bdb8a218c9d477d2d6ee4bf158de070c7be4 SHA256 96629b266b743f566c29158d4498edeeb1cd6b1f0cd9629e42d4f10b4da82f89 diff --git a/media-sound/openoctave-midi/files/.svn/entries b/media-sound/openoctave-midi/files/.svn/entries new file mode 100644 index 0000000..8cb44f5 --- /dev/null +++ b/media-sound/openoctave-midi/files/.svn/entries @@ -0,0 +1,28 @@ +10 + +dir +2002 +svn://svn.tuxfamily.org/svnroot/proaudio/proaudio/trunk/overlays/proaudio/media-sound/openoctave-midi/files +svn://svn.tuxfamily.org/svnroot/proaudio/proaudio + + + +2009-07-11T12:43:57.949891Z +1491 +marcochapeau + + + + + + + + + + + + + + +d5c9a09b-2911-0410-9af3-a98ebd2cfc69 + diff --git a/media-sound/openoctave-midi/metadata.xml b/media-sound/openoctave-midi/metadata.xml new file mode 100644 index 0000000..34fef46 --- /dev/null +++ b/media-sound/openoctave-midi/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>no-herd</herd> + <maintainer> + <email>proaudio@tuxfamily.org</email> + <name>pro-audio overlay team</name> + </maintainer> +</pkgmetadata> diff --git a/media-sound/openoctave-midi/openoctave-midi-9999.ebuild b/media-sound/openoctave-midi/openoctave-midi-9999.ebuild new file mode 100644 index 0000000..397ca70 --- /dev/null +++ b/media-sound/openoctave-midi/openoctave-midi-9999.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header:$ + +inherit cmake-utils eutils exteutils git #kde qt3 + +# TODO: this ebuild needs some kde/qt3 eclass work -- will not function + +DESCRIPTION="OpenOctave MIDI sequencer" +HOMEPAGE="http://www.openoctave.org" +SRC_URI="" + +EGIT_REPO_URI="git://github.com/ccherrett/oom.git" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-*" +IUSE="debug lilypond export kde gnome" + +RDEPEND="lilypond? ( media-sound/lilypond + || ( kde? ( kde-base/kghostview ) gnome? ( app-text/evince ) app-text/ggv ) ) + export? ( || ( kde-base/kdialog kde-base/kdebase ) + dev-perl/XML-Twig + media-libs/libsndfile ) + >=media-libs/ladspa-sdk-1.0 + >=media-libs/ladspa-cmt-1.14 + || ( x11-libs/libX11 virtual/x11 ) + >=media-libs/liblrdf-0.3 + >=sci-libs/fftw-3.0.0 + >=media-libs/liblo-0.7 + x11-libs/libXtst" +DEPEND="${RDEPEND} + >=dev-util/pkgconfig-0.15 + >=dev-util/cmake-2.4.2" + +#need-kde 3.1 +#need-qt 3 + +S="${WORKDIR}/${PN}" + +pkg_setup(){ + if ! use export && \ + ! ( has_all-pkg "media-libs/libsndfile dev-perl/XML-Twig" && \ + has_any-pkg "kde-base/kdialog kde-base/kdebase" ) ;then + ewarn "you won't be able to use the project-package-manager" + ewarn "please remerge with USE=\"export\"" && sleep 3 + fi + + if ! use lilypond && ! ( has_version "media-sound/lilypond" && has_any-pkg "app-text/ggv kde-base/kghostview app-text/evince" ) ;then + ewarn "lilypond preview won't work." + ewarn "If you want this feature please remerge USE=\"lilypond\"" + fi +} + +src_unpack() { + git_src_unpack +} + +src_compile() { + local mycmakeargs=" + $(cmake-utils_use_enable debug DEBUG) + $(cmake-utils_use_enable debug FULLDBG)" + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + cd "${S}" + dodoc AUTHORS README TRANSLATORS +} diff --git a/media-tv/linuxtv-dvb-firmware/ChangeLog b/media-tv/linuxtv-dvb-firmware/ChangeLog new file mode 100644 index 0000000..6d2de09 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/ChangeLog @@ -0,0 +1,166 @@ +# ChangeLog for media-tv/linuxtv-dvb-firmware +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/linuxtv-dvb-firmware/ChangeLog,v 1.31 2012/01/23 22:17:55 ssuominen Exp $ + + 23 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> + linuxtv-dvb-firmware-2009.09.19.ebuild: + Missing app-arch/unrar DEPEND for Tevii_linuxdriver_0815.rar wrt #303187 by + Anthony Bailey + + 19 Jan 2011; Joerg Bornkessel <hd_brummy@gentoo.org> Manifest: + fixed dvb-ttpci-01.fw-fc2624 digest + + 24 Jan 2010; Daniel Pielmeier <billie@gentoo.org> Manifest: + Re-create Manifest. + + 12 Nov 2009; Daniel Pielmeier <billie@gentoo.org> + linuxtv-dvb-firmware-2009.09.19.ebuild: + Add TeVii S650 firmware. Thanks to Arne Stäcker in bug #291954. + +*linuxtv-dvb-firmware-2009.09.19 (08 Oct 2009) + + 08 Oct 2009; Pielmeier Daniel <billie@gentoo.org> + -linuxtv-dvb-firmware-2009.07.06.ebuild, + +files/get_dvb_firmware-2009.09.19, + +linuxtv-dvb-firmware-2009.09.19.ebuild: + Version bump. Use updated get-dvb-firmware script to extract the + usb-af9015 firmware from installer instead of downloading the + pre-extracted firmware. Remove old. + + 10 Sep 2009; Pielmeier Daniel <billie@gentoo.org> + -files/get_dvb_firmware-1, -linuxtv-dvb-firmware-1.ebuild, + -files/get_dvb_firmware-2006.11.13, + -linuxtv-dvb-firmware-2006.11.13.ebuild, + -linuxtv-dvb-firmware-2007.04.13.ebuild: + Remove versions with fetch issues. + + 10 Sep 2009; Pielmeier Daniel <billie@gentoo.org> + linuxtv-dvb-firmware-2009.07.06-r1.ebuild: + Fix installation of some firmwares if DVB_CARDS is unset. This fixes bug + #284162. Ebuild cleanup. + + 09 Sep 2009; Pielmeier Daniel <billie@gentoo.org> + linuxtv-dvb-firmware-2009.07.06-r1.ebuild: + Fix installation of dibusb-usb1 firmware. Thanks to Chi-Thanh Christopher + Nguyen in bug #284358. + +*linuxtv-dvb-firmware-2009.07.06-r1 (09 Sep 2009) + + 09 Sep 2009; Pielmeier Daniel <billie@gentoo.org> + +linuxtv-dvb-firmware-2009.07.06-r1.ebuild: + Revision bump. Add back tda10045 firmware thanks to Michael Lothian in bug + #275667 + +*linuxtv-dvb-firmware-2009.07.06 (02 Sep 2009) + + 02 Sep 2009; Pielmeier Daniel <billie@gentoo.org> + +files/get_dvb_firmware-2009.07.06, + +linuxtv-dvb-firmware-2009.07.06.ebuild: + Version bump. Use a more recent get_dvb_firmware script from + git.kernel.org. Add more firmwares. Should fix bugs #181908, #225047, + #225233, #245813, #260737 and #275667. + + 27 Nov 2007; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-1.ebuild, linuxtv-dvb-firmware-2006.11.13.ebuild, + linuxtv-dvb-firmware-2007.04.13.ebuild: + Fixed quoting. + + 18 Oct 2007; Matthias Schwarzott <zzam@gentoo.org> + files/digest-linuxtv-dvb-firmware-2006.11.13, + files/digest-linuxtv-dvb-firmware-2007.04.13, Manifest: + Changed digest of file Technisat_DVB-PC_4_4_COMPACT.zip - the contained + firmware-file is identical. + + 15 Oct 2007; Matthias Schwarzott <zzam@gentoo.org> metadata.xml: + Assign package to media-tv herd only. + + 02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org> + linuxtv-dvb-firmware-1.ebuild, linuxtv-dvb-firmware-2006.11.13.ebuild, + linuxtv-dvb-firmware-2007.04.13.ebuild: + (QA) RESTRICT clean up. + + 25 Jun 2007; Matthias Schwarzott <zzam@gentoo.org> + files/get_dvb_firmware-1, files/get_dvb_firmware-2006.11.13, + linuxtv-dvb-firmware-1.ebuild, linuxtv-dvb-firmware-2006.11.13.ebuild, + linuxtv-dvb-firmware-2007.04.13.ebuild: + Fixed download URL for tt_Premium_217g.zip, use fixed url that upstream + uses, Bug 181908. + +*linuxtv-dvb-firmware-2007.04.13 (06 Jun 2007) + + 06 Jun 2007; Matthias Schwarzott <zzam@gentoo.org> + +linuxtv-dvb-firmware-2007.04.13.ebuild: + Splitted tda1004x flag into tda10045, tda10046 and tda10046lifeview, as + requested in bug #174491. + + 25 Apr 2007; Steve Dibb <beandog@gentoo.org> + linuxtv-dvb-firmware-1.ebuild, linuxtv-dvb-firmware-2006.11.13.ebuild: + amd64 stable + + 02 Apr 2007; Matthias Schwarzott <zzam@gentoo.org> metadata.xml: + Assigned to vdr-project. + + 09 Mar 2007; Christian Faulhammer <opfer@gentoo.org> + linuxtv-dvb-firmware-2006.11.13.ebuild: + stable x86; bug 168779 + + 06 Jan 2007; Joerg Bornkessel <hd_brummy@gentoo.org> + -files/get_dvb_firmware-2006.11.08, + -linuxtv-dvb-firmware-2006.11.08.ebuild: + cleanup old version + + 05 Jan 2007; Joerg Bornkessel <hd_brummy@gentoo.org> + linuxtv-dvb-firmware-2006.11.08.ebuild, + linuxtv-dvb-firmware-2006.11.13.ebuild: + einfo converted to elog + +*linuxtv-dvb-firmware-2006.11.13 (13 Nov 2006) + + 13 Nov 2006; Matthias Schwarzott <zzam@gentoo.org> + +files/get_dvb_firmware-2006.11.13, + +linuxtv-dvb-firmware-2006.11.13.ebuild: + Added firmware for usb-dib0700 device. + + 09 Nov 2006; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-2006.11.08.ebuild: + Make ebuild also depend on unshield when no DVB_CARD is defined and all are + installed. + +*linuxtv-dvb-firmware-2006.11.08 (08 Nov 2006) + + 08 Nov 2006; Matthias Schwarzott <zzam@gentoo.org> + +files/get_dvb_firmware-2006.11.08, + +linuxtv-dvb-firmware-2006.11.08.ebuild: + Simplified logic a bit. Updated firmware-file-names, added new files. + + 26 Oct 2006; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-1.ebuild: + Marked stable on x86. + + 23 Apr 2006; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-1.ebuild: + Do not install not downloadable firmware file, Bug #130748, added missing + dvb-cards to IUSE + + 26 Mar 2006; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-1.ebuild: + Added DVB_CARDS to IUSE for newer portage to display the possible cards + + 03 Dec 2005; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-1.ebuild: + added to ~amd64 + + 03 Dec 2005; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-1.ebuild: + print list of possible cards, renamed some cards for ease of use + + 03 Dec 2005; Matthias Schwarzott <zzam@gentoo.org> + linuxtv-dvb-firmware-1.ebuild: + corrected use of expanded variable DVB_CARDS + +*linuxtv-dvb-firmware-1 (03 Dec 2005) + + 03 Dec 2005; Matthias Schwarzott <zzam@gentoo.org> + +files/get_dvb_firmware-1, +metadata.xml, +linuxtv-dvb-firmware-1.ebuild: + Initial import of firmware-ebuild written by myself + diff --git a/media-tv/linuxtv-dvb-firmware/Manifest b/media-tv/linuxtv-dvb-firmware/Manifest new file mode 100644 index 0000000..0fe7ac5 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/Manifest @@ -0,0 +1,34 @@ +AUX get_dvb_firmware-2009.07.06 17269 RMD160 2df4f810ed933e018c2b91c7612d5e2aa88f317c SHA1 d34119601d22427b89c07c2c4f710b593f68abe5 SHA256 a63b6f3f434b8cac65c8bdfd512296d6fcc1298494539606e7d3fcac4ef666ba +AUX get_dvb_firmware-2009.09.19 5299 RMD160 3cc216540d287b784eaf0aaec0f406297e17bcf3 SHA1 f5e37fbd5d5f6e111b2d9fdfc09bd7be11860e9a SHA256 3254b6c4733a60770791f6d2f9413141e1c27e43cb4b7c16b1c784fe72bfd692 +AUX get_dvb_firmware-2009.09.19-r2 5299 RMD160 3cc216540d287b784eaf0aaec0f406297e17bcf3 SHA1 f5e37fbd5d5f6e111b2d9fdfc09bd7be11860e9a SHA256 3254b6c4733a60770791f6d2f9413141e1c27e43cb4b7c16b1c784fe72bfd692 +DIST 2830SCap2.sys 86912 RMD160 eb27a02d81b165286a5073dfa13ab2ffc06e4a6a SHA1 f477108355f640a01e1d53efb2d053642cac09c2 SHA256 ba96cf8e973c721a7a5a78f99b46065fef6a44169f7c2c75007f51b1432b2538 +DIST 2830SLoad2.sys 15872 RMD160 36d7cc34b84b377770f229b9212052c28f588437 SHA1 1a519f95944528edee141c5cb077b33a71996330 SHA256 899c3ddecd4227d0bf8ac393a297bc3fe9cd5e366d389154044d14a7dcf255b6 +DIST 7%5Cdrv_2.11.02.zip 235227 RMD160 b47dd9508fd5dd57355e138eea93658ab413ac13 SHA1 1796ed41f2c8c1ccd10f61e634c7733ed8be14fa SHA256 a8e994a4af94cc5c4808603d648a19d5056f85338cfa6bfffffb072f2fde36bf +DIST AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip 156028 RMD160 59f0b35f04d0030b39cde9c1a2e04cf060670769 SHA1 42a8f736fc0c1d62c91d9f8f4337d37d07216840 SHA256 7f65564416b12bc34d0d2e49b61a11c557e0f48a49064a8c880423606d43aa3f +DIST TT_PCI_2.19h_28_11_2006.zip 22366044 RMD160 812a8fc2302ac8c03725423dc381ada73f0f32bb SHA1 68cc6966b7b0c40fd0431c0121427253b301031f SHA256 c6305cf0d8d95cf813cc15713e5206ad65ac909a8dd85ad92d77165d62c3ef91 +DIST TwinhanDTV2.608a.zip 22316104 RMD160 d8d80b4451bc8bcef5c90bd4c87ef8c03cf13ead SHA1 1aa9c294f007796961803f056ed9cc01ff02821b SHA256 5e6007e28d2d043c63bb917189f6ddfe8e8a25edd007af0328926a093e2390a6 +DIST Yuan%20MPC718%20TV%20Tuner%20Card%202.13.10.1016.zip 2485056 RMD160 3115b2d68f103daa22d88a87cd91b665d6dec99b SHA1 2f651be072a601e7dcc6b3220e553bb04c0ac009 SHA256 0a3e5272ccbc7fbd3ac006d8677a22a556b39594febb52d2cbab637d153e7381 +DIST af9005.fw 28250 RMD160 ad88928d271b0bf3d172dd44e09db0c83d87c3b1 SHA1 25d75856bbae1afd1cac24c083584db831e00a0b SHA256 5d1eedb40067a622c3ac6ec782f8c2de3af8d11e76603deed738deac7144cd82 +DIST dec217g.exe 16371951 RMD160 34ffa441adba1c34a2fafe067758f12782e54662 SHA1 02ec3582d5e8b9145de4a6e9804132b2cac7cb89 SHA256 fd20902bcc3178a26b5a27fe88adcdfce888daa8d2206b67b13e5f3a3973dc1c +DIST dvb-fe-bcm3510-01.fw 2285 RMD160 894ecf8ddcf0bd7b34caed81053a18233a82f9f0 SHA1 09a2478fdff67ed6a4e77f4dcd05da43841874a9 SHA256 978ece002a3e1f5eb760f6ca48496e05da00b7aa76e0f6f2cb108bde2ea14f51 +DIST dvb-fe-sp887x.fw 23620 RMD160 e83382b4cb2dfa90c216e0a2b0e10cdddf5ce593 SHA1 bd64a6042f4f1884c87f0cfda24ed656f2333bcd SHA256 e0a3b66c7b059c3be93764bea82866121c1f4fa2336f4b6abed1047360e92368 +DIST dvb-fe-tda10045.fw 30555 RMD160 1848ab8f79be8f77b12d58f05127b532290f5968 SHA1 65c7b3711b4bdf1bd7f0a3780334fb2502535db4 SHA256 211d6917a2c1b56838d91bdd5963d0646fac111cdd8c765c2398af49e33b0e46 +DIST dvb-firmwares-1.tar.bz2 182356 RMD160 2e70e8111e0d8889f5cd017dfa1c8d2b635f61a2 SHA1 5431a0f6c95ca14f36531e841f95a2472d2c96b9 SHA256 11772d539e5605e92f51a1edc82382c19808dea2bb9f0b425efad354e0d9bd52 +DIST dvb-ttpci-01.fw-fc2624 242836 RMD160 c3e1e47cc3cffe35ef3caec9df78861ae1cb5e1c SHA1 32b28417f69074e266922b34aa07170c7e9a931d SHA256 044c4974189d90715189af82e648a8a0512cd4ce5bd48d50d6f2b80f1095de40 +DIST dvb-usb-af9015.fw 15913 RMD160 3dd2635d0d8e9fd5001e6c7e636fbc1e6ac533e5 SHA1 6a0edcc65f490d69534d4f071915fc73f5461560 SHA256 a0ae064c3acef212172f13317d627492d0ed3c0a43f3634821b33a00fbf99621 +DIST dvb-usb-bluebird-01.fw 9025 RMD160 878f8f820993dbc1f03de43145a51e49e55e0733 SHA1 5a44455b383e5b8104215481693baa9498841f63 SHA256 1d9d8c5a320a0a76c476e08bd212291144439121d4147dbf8d48822b576306fc +DIST dvb-usb-dib0700-1.20.fw 33768 RMD160 ee241d2a59a9e04d94723b15ac86483b36daf0dd SHA1 415bd83150ebca3ed3ba8c1f74bf0b6a8a225c01 SHA256 74f5ffeb43767e1af6d379d6cc2e0efeaa54455d030bcd71d95f0f2a908c672a +DIST dvb-usb-wt220u-02.fw 8480 RMD160 a291280a67a04bae78c83763150d2d81aef0bd38 SHA1 149c2fe9912707100360829d3302dfcc3e596275 SHA256 ed8cd2ae6b5ad540fd4a14de9ccaa10f662781961f44cfe58b623679a5f508df +DIST dvb-usb-wt220u-fc03.fw 12902 RMD160 33dd26ffe5129ce56a20d28762d7e12e04882082 SHA1 b3e1a394fdc5d4bae921487b3b1fc4bf89594aab SHA256 838044a2f98736fe5b1266598a36eed4b5c9aa845e65c5d1d4054b8b72f808dc +DIST tt_Premium_217g.zip 11348671 RMD160 b7e63f5f96ab1aba1cfad3647a76b81952dcf2af SHA1 13b721bf8f49f0c73c18d0c24456ba95ae491748 SHA256 cfe84a039c20473ba41c2e3da165c668a0e227f197ea0e272abc253c5f9f5a83 +DIST v4l-cx231xx-avcore-01.fw 16382 RMD160 899016dd0024e2c7b0ed4b9b11a3c046a7e9faf1 SHA1 86d5d19ee61e37b3ea33fb644c112b8e3fbb120d SHA256 c2a75fc710f51c778abe7c7e8b54ed5686b17811dd203d1de3070d3df70d70f6 +DIST v4l-cx23418-apu.fw 141200 RMD160 c2db1e77ad543fa45578d59f58a888df776d3013 SHA1 2d67cd2a3dbc9eb2c98db246840788ba5ebcd236 SHA256 770351d86c757f4be635f276386269eeaf0448e7c3fa1791507e77e5556c063a +DIST v4l-cx23418-cpu.fw 158332 RMD160 3408beb757cfc9d75aa040d2fe7d270d83b68ab9 SHA1 b4b37ef07e5e2a9498cfeea1e30e775a53539ef9 SHA256 058eebb8072bbf0628de3774aad0e5eaa83f871334f8120c0e12c9b971be9bce +DIST v4l-cx23418-dig.fw 16382 RMD160 46e934735cbee5007d6f2686c83472440cbe4f63 SHA1 d267885968790d0d5da713840c1dcaabb691dc15 SHA256 a6505aee99fa71768daece0a7ced1ac1f60bf7f8d823707640778fe0a4fd0a81 +DIST v4l-cx23885-avcore-01.fw 16382 RMD160 899016dd0024e2c7b0ed4b9b11a3c046a7e9faf1 SHA1 86d5d19ee61e37b3ea33fb644c112b8e3fbb120d SHA256 c2a75fc710f51c778abe7c7e8b54ed5686b17811dd203d1de3070d3df70d70f6 +DIST v4l-cx23885-enc.fw 16382 RMD160 899016dd0024e2c7b0ed4b9b11a3c046a7e9faf1 SHA1 86d5d19ee61e37b3ea33fb644c112b8e3fbb120d SHA256 c2a75fc710f51c778abe7c7e8b54ed5686b17811dd203d1de3070d3df70d70f6 +DIST v4l-cx25840.fw 16382 RMD160 904d1921a2e12551b35776ee06bffe636e795c6b SHA1 fb298a12c7a267ab3b96d025e4703cc9d642b2dd SHA256 67a06c2dbcdf893c309357c4de181655be55708b6985c99b2e7ba8bebc417212 +EBUILD linuxtv-dvb-firmware-2009.07.06-r1.ebuild 9013 RMD160 6c2b567880bf5eed949dd7aad9a0ada99a189207 SHA1 d19e8b1491577af5f953b2f2e1aa44c48f659ba0 SHA256 228c404412314d05618e1abf4ab2dd7b0d5b437833e536d0e24064ad5b31b332 +EBUILD linuxtv-dvb-firmware-2009.09.19-r2.ebuild 5657 RMD160 92aa0edbb121e4ca576a1d0633fa3627969ab63b SHA1 e3e7d8d6e313036e9d105f0db9d43211c09a3655 SHA256 6f32bcaff824bf335780d896fdb4c66676619e7826994e1606e7a7b361344971 +MISC ChangeLog 6183 RMD160 8a8fff5b4e6d6a166fa224dc24cfb614e00215b9 SHA1 0f54e33b00812a6b2bb79c47d6f2afb6690e16c5 SHA256 4b8a467e9a583490da2107cf2f9e6307c9ace209b7414450b473c88f58cfe7fa +MISC metadata.xml 162 RMD160 8bd24f9f2805b005cef731c0cda868c72e6980af SHA1 7464d1657179a3f30c5ea2ad401590e4489ac945 SHA256 aaad144c69dd58781e1dc97b5fbad08a5b4db504bd3cbbb4ab27018a307d5d81 diff --git a/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.07.06 b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.07.06 new file mode 100644 index 0000000..73b7745 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.07.06 @@ -0,0 +1,638 @@ +#!/usr/bin/perl +# DVB firmware extractor +# +# (c) 2004 Andrew de Quincey +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +use File::Temp qw/ tempdir /; +use IO::Handle; + +@components = ( "sp8870", "sp887x", "tda10045", "tda10046", + "tda10046lifeview", "av7110", "dec2000t", "dec2540t", + "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", + "or51211", "or51132_qam", "or51132_vsb", "bluebird", + "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718" ); + +# Check args +syntax() if (scalar(@ARGV) != 1); +$cid = $ARGV[0]; + +# Do it! +for ($i=0; $i < scalar(@components); $i++) { + if ($cid eq $components[$i]) { + $outfile = eval($cid); + die $@ if $@; + print STDERR <<EOF; +Firmware(s) $outfile extracted successfully. +Now copy it(they) to either /usr/lib/hotplug/firmware or /lib/firmware +(depending on configuration of firmware hotplug). +EOF + exit(0); + } +} + +# If we get here, it wasn't found +print STDERR "Unknown component \"$cid\"\n"; +syntax(); + + + + +# --------------------------------------------------------------- +# Firmware-specific extraction subroutines + +sub sp8870 { + my $sourcefile = "tt_Premium_217g.zip"; + my $url = "http://2.download.softwarepatch.pl/1619edb0dcb493dd5337b94a1f79c3f6/$sourcefile"; + my $hash = "53970ec17a538945a6d8cb608a7b3899"; + my $outfile = "dvb-fe-sp8870.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/HE/App/boot/SC_MAIN.MC", $hash); + copy("$tmpdir/software/OEM/HE/App/boot/SC_MAIN.MC", $outfile); + + $outfile; +} + +sub sp887x { + my $sourcefile = "Dvbt1.3.57.6.zip"; + my $url = "http://www.avermedia.com/software/$sourcefile"; + my $cabfile = "DVBT Net Ver1.3.57.6/disk1/data1.cab"; + my $hash = "237938d53a7f834c05c42b894ca68ac3"; + my $outfile = "dvb-fe-sp887x.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + checkunshield(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + unshield("$tmpdir/$cabfile", $tmpdir); + verify("$tmpdir/ZEnglish/sc_main.mc", $hash); + copy("$tmpdir/ZEnglish/sc_main.mc", $outfile); + + $outfile; +} + +sub tda10045 { + my $sourcefile = "tt_budget_217g.zip"; + my $url = "http://www.technotrend.de/new/217g/$sourcefile"; + my $hash = "2105fd5bf37842fbcdfa4bfd58f3594a"; + my $outfile = "dvb-fe-tda10045.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x37ef9, 30555, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + +sub tda10046 { + my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip"; + my $url = "http://www.tt-download.com/download/updates/219/$sourcefile"; + my $hash = "6a7e1e2f2644b162ff0502367553c72d"; + my $outfile = "dvb-fe-tda10046.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll", 0x65389, 24478, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + +sub tda10046lifeview { + my $sourcefile = "7%5Cdrv_2.11.02.zip"; + my $url = "http://www.lifeview.hk/dbimages/document/$sourcefile"; + my $hash = "1ea24dee4eea8fe971686981f34fd2e0"; + my $outfile = "dvb-fe-tda10046.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/LVHybrid.sys", 0x8b088, 24602, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + +sub av7110 { + my $sourcefile = "dvb-ttpci-01.fw-261d"; + my $url = "http://www.linuxtv.org/downloads/firmware/$sourcefile"; + my $hash = "603431b6259715a8e88f376a53b64e2f"; + my $outfile = "dvb-ttpci-01.fw"; + + checkstandard(); + + wgetfile($sourcefile, $url); + verify($sourcefile, $hash); + copy($sourcefile, $outfile); + + $outfile; +} + +sub dec2000t { + my $sourcefile = "dec217g.exe"; + my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; + my $hash = "bd86f458cee4a8f0a8ce2d20c66215a9"; + my $outfile = "dvb-ttusb-dec-2000t.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_T.bin", $hash); + copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_T.bin", $outfile); + + $outfile; +} + +sub dec2540t { + my $sourcefile = "dec217g.exe"; + my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; + my $hash = "53e58f4f5b5c2930beee74a7681fed92"; + my $outfile = "dvb-ttusb-dec-2540t.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_X.bin", $hash); + copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_X.bin", $outfile); + + $outfile; +} + +sub dec3000s { + my $sourcefile = "dec217g.exe"; + my $url = "http://hauppauge.lightpath.net/de/$sourcefile"; + my $hash = "b013ececea83f4d6d8d2a29ac7c1b448"; + my $outfile = "dvb-ttusb-dec-3000s.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/software/OEM/STB/App/Boot/STB_PC_S.bin", $hash); + copy("$tmpdir/software/OEM/STB/App/Boot/STB_PC_S.bin", $outfile); + + $outfile; +} +sub opera1{ + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0); + + checkstandard(); + my $fwfile1="dvb-usb-opera1-fpga-01.fw"; + my $fwfile2="dvb-usb-opera-01.fw"; + extract("2830SCap2.sys", 0x62e8, 55024, "$tmpdir/opera1-fpga.fw"); + extract("2830SLoad2.sys",0x3178,0x3685-0x3178,"$tmpdir/fw1part1"); + extract("2830SLoad2.sys",0x0980,0x3150-0x0980,"$tmpdir/fw1part2"); + delzero("$tmpdir/fw1part1","$tmpdir/fw1part1-1"); + delzero("$tmpdir/fw1part2","$tmpdir/fw1part2-1"); + verify("$tmpdir/fw1part1-1","5e0909858fdf0b5b09ad48b9fe622e70"); + verify("$tmpdir/fw1part2-1","d6e146f321427e931df2c6fcadac37a1"); + verify("$tmpdir/opera1-fpga.fw","0f8133f5e9051f5f3c1928f7e5a1b07d"); + + my $RES1="\x01\x92\x7f\x00\x01\x00"; + my $RES0="\x01\x92\x7f\x00\x00\x00"; + my $DAT1="\x01\x00\xe6\x00\x01\x00"; + my $DAT0="\x01\x00\xe6\x00\x00\x00"; + open FW,">$tmpdir/opera.fw"; + print FW "$RES1"; + print FW "$DAT1"; + print FW "$RES1"; + print FW "$DAT1"; + appendfile(FW,"$tmpdir/fw1part1-1"); + print FW "$RES0"; + print FW "$DAT0"; + print FW "$RES1"; + print FW "$DAT1"; + appendfile(FW,"$tmpdir/fw1part2-1"); + print FW "$RES1"; + print FW "$DAT1"; + print FW "$RES0"; + print FW "$DAT0"; + copy ("$tmpdir/opera1-fpga.fw",$fwfile1); + copy ("$tmpdir/opera.fw",$fwfile2); + + $fwfile1.",".$fwfile2; +} +sub vp7041 { + my $sourcefile = "TwinhanDTV2.608a.zip"; + my $url = "http://www.twinhan.com/files/AW/Software/$sourcefile"; + my $hash = "e88c9372d1f66609a3e7b072c53fbcfe"; + my $outfile = "dvb-vp7041-2.422.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/TwinhanDTV2.608a/Drivers/7041/WinXP/UDTTload.sys", 12503, 3036, "$tmpdir/fwtmp1"); + extract("$tmpdir/TwinhanDTV2.608a/Drivers/7041/WinXP/UDTTload.sys", 2207, 10274, "$tmpdir/fwtmp2"); + + my $CMD = "\000\001\000\222\177\000"; + my $PAD = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"; + my ($FW); + open $FW, ">$tmpdir/fwtmp3"; + print $FW "$CMD\001$PAD"; + print $FW "$CMD\001$PAD"; + appendfile($FW, "$tmpdir/fwtmp1"); + print $FW "$CMD\000$PAD"; + print $FW "$CMD\001$PAD"; + appendfile($FW, "$tmpdir/fwtmp2"); + print $FW "$CMD\001$PAD"; + print $FW "$CMD\000$PAD"; + close($FW); + + verify("$tmpdir/fwtmp3", $hash); + copy("$tmpdir/fwtmp3", $outfile); + + $outfile; +} + +sub dibusb { + my $url = "http://www.linuxtv.org/downloads/firmware/dvb-usb-dibusb-5.0.0.11.fw"; + my $outfile = "dvb-dibusb-5.0.0.11.fw"; + my $hash = "fa490295a527360ca16dcdf3224ca243"; + + checkstandard(); + + wgetfile($outfile, $url); + verify($outfile,$hash); + + $outfile; +} + +sub nxt2002 { + my $sourcefile = "Technisat_DVB-PC_4_4_COMPACT.zip"; + my $url = "http://www.bbti.us/download/windows/$sourcefile"; + my $hash = "476befae8c7c1bb9648954060b1eec1f"; + my $outfile = "dvb-fe-nxt2002.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/SkyNET.sys", $hash); + extract("$tmpdir/SkyNET.sys", 331624, 5908, $outfile); + + $outfile; +} + +sub nxt2004 { + my $sourcefile = "AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip"; + my $url = "http://www.avermedia-usa.com/support/Drivers/$sourcefile"; + my $hash = "111cb885b1e009188346d72acfed024c"; + my $outfile = "dvb-fe-nxt2004.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + verify("$tmpdir/3xHybrid.sys", $hash); + extract("$tmpdir/3xHybrid.sys", 465304, 9584, $outfile); + + $outfile; +} + +sub or51211 { + my $fwfile = "dvb-fe-or51211.fw"; + my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; + my $hash = "d830949c771a289505bf9eafc225d491"; + + checkstandard(); + + wgetfile($fwfile, $url); + verify($fwfile, $hash); + + $fwfile; +} + +sub cx231xx { + my $fwfile = "v4l-cx231xx-avcore-01.fw"; + my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; + my $hash = "7d3bb956dc9df0eafded2b56ba57cc42"; + + checkstandard(); + + wgetfile($fwfile, $url); + verify($fwfile, $hash); + + $fwfile; +} + +sub cx18 { + my $url = "http://linuxtv.org/downloads/firmware/"; + + my %files = ( + 'v4l-cx23418-apu.fw' => '588f081b562f5c653a3db1ad8f65939a', + 'v4l-cx23418-cpu.fw' => 'b6c7ed64bc44b1a6e0840adaeac39d79', + 'v4l-cx23418-dig.fw' => '95bc688d3e7599fd5800161e9971cc55', + ); + + checkstandard(); + + my $allfiles; + foreach my $fwfile (keys %files) { + wgetfile($fwfile, "$url/$fwfile"); + verify($fwfile, $files{$fwfile}); + $allfiles .= " $fwfile"; + } + + $allfiles =~ s/^\s//; + + $allfiles; +} + +sub mpc718 { + my $archive = 'Yuan MPC718 TV Tuner Card 2.13.10.1016.zip'; + my $url = "ftp://ftp.work.acer-euro.com/desktop/aspire_idea510/vista/Drivers/$archive"; + my $fwfile = "dvb-cx18-mpc718-mt352.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + wgetfile($archive, $url); + unzip($archive, $tmpdir); + + my $sourcefile = "$tmpdir/Yuan MPC718 TV Tuner Card 2.13.10.1016/mpc718_32bit/yuanrap.sys"; + my $found = 0; + + open IN, '<', $sourcefile or die "Couldn't open $sourcefile to extract $fwfile data\n"; + binmode IN; + open OUT, '>', $fwfile; + binmode OUT; + { + # Block scope because we change the line terminator variable $/ + my $prevlen = 0; + my $currlen; + + # Buried in the data segment are 3 runs of almost identical + # register-value pairs that end in 0x5d 0x01 which is a "TUNER GO" + # command for the MT352. + # Pull out the middle run (because it's easy) of register-value + # pairs to make the "firmware" file. + + local $/ = "\x5d\x01"; # MT352 "TUNER GO" + + while (<IN>) { + $currlen = length($_); + if ($prevlen == $currlen && $currlen <= 64) { + chop; chop; # Get rid of "TUNER GO" + s/^\0\0//; # get rid of leading 00 00 if it's there + printf OUT "$_"; + $found = 1; + last; + } + $prevlen = $currlen; + } + } + close OUT; + close IN; + if (!$found) { + unlink $fwfile; + die "Couldn't find valid register-value sequence in $sourcefile for $fwfile\n"; + } + $fwfile; +} + +sub cx23885 { + my $url = "http://linuxtv.org/downloads/firmware/"; + + my %files = ( + 'v4l-cx23885-avcore-01.fw' => 'a9f8f5d901a7fb42f552e1ee6384f3bb', + 'v4l-cx23885-enc.fw' => 'a9f8f5d901a7fb42f552e1ee6384f3bb', + ); + + checkstandard(); + + my $allfiles; + foreach my $fwfile (keys %files) { + wgetfile($fwfile, "$url/$fwfile"); + verify($fwfile, $files{$fwfile}); + $allfiles .= " $fwfile"; + } + + $allfiles =~ s/^\s//; + + $allfiles; +} + +sub pvrusb2 { + my $url = "http://linuxtv.org/downloads/firmware/"; + + my %files = ( + 'v4l-cx25840.fw' => 'dadb79e9904fc8af96e8111d9cb59320', + ); + + checkstandard(); + + my $allfiles; + foreach my $fwfile (keys %files) { + wgetfile($fwfile, "$url/$fwfile"); + verify($fwfile, $files{$fwfile}); + $allfiles .= " $fwfile"; + } + + $allfiles =~ s/^\s//; + + $allfiles; +} + +sub or51132_qam { + my $fwfile = "dvb-fe-or51132-qam.fw"; + my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; + my $hash = "7702e8938612de46ccadfe9b413cb3b5"; + + checkstandard(); + + wgetfile($fwfile, $url); + verify($fwfile, $hash); + + $fwfile; +} + +sub or51132_vsb { + my $fwfile = "dvb-fe-or51132-vsb.fw"; + my $url = "http://linuxtv.org/downloads/firmware/$fwfile"; + my $hash = "c16208e02f36fc439a557ad4c613364a"; + + checkstandard(); + + wgetfile($fwfile, $url); + verify($fwfile, $hash); + + $fwfile; +} + +sub bluebird { + my $url = "http://www.linuxtv.org/download/dvb/firmware/dvb-usb-bluebird-01.fw"; + my $outfile = "dvb-usb-bluebird-01.fw"; + my $hash = "658397cb9eba9101af9031302671f49d"; + + checkstandard(); + + wgetfile($outfile, $url); + verify($outfile,$hash); + + $outfile; +} + +# --------------------------------------------------------------- +# Utilities + +sub checkstandard { + if (system("which unzip > /dev/null 2>&1")) { + die "This firmware requires the unzip command - see ftp://ftp.info-zip.org/pub/infozip/UnZip.html\n"; + } + if (system("which md5sum > /dev/null 2>&1")) { + die "This firmware requires the md5sum command - see http://www.gnu.org/software/coreutils/\n"; + } + if (system("which wget > /dev/null 2>&1")) { + die "This firmware requires the wget command - see http://wget.sunsite.dk/\n"; + } +} + +sub checkunshield { + if (system("which unshield > /dev/null 2>&1")) { + die "This firmware requires the unshield command - see http://sourceforge.net/projects/synce/\n"; + } +} + +sub wgetfile { + my ($sourcefile, $url) = @_; + + if (! -f $sourcefile) { + system("wget -O \"$sourcefile\" \"$url\"") and die "wget failed - unable to download firmware"; + } +} + +sub unzip { + my ($sourcefile, $todir) = @_; + + $status = system("unzip -q -o -d \"$todir\" \"$sourcefile\" 2>/dev/null" ); + if ((($status >> 8) > 2) || (($status & 0xff) != 0)) { + die ("unzip failed - unable to extract firmware"); + } +} + +sub unshield { + my ($sourcefile, $todir) = @_; + + system("unshield x -d \"$todir\" \"$sourcefile\" > /dev/null" ) and die ("unshield failed - unable to extract firmware"); +} + +sub verify { + my ($filename, $hash) = @_; + my ($testhash); + + open(CMD, "md5sum \"$filename\"|"); + $testhash = <CMD>; + $testhash =~ /([a-zA-Z0-9]*)/; + $testhash = $1; + close CMD; + die "Hash of extracted file does not match!\n" if ($testhash ne $hash); +} + +sub copy { + my ($from, $to) = @_; + + system("cp -f \"$from\" \"$to\"") and die ("cp failed"); +} + +sub extract { + my ($infile, $offset, $length, $outfile) = @_; + my ($chunklength, $buf, $rcount); + + open INFILE, "<$infile"; + open OUTFILE, ">$outfile"; + sysseek(INFILE, $offset, SEEK_SET); + while($length > 0) { + # Calc chunk size + $chunklength = 2048; + $chunklength = $length if ($chunklength > $length); + + $rcount = sysread(INFILE, $buf, $chunklength); + die "Ran out of data\n" if ($rcount != $chunklength); + syswrite(OUTFILE, $buf); + $length -= $rcount; + } + close INFILE; + close OUTFILE; +} + +sub appendfile { + my ($FH, $infile) = @_; + my ($buf); + + open INFILE, "<$infile"; + while(1) { + $rcount = sysread(INFILE, $buf, 2048); + last if ($rcount == 0); + print $FH $buf; + } + close(INFILE); +} + +sub delzero{ + my ($infile,$outfile) =@_; + + open INFILE,"<$infile"; + open OUTFILE,">$outfile"; + while (1){ + $rcount=sysread(INFILE,$buf,22); + $len=ord(substr($buf,0,1)); + print OUTFILE substr($buf,0,1); + print OUTFILE substr($buf,2,$len+3); + last if ($rcount<1); + printf OUTFILE "%c",0; +#print $len." ".length($buf)."\n"; + + } + close(INFILE); + close(OUTFILE); +} + +sub syntax() { + print STDERR "syntax: get_dvb_firmware <component>\n"; + print STDERR "Supported components:\n"; + for($i=0; $i < scalar(@components); $i++) { + print STDERR "\t" . $components[$i] . "\n"; + } + exit(1); +} diff --git a/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.09.19 b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.09.19 new file mode 120000 index 0000000..31cbf87 --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.09.19 @@ -0,0 +1 @@ +get_dvb_firmware-2009.09.19-r2
\ No newline at end of file diff --git a/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.09.19-r2 b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.09.19-r2 new file mode 100644 index 0000000..2bec05b --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/files/get_dvb_firmware-2009.09.19-r2 @@ -0,0 +1,198 @@ +#!/usr/bin/perl +# DVB firmware extractor +# +# (c) 2004 Andrew de Quincey +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +use File::Temp qw/ tempdir /; +use IO::Handle; + +@components = ( "sp8870", "sp887x", "tda10045", "tda10046", + "tda10046lifeview", "av7110", "dec2000t", "dec2540t", + "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", + "or51211", "or51132_qam", "or51132_vsb", "bluebird", + "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", + "af9015"); + +# Check args +syntax() if (scalar(@ARGV) != 1); +$cid = $ARGV[0]; + +# Do it! +for ($i=0; $i < scalar(@components); $i++) { + if ($cid eq $components[$i]) { + $outfile = eval($cid); + die $@ if $@; + print STDERR <<EOF; +Firmware(s) $outfile extracted successfully. +Now copy it(they) to either /usr/lib/hotplug/firmware or /lib/firmware +(depending on configuration of firmware hotplug). +EOF + exit(0); + } +} + +# If we get here, it wasn't found +print STDERR "Unknown component \"$cid\"\n"; +syntax(); + + +sub tda10046 { + my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip"; + my $url = "http://studio/$sourcefile"; + my $hash = "6a7e1e2f2644b162ff0502367553c72d"; + my $outfile = "dvb-fe-tda10046.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + + checkstandard(); + + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + + + extract("$tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll", 0x65389, 24478, "$tmpdir/fwtmp"); + #verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); + + $outfile; +} + + +# --------------------------------------------------------------- +# Utilities + +sub checkstandard { + if (system("which unzip > /dev/null 2>&1")) { + die "This firmware requires the unzip command - see ftp://ftp.info-zip.org/pub/infozip/UnZip.html\n"; + } + if (system("which md5sum > /dev/null 2>&1")) { + die "This firmware requires the md5sum command - see http://www.gnu.org/software/coreutils/\n"; + } + if (system("which wget > /dev/null 2>&1")) { + die "This firmware requires the wget command - see http://wget.sunsite.dk/\n"; + } +} + +sub checkunshield { + if (system("which unshield > /dev/null 2>&1")) { + die "This firmware requires the unshield command - see http://sourceforge.net/projects/synce/\n"; + } +} + +sub wgetfile { + my ($sourcefile, $url) = @_; + + if (! -f $sourcefile) { + system("wget -O \"$sourcefile\" \"$url\"") and die "wget failed - unable to download firmware"; + } +} + +sub unzip { + my ($sourcefile, $todir) = @_; + + $status = system("unzip -q -o -d \"$todir\" \"$sourcefile\" 2>/dev/null" ); + if ((($status >> 8) > 2) || (($status & 0xff) != 0)) { + die ("unzip failed - unable to extract firmware"); + } +} + +sub unshield { + my ($sourcefile, $todir) = @_; + + system("unshield x -d \"$todir\" \"$sourcefile\" > /dev/null" ) and die ("unshield failed - unable to extract firmware"); +} + +sub verify { + my ($filename, $hash) = @_; + my ($testhash); + + open(CMD, "md5sum \"$filename\"|"); + $testhash = <CMD>; + $testhash =~ /([a-zA-Z0-9]*)/; + $testhash = $1; + close CMD; + die "Hash of extracted file does not match!\n" if ($testhash ne $hash); +} + +sub copy { + my ($from, $to) = @_; + + system("cp -f \"$from\" \"$to\"") and die ("cp failed"); +} + +sub extract { + my ($infile, $offset, $length, $outfile) = @_; + my ($chunklength, $buf, $rcount); + + open INFILE, "<$infile"; + open OUTFILE, ">$outfile"; + sysseek(INFILE, $offset, SEEK_SET); + + while($length > 0) { + # Calc chunk size + $chunklength = 2048; + $chunklength = $length if ($chunklength > $length); + + $rcount = sysread(INFILE, $buf, $chunklength); + die "Ran out of data\n" if ($rcount != $chunklength); + syswrite(OUTFILE, $buf); + $length -= $rcount; + } + close INFILE; + close OUTFILE; +} + +sub appendfile { + my ($FH, $infile) = @_; + my ($buf); + + open INFILE, "<$infile"; + while(1) { + $rcount = sysread(INFILE, $buf, 2048); + last if ($rcount == 0); + print $FH $buf; + } + close(INFILE); +} + +sub delzero{ + my ($infile,$outfile) =@_; + + open INFILE,"<$infile"; + open OUTFILE,">$outfile"; + while (1){ + $rcount=sysread(INFILE,$buf,22); + $len=ord(substr($buf,0,1)); + print OUTFILE substr($buf,0,1); + print OUTFILE substr($buf,2,$len+3); + last if ($rcount<1); + printf OUTFILE "%c",0; +#print $len." ".length($buf)."\n"; + + } + close(INFILE); + close(OUTFILE); +} + +sub syntax() { + print STDERR "syntax: get_dvb_firmware <component>\n"; + print STDERR "Supported components:\n"; + for($i=0; $i < scalar(@components); $i++) { + print STDERR "\t" . $components[$i] . "\n"; + } + exit(1); +} diff --git a/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.07.06-r1.ebuild b/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.07.06-r1.ebuild new file mode 100644 index 0000000..b62d30e --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.07.06-r1.ebuild @@ -0,0 +1,344 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.07.06-r1.ebuild,v 1.3 2009/09/10 17:56:50 billie Exp $ + +DESCRIPTION="Firmware files needed for operation of some dvb-devices" +HOMEPAGE="http://www.linuxtv.org" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +RESTRICT="mirror" + +S="${WORKDIR}" + +# Files which can be fetched from linuxtv.org +PACKET_NAME=dvb-firmwares-1.tar.bz2 +PACKET_SRC_URI="http://www.linuxtv.org/downloads/firmware/${PACKET_NAME}" +get_dvb_firmware="${FILESDIR}/get_dvb_firmware-${PV}" +# from http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6-stable.git;a=history;f=Documentation/dvb/get_dvb_firmware + +FW_USE_FLAGS=( +# packet + "usb-a800" + "dibusb-usb2" + "usb-dtt200u" + "usb-umt" + "usb-vp702x" + "usb-vp7045" + "usb-wt220u" + "dibusb-usb1" + "or51211" + "or51132" + "or51132" +# own URL + "ttpci" + "bcm3510" + "usb-wt220u" + "usb-wt220u" + "usb-dib0700" + "usb-af9015" + "sp887x" + "af9005" + "cx231xx" + "cx18" + "cx18" + "cx18" + "cx23885" + "cx23885" + "pvrusb2" + "usb-bluebird" + "tda10045" +# get_dvb_firmware + "sp8870" + "tda10046" + "tda10046lifeview" + "ttusb-dec" + "ttusb-dec" + "ttusb-dec" + "opera1" + "opera1" + "vp7041" + "nxt200x" + "mpc718" +) + +FW_FILES=( +# packet + "dvb-usb-avertv-a800-02.fw" + "dvb-usb-dibusb-6.0.0.8.fw" + "dvb-usb-dtt200u-01.fw" + "dvb-usb-umt-010-02.fw" + "dvb-usb-vp702x-01.fw" + "dvb-usb-vp7045-01.fw" + "dvb-usb-wt220u-01.fw" + "dvb-usb-dibusb-5.0.0.11.fw" + "dvb-fe-or51211.fw" + "dvb-fe-or51132-qam.fw" + "dvb-fe-or51132-vsb.fw" +# own URL + "dvb-ttpci-01.fw" + "dvb-fe-bcm3510-01.fw" + "dvb-usb-wt220u-02.fw" + "dvb-usb-wt220u-fc03.fw" + "dvb-usb-dib0700-1.20.fw" + "dvb-usb-af9015.fw" + "dvb-fe-sp887x.fw" + "af9005.fw" + "v4l-cx231xx-avcore-01.fw" + "v4l-cx23418-apu.fw" + "v4l-cx23418-cpu.fw" + "v4l-cx23418-dig.fw" + "v4l-cx23885-avcore-01.fw" + "v4l-cx23885-enc.fw" + "v4l-cx25840.fw" + "dvb-usb-bluebird-01.fw" + "dvb-fe-tda10045.fw" +# get_dvb_firmware + "dvb-fe-sp8870.fw" + "dvb-fe-tda10046.fw" + "dvb-fe-tda10046.fw" + "dvb-ttusb-dec-2000t.fw" + "dvb-ttusb-dec-2540t.fw" + "dvb-ttusb-dec-3000s.fw" + "dvb-usb-opera1-fpga-01.fw" + "dvb-usb-opera-01.fw" + "dvb-vp7041-2.422.fw" + "dvb-fe-nxt2004.fw" + "dvb-cx18-mpc718-mt352.fw" +) + +FW_GET_PARAMETER=( +# packet + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" +# own URL + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" + "-" +# get_dvb_firmware + "sp8870" + "tda10046" + "tda10046lifeview" + "dec2000t" + "dec2540t" + "dec3000s" + "opera1" + "-" + "vp7041" + "nxt2004" + "mpc718" +) + +FW_URLS=( +# packet + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" + "${PACKET_SRC_URI}" +# own URL + "http://www.escape-edv.de/endriss/firmware/dvb-ttpci-01.fw-fc2624" + "http://www.linuxtv.org/downloads/firmware/dvb-fe-bcm3510-01.fw" + "http://www.linuxtv.org/downloads/firmware/dvb-usb-wt220u-02.fw" + "http://home.arcor.de/efocht/dvb-usb-wt220u-fc03.fw" + "http://www.wi-bw.tfh-wildau.de/~pboettch/home/files/dvb-usb-dib0700-1.20.fw" + "http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/4.95.0/dvb-usb-af9015.fw" + "http://peterdamen.com/dvb-fe-sp887x.fw" + "http://ventoso.org/luca/af9005/af9005.fw" + "http://linuxtv.org/downloads/firmware/v4l-cx231xx-avcore-01.fw" + "http://linuxtv.org/downloads/firmware/v4l-cx23418-apu.fw" + "http://linuxtv.org/downloads/firmware/v4l-cx23418-cpu.fw" + "http://linuxtv.org/downloads/firmware/v4l-cx23418-dig.fw" + "http://linuxtv.org/downloads/firmware/v4l-cx23885-avcore-01.fw" + "http://linuxtv.org/downloads/firmware/v4l-cx23885-enc.fw" + "http://linuxtv.org/downloads/firmware/v4l-cx25840.fw" + "http://linuxtv.org/downloads/firmware/dvb-usb-bluebird-01.fw" + "http://www.fireburn.co.uk/dvb-fe-tda10045.fw" +# get_dvb_firmware + "http://2.download.softwarepatch.pl/1619edb0dcb493dd5337b94a1f79c3f6/tt_Premium_217g.zip" + "http://www.tt-download.com/download/updates/219/TT_PCI_2.19h_28_11_2006.zip" + "http://www.lifeview.hk/dbimages/document/7%5Cdrv_2.11.02.zip" + "http://hauppauge.lightpath.net/de/dec217g.exe" + "http://hauppauge.lightpath.net/de/dec217g.exe" + "http://hauppauge.lightpath.net/de/dec217g.exe" + "http://www.informatik.uni-leipzig.de/~hlawit/dvb/2830SCap2.sys" + "http://www.informatik.uni-leipzig.de/~hlawit/dvb/2830SLoad2.sys" + "http://www.twinhan.com/files/AW/Software/TwinhanDTV2.608a.zip" + "http://www.avermedia-usa.com/support/Drivers/AVerTVHD_MCE_A180_Drv_v1.2.2.16.zip" + "ftp://ftp.work.acer-euro.com/desktop/aspire_idea510/vista/Drivers/Yuan%20MPC718%20TV%20Tuner%20Card%202.13.10.1016.zip" +) + +SRC_URI="" +NEGATIVE_USE_FLAGS="" +NEGATIVE_END_BRACKETS="" +ALL_URLS="" + +for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + URL="${FW_URLS[CARD]}" + + if [[ -z ${URL} ]]; then + echo "missing url for ${FW_USE_FLAGS[CARD]}" + continue + fi + SRC_URI="${SRC_URI} dvb_cards_${FW_USE_FLAGS[CARD]}? ( ${URL} )" + + IUSE="${IUSE} dvb_cards_${FW_USE_FLAGS[CARD]}" + NEGATIVE_USE_FLAGS="${NEGATIVE_USE_FLAGS} !dvb_cards_${FW_USE_FLAGS[CARD]}? ( " + NEGATIVE_END_BRACKETS="${NEGATIVE_END_BRACKETS} )" + ALL_URLS="${ALL_URLS} ${URL}" + + GET_PARAM="${FW_GET_PARAMETER[CARD]}" + if [[ ${GET_PARAM} != "-" ]]; then + # all firmwares extracted by get_dvb_firmware need unzip + DEPEND="${DEPEND} dvb_cards_${FW_USE_FLAGS[CARD]}? ( app-arch/unzip )" + fi +done + +SRC_URI="${SRC_URI} ${NEGATIVE_USE_FLAGS} ${ALL_URLS} ${NEGATIVE_END_BRACKETS}" + +DEPEND="${DEPEND} + ${NEGATIVE_USE_FLAGS} + app-arch/unzip + ${NEGATIVE_END_BRACKETS}" + +install_dvb_card() { + if [[ -z ${DVB_CARDS} ]]; then + # install (almost) all firmware files + # do not install this one due to conflicting filenames + [[ "${1}" != "tda10046lifeview" ]] + else + # Check if this flag is set + use dvb_cards_${1} + fi +} + +pkg_setup() { + #echo SRC_URI=${SRC_URI} + #echo DEPEND=${DEPEND} + if has tda1004x ${DVB_CARDS}; then + eerror + eerror "DVB_CARDS flag tda1004x has been split into" + eerror "tda10045, tda10046 and tda10046lifeview". + eerror + eerror "But beware that you cannot enable tda10046 and" + eerror "tda10046lifeview at the same time." + fi + + if [[ -z ${DVB_CARDS} ]]; then + elog + elog "DVB_CARDS is not set, installing all available firmware files." + elog "To save bandwidth please consider setting the DVB_CARDS variable" + elog "in ${ROOT%/}/etc/make.conf. This way only the firmwares you own" + elog "the hardware will be installed." + fi + # according to http://devmanual.gentoo.org/general-concepts/use-flags/index.html + # we should not die here. However, there is no sensible fallback choice to make + # because the user may have either the one or the other. WYGIWYG + if use dvb_cards_tda10046 && use dvb_cards_tda10046lifeview; then + eerror + eerror "You cannot have both tda10046 and tda10046lifeview in DVB_CARDS" + eerror "because of colliding firmware filenames (dvb-fe-tda10046.fw)." + eerror "Sorry." + die "Conflicting values for DVB_CARDS set." + fi + elog + elog "List of possible card-names to use for DVB_CARDS:" + echo ${FW_USE_FLAGS[*]}| tr ' ' '\n' | sort | uniq | fmt \ + | while read line; do + elog " ${line}" + done + elog + elog "If you need another firmware file and want it included create a bug" + elog "at bugs.gentoo.org." + elog "In case some firmware sources are not fetchable please try again at" + elog "a later time and if it still does not fetch report a bug. If there" + elog "is no alternative source or an update to the firmware available we" + elog "have to remove it from the ebuild and you are on your own." +} + +src_unpack() { + local distfile + + # link all downloaded files to ${S} + for distfile in ${A}; do + [[ -L ${distfile} ]] || ln -s ${DISTDIR}/${distfile} ${distfile} + done + + # unpack firmware-packet + if has ${PACKET_NAME} ${A}; then + unpack ${PACKET_NAME} + fi + + if [[ -z ${DVB_CARDS} ]] || use dvb_cards_mpc718 ; then + mv Yuan%20MPC718%20TV%20Tuner%20Card%202.13.10.1016.zip "Yuan MPC718 TV Tuner Card 2.13.10.1016.zip" + fi + if [[ -z ${DVB_CARDS} ]] || use dvb_cards_ttpci ; then + mv dvb-ttpci-01.fw-fc2624 dvb-ttpci-01.fw + fi + + local script_v=${PV} + + # Adjust temp-dir of get_dvb_firmware + sed "${FILESDIR}"/get_dvb_firmware-${script_v} \ + -e "s#/tmp#${T}#g" > get_dvb_firmware + chmod a+x get_dvb_firmware + + # extract the firmware-files + for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + install_dvb_card ${FW_USE_FLAGS[CARD]} || continue + + GET_PARAM=${FW_GET_PARAMETER[CARD]} + if [[ ${GET_PARAM} != "-" ]]; then + [[ -f ${FW_FILES[CARD]} ]] && ewarn "Already existing: ${FW_FILES[CARD]}" + elog "Extracting ${FW_FILES[CARD]}" + ./get_dvb_firmware ${GET_PARAM} + fi + done +} + +src_install() { + insinto /lib/firmware + + for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + if install_dvb_card ${FW_USE_FLAGS[CARD]}; then + local file=${FW_FILES[CARD]} + [[ -f ${file} ]] || die "File ${file} does not exist!" + doins ${file} + fi + done +} diff --git a/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.09.19-r2.ebuild b/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.09.19-r2.ebuild new file mode 100644 index 0000000..e3bc9fe --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.09.19-r2.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/linuxtv-dvb-firmware/linuxtv-dvb-firmware-2009.09.19.ebuild,v 1.3 2012/01/23 22:17:55 ssuominen Exp $ + +echo 'line 5' + + +DESCRIPTION="Firmware files needed for operation of some dvb-devices" +HOMEPAGE="http://www.linuxtv.org" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="app-arch/unrar" +RDEPEND="" + +RESTRICT="mirror" + +S="${WORKDIR}" + +# Files which can be fetched from linuxtv.org +PACKET_NAME=dvb-firmwares-1.tar.bz2 +PACKET_SRC_URI="http://www.linuxtv.org/downloads/firmware/${PACKET_NAME}" +TEVII_NAME=Tevii_linuxdriver_0815.rar +TEVII_SRC_URI="http://tevii.com/${TEVII_NAME}" +get_dvb_firmware="${FILESDIR}/get_dvb_firmware-${PV}" +# from http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6-stable.git;a=history;f=Documentation/dvb/get_dvb_firmware + +FW_USE_FLAGS=( + "tda10046" +) + +FW_FILES=( + "dvb-fe-tda10046.fw" +) + +FW_GET_PARAMETER=( + "tda10046" +) + +# "http://www.dyle.org/download/linux/TT_PCI_2.19h_28_11_2006.zip" + +FW_URLS=( + "http://studio/TT_PCI_2.19h_28_11_2006.zip" +) + +SRC_URI="" +NEGATIVE_USE_FLAGS="" +NEGATIVE_END_BRACKETS="" +ALL_URLS="" + +for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + URL="${FW_URLS[CARD]}" + + if [[ -z ${URL} ]]; then + echo "missing url for ${FW_USE_FLAGS[CARD]}" + continue + fi + SRC_URI="${SRC_URI} dvb_cards_${FW_USE_FLAGS[CARD]}? ( ${URL} )" + + IUSE="${IUSE} dvb_cards_${FW_USE_FLAGS[CARD]}" + NEGATIVE_USE_FLAGS="${NEGATIVE_USE_FLAGS} !dvb_cards_${FW_USE_FLAGS[CARD]}? ( " + NEGATIVE_END_BRACKETS="${NEGATIVE_END_BRACKETS} )" + ALL_URLS="${ALL_URLS} ${URL}" + + GET_PARAM="${FW_GET_PARAMETER[CARD]}" + if [[ ${GET_PARAM} != "-" ]]; then + # all firmwares extracted by get_dvb_firmware need unzip + DEPEND="${DEPEND} dvb_cards_${FW_USE_FLAGS[CARD]}? ( app-arch/unzip )" + fi +done + +SRC_URI="${SRC_URI} ${NEGATIVE_USE_FLAGS} ${ALL_URLS} ${NEGATIVE_END_BRACKETS}" + +DEPEND="${DEPEND} + ${NEGATIVE_USE_FLAGS} + app-arch/unzip + ${NEGATIVE_END_BRACKETS}" + +install_dvb_card() { + if [[ -z ${DVB_CARDS} ]]; then + # install (almost) all firmware files + # do not install this one due to conflicting filenames + [[ "${1}" != "tda10046lifeview" ]] + else + # Check if this flag is set + use dvb_cards_${1} + fi +} + +pkg_setup() { + #echo SRC_URI=${SRC_URI} + #echo DEPEND=${DEPEND} + if has tda1004x ${DVB_CARDS}; then + eerror + eerror "DVB_CARDS flag tda1004x has been split into" + eerror "tda10045, tda10046 and tda10046lifeview". + eerror + eerror "But beware that you cannot enable tda10046 and" + eerror "tda10046lifeview at the same time." + fi + + if [[ -z ${DVB_CARDS} ]]; then + elog + elog "DVB_CARDS is not set, installing all available firmware files." + elog "To save bandwidth please consider setting the DVB_CARDS variable" + elog "in ${ROOT%/}/etc/make.conf. This way only the firmwares you own" + elog "the hardware will be installed." + fi + # according to http://devmanual.gentoo.org/general-concepts/use-flags/index.html + # we should not die here. However, there is no sensible fallback choice to make + # because the user may have either the one or the other. WYGIWYG + if use dvb_cards_tda10046 && use dvb_cards_tda10046lifeview; then + eerror + eerror "You cannot have both tda10046 and tda10046lifeview in DVB_CARDS" + eerror "because of colliding firmware filenames (dvb-fe-tda10046.fw)." + eerror "Sorry." + die "Conflicting values for DVB_CARDS set." + fi + elog + elog "List of possible card-names to use for DVB_CARDS:" + echo ${FW_USE_FLAGS[*]}| tr ' ' '\n' | sort | uniq | fmt \ + | while read line; do + elog " ${line}" + done + elog + elog "If you need another firmware file and want it included create a bug" + elog "at bugs.gentoo.org." + elog "In case some firmware sources are not fetchable please try again at" + elog "a later time and if it still does not fetch report a bug. If there" + elog "is no alternative source or an update to the firmware available we" + elog "have to remove it from the ebuild and you are on your own." +} + +src_unpack() { + local distfile + + # link all downloaded files to ${S} + for distfile in ${A}; do + [[ -L ${distfile} ]] || ln -s ${DISTDIR}/${distfile} ${distfile} + done + + # unpack firmware-packet + if has ${PACKET_NAME} ${A}; then + unpack ${PACKET_NAME} + fi + + # unpack tevii packet + if has ${TEVII_NAME} ${A}; then + unpack ${TEVII_NAME} + fi + + if [[ -z ${DVB_CARDS} ]] || use dvb_cards_mpc718 ; then + mv Yuan%20MPC718%20TV%20Tuner%20Card%202.13.10.1016.zip "Yuan MPC718 TV Tuner Card 2.13.10.1016.zip" + fi + if [[ -z ${DVB_CARDS} ]] || use dvb_cards_ttpci ; then + mv dvb-ttpci-01.fw-fc2624 dvb-ttpci-01.fw + fi + + if [[ -z ${DVB_CARDS} ]] || use dvb_cards_usb-dw2104 ; then + mv tevii_linuxdriver_0815/fw/dvb-usb-s650.fw dvb-usb-dw2104.fw + mv tevii_linuxdriver_0815/fw/dvb-fe-cx24116.fw ./ + fi + + local script_v=${PV} + + # Adjust temp-dir of get_dvb_firmware + sed "${FILESDIR}"/get_dvb_firmware-${script_v} \ + -e "s#/tmp#${T}#g" > get_dvb_firmware + chmod a+x get_dvb_firmware + + # extract the firmware-files + for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + install_dvb_card ${FW_USE_FLAGS[CARD]} || continue + + GET_PARAM=${FW_GET_PARAMETER[CARD]} + if [[ ${GET_PARAM} != "-" ]]; then + [[ -f ${FW_FILES[CARD]} ]] && ewarn "Already existing: ${FW_FILES[CARD]}" + elog "Extracting ${FW_FILES[CARD]}" + ./get_dvb_firmware ${GET_PARAM} + fi + done +} + +src_install() { + insinto /lib/firmware + + for ((CARD=0; CARD < ${#FW_USE_FLAGS[*]}; CARD++)) do + if install_dvb_card ${FW_USE_FLAGS[CARD]}; then + local file=${FW_FILES[CARD]} + [[ -f ${file} ]] || die "File ${file} does not exist!" + doins ${file} + fi + done +} diff --git a/media-tv/linuxtv-dvb-firmware/metadata.xml b/media-tv/linuxtv-dvb-firmware/metadata.xml new file mode 100644 index 0000000..740fefd --- /dev/null +++ b/media-tv/linuxtv-dvb-firmware/metadata.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>media-tv</herd> +</pkgmetadata> + |