Skip to content
Browse files

first few multimedia ebuildd

  • Loading branch information...
0 parents commit b2a26615946d181ab08f24258ce151efcedf108c @gbin committed Mar 4, 2012
Showing with 2,173 additions and 0 deletions.
  1. 0 README
  2. +13 −0 dev-python/pypy/ChangeLog
  3. +5 −0 dev-python/pypy/Manifest
  4. +41 −0 dev-python/pypy/files/1.5-patches.patch
  5. +12 −0 dev-python/pypy/metadata.xml
  6. +76 −0 dev-python/pypy/pypy-1.5.ebuild
  7. +5 −0 media-tv/tvheadend/Manifest
  8. +13 −0 media-tv/tvheadend/files/tvheadend.confd
  9. +19 −0 media-tv/tvheadend/files/tvheadend.initd
  10. +80 −0 media-tv/tvheadend/tvheadend-2.12.ebuild
  11. +75 −0 media-tv/tvheadend/tvheadend-9999.ebuild
  12. +4 −0 media-tv/xbmc-pvr/Manifest
  13. +12 −0 media-tv/xbmc-pvr/files/xbmc-pvr-9999-headers.patch
  14. +51 −0 media-tv/xbmc-pvr/files/xbmc-pvr-9999-libpng-1.5-fix-plt-trn-get.patch
  15. +596 −0 media-tv/xbmc-pvr/files/xbmc-pvr-9999-libpng-1.5.patch
  16. +200 −0 media-tv/xbmc-pvr/xbmc-pvr-9999.ebuild
  17. +2 −0 media-tv/xmltv/Manifest
  18. +207 −0 media-tv/xmltv/xmltv-0.5.61.ebuild
  19. +2 −0 media-video/ffmpeg/Manifest
  20. +273 −0 media-video/ffmpeg/ffmpeg-9999-r1.ebuild
  21. +43 −0 media-video/ffmpeg/files/ffmpeg-0.7.6-fix_ppc64_32ul.patch
  22. +5 −0 net-nntp/sabnzbd/Manifest
  23. +22 −0 net-nntp/sabnzbd/files/sabnzbd.conf
  24. +131 −0 net-nntp/sabnzbd/files/sabnzbd.ini
  25. +22 −0 net-nntp/sabnzbd/files/sabnzbd.init
  26. +130 −0 net-nntp/sabnzbd/sabnzbd-0.6.1.ebuild
  27. +4 −0 net-nntp/sick-beard/Manifest
  28. +3 −0 net-nntp/sick-beard/files/config.ini
  29. +24 −0 net-nntp/sick-beard/files/sick-beard.conf
  30. +33 −0 net-nntp/sick-beard/files/sick-beard.init
  31. +69 −0 net-nntp/sick-beard/sick-beard-9999.ebuild
  32. +1 −0 profiles/repo_name
0 README
No changes.
13 dev-python/pypy/ChangeLog
@@ -0,0 +1,13 @@
+# ChangeLog for dev-python/pypy
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.2 2011/06/24 09:18:38 djc Exp $
+
+ 24 Jun 2011; Dirkjan Ochtman <djc@gentoo.org> pypy-1.5.ebuild:
+ Fix bug 372641, bug 372639, bug 372517.
+
+*pypy-1.5 (06 Jun 2011)
+
+ 06 Jun 2011; Dirkjan Ochtman <djc@gentoo.org> +files/1.5-patches.patch,
+ +pypy-1.5.ebuild, +metadata.xml:
+ Initial version of pypy (bug 300301).
+
5 dev-python/pypy/Manifest
@@ -0,0 +1,5 @@
+AUX 1.5-patches.patch 2054 RMD160 5c2374be42afe88706e465246a15ea608ad969f4 SHA1 2a4cd500dbdf3bb3d55cee52abf27ca0b4f4ed72 SHA256 e2b499a68e9c27869462dd902629e3e1da682dca5cc8b3a5f1888f28e27158da
+DIST pypy-1.5-src.tar.bz2 14181501 RMD160 9c7d479ac5cd51c3789f3db99674b4c2936d88e0 SHA1 0ebcecaa4c725bf1a48272033d9f429b8a82b7e1 SHA256 1e827769d2384e38c358da0d2a7e87e843c819675c844dec503c475255490ad0
+EBUILD pypy-1.5.ebuild 2045 RMD160 2f8aac095a1f866fbe0cc4f55e9ba7f4dc9504d9 SHA1 a32ad8ea5a19f3bf435b6073bd1e9be0ab6d1286 SHA256 6e5953940431349d99e53510e64d43871284c3636337c6aa3d1c1f928df59b99
+MISC ChangeLog 483 RMD160 7fa2c92c37aec83d4ff5f9c7b0a191bab62a0046 SHA1 836f1886c9241b2d32d73ba7b0222c3926389e86 SHA256 9d3e1d611e7fa557166a766c539fefb2e4ec6cf678d40b453cc7c5c8d8bde070
+MISC metadata.xml 344 RMD160 4bd17fc59db518f8bc618d4dea646125bac847e8 SHA1 e4e25b65789bae8aaeb01ee897ca594d935287d6 SHA256 ba7629d47b3bf832a55ad33e58d361492b2f366a5d3a948f981862bdd1d54d73
41 dev-python/pypy/files/1.5-patches.patch
@@ -0,0 +1,41 @@
+diff -ur pypy-1.5-src_orig/pypy/rlib/ropenssl.py pypy-1.5-src/pypy/rlib/ropenssl.py
+--- pypy-1.5-src_orig/pypy/rlib/ropenssl.py 2011-04-30 17:18:50.000000000 +0300
++++ pypy-1.5-src/pypy/rlib/ropenssl.py 2011-05-07 16:22:21.387000017 +0300
+@@ -98,6 +98,7 @@
+ ssl_external('SSL_load_error_strings', [], lltype.Void)
+ ssl_external('SSL_library_init', [], rffi.INT)
+ if HAVE_OPENSSL_RAND:
++ eci.includes = eci.includes + ('openssl/rand.h',);
+ ssl_external('RAND_add', [rffi.CCHARP, rffi.INT, rffi.DOUBLE], lltype.Void)
+ ssl_external('RAND_status', [], rffi.INT)
+ ssl_external('RAND_egd', [rffi.CCHARP], rffi.INT)
+diff -ur pypy-1.5-src_orig/pypy/translator/goal/translate.py pypy-1.5-src/pypy/translator/goal/translate.py
+--- pypy-1.5-src_orig/pypy/translator/goal/translate.py 2011-04-30 17:18:50.000000000 +0300
++++ pypy-1.5-src/pypy/translator/goal/translate.py 2011-05-06 23:32:58.855999980 +0300
+@@ -253,7 +253,6 @@
+ log.event("batch mode, not calling interactive helpers")
+ return
+
+- log.event("start debugger...")
+
+ if translateconfig.view:
+ try:
+@@ -264,7 +263,6 @@
+ page = graphpage.TranslatorPage(t1, translateconfig.huge)
+ page.display_background()
+
+- pdb_plus_show.start(tb)
+
+ try:
+ drv = driver.TranslationDriver.from_targetspec(targetspec_dic, config, args,
+diff -ur pypy-1.5-src_orig/pypy/translator/c/gcc/trackgcroot.py pypy-1.5-src/pypy/translator/c/gcc/trackgcroot.py
+--- pypy-1.5-src_orig/pypy/translator/c/gcc/trackgcroot.py 2011-05-27 12:41:49.005000002 +0300
++++ pypy-1.5-src/pypy/translator/c/gcc/trackgcroot.py 2011-05-27 12:56:16.292000001 +0300
+@@ -1640,6 +1640,7 @@
+ }
+ """
+ elif self.format in ('elf64', 'darwin64'):
++ print >> output, "\t.section .note.GNU-stack,\"\",%progbits"
+ print >> output, "\t.text"
+ print >> output, "\t.globl %s" % _globalname('pypy_asm_stackwalk')
+ _variant(elf64='.type pypy_asm_stackwalk, @function',
12 dev-python/pypy/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<pkgmetadata>
+ <herd>python</herd>
+ <maintainer>
+ <email>djc@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="jit">Enable the JIT compiler</flag>
+ <flag name="sandbox">Enable sandboxing functionality</flag>
+ <flag name="stackless">Run in stackless mode</flag>
+ </use>
+</pkgmetadata>
76 dev-python/pypy/pypy-1.5.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-1.5.ebuild,v 1.2 2011/06/24 09:18:38 djc Exp $
+
+EAPI="3"
+
+inherit eutils toolchain-funcs python versionator
+
+DESCRIPTION="PyPy is a very compliant implementation of the Python language"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="http://pypy.org/download/pypy-${PV}-src.tar.bz2"
+SLOTVER=$(get_version_component_range 1-2 ${PV})
+
+LICENSE="MIT"
+SLOT="${SLOTVER}"
+PYTHON_ABI="2.7-pypy-${SLOTVER}"
+KEYWORDS="~amd64"
+IUSE="doc examples +jit sandbox stackless test bzip2 ncurses xml ssl"
+
+RDEPEND=">=sys-libs/zlib-1.1.3
+ virtual/libffi
+ virtual/libintl
+ bzip2? ( app-arch/bzip2 )
+ ncurses? ( sys-libs/ncurses )
+ xml? ( dev-libs/expat )
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}"
+PDEPEND="app-admin/python-updater"
+
+S="${WORKDIR}/${P}-src"
+DOC="README LICENSE"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-patches.patch"
+}
+
+src_compile() {
+ if use jit; then
+ conf="-Ojit"
+ else
+ conf="-O2"
+ fi
+ if use sandbox; then
+ conf+=" --sandbox"
+ fi
+ if use stackless; then
+ conf+=" --stackless"
+ fi
+ conf+=" ./pypy/translator/goal/targetpypystandalone"
+ # Avoid linking against libraries disabled by use flags
+ optional_use=("bzip2" "ncurses" "xml" "ssl")
+ optional_mod=("bz2" "_minimal_curses" "pyexpat" "_ssl")
+ for ((i = 0; i < ${#optional_use[*]}; i++)); do
+ if use ${optional_use[$i]}; then
+ conf+=" --withmod-${optional_mod[$i]}"
+ else
+ conf+=" --withoutmod-${optional_mod[$i]}"
+ fi
+ done
+
+ translate_cmd="$(PYTHON -2) ./pypy/translator/goal/translate.py $conf"
+ echo ${_BOLD}"${translate_cmd}"${_NORMAL}
+ ${translate_cmd} || die "compile error"
+}
+
+src_install() {
+ INSPATH="/usr/$(get_libdir)/pypy${SLOT}"
+ insinto ${INSPATH}
+ doins -r include lib_pypy lib-python pypy-c || die "failed"
+ fperms a+x ${INSPATH}/pypy-c || die "failed"
+ dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT}
+}
+
+src_test() {
+ $(PYTHON -2) ./pypy/test_all.py --pypy=./pypy-c lib-python
+}
5 media-tv/tvheadend/Manifest
@@ -0,0 +1,5 @@
+AUX tvheadend.confd 292 RMD160 680004421efc1a3c643ee0b3d76926259286f8d6 SHA1 4e2404f519eff9f6aafc6d7f1a5add93e400d59a SHA256 7c17d5e18112f868c028b7147c247cbace76926f8732df4197e802ffb53fa2dd
+AUX tvheadend.initd 375 RMD160 af535adc27c6392f2c8317a2133430130a0a868d SHA1 0848d3cdc28c8f52eeb2f7413e91f1ee069b141a SHA256 696dee0e0959cd2358b5250f89a9faf8db95172e55658ec8827e7d4999d0114e
+DIST hts-tvheadend_2.12.tar.gz 1475053 RMD160 0a4d71ca75150f46d629e40cfe61e4dd52ea64fd SHA1 483d0ab1702541c542dcb4bccf810d2032cb5dbb SHA256 c2e33384b24356be036bf8e58a026efeed247b001d3674929dc0016bf2b0e11b
+EBUILD tvheadend-2.12.ebuild 1875 RMD160 d71568e7d44cf53eb67ab865f5d61ee2cab67ac0 SHA1 0bf3eacf5935e601425e623fa1ebad2423d670e6 SHA256 44fa92b553cd7cb860f73042668cbbe9e7fd252b84bca49e70bbc9ae7fedb4d4
+EBUILD tvheadend-9999.ebuild 1669 RMD160 0bfde4e650181e9ea9015e52c97ed61973eb9154 SHA1 d8daea42a7c2f2c4802e08c71592b5469350e801 SHA256 348aa73ae592359dcd4ab7bd9326bdb8e15356b54d3217fc8879da0bebf31a0c
13 media-tv/tvheadend/files/tvheadend.confd
@@ -0,0 +1,13 @@
+# See the tvheadend(1) manpage for more info.
+
+# Run Tvheadend as this user.
+TVHEADEND_USER="tvheadend"
+
+# Run Tvheadend as this group.
+TVHEADEND_GROUP="video"
+
+# Path to Tvheadend config.
+TVHEADEND_CONFIG="/etc/tvheadend"
+
+# Other options you want to pass to Tvheadend.
+TVHEADEND_OPTIONS=""
19 media-tv/tvheadend/files/tvheadend.initd
@@ -0,0 +1,19 @@
+#!/sbin/runscript
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting Tvheadend"
+ start-stop-daemon --start --quiet --exec /usr/bin/tvheadend \
+ -- -f -C -u ${TVHEADEND_USER} -g ${TVHEADEND_GROUP} \
+ -c ${TVHEADEND_CONFIG} ${TVHEADEND_OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Tvheadend"
+ start-stop-daemon --stop --quiet --pidfile /var/run/tvheadend.pid
+ eend $?
+}
80 media-tv/tvheadend/tvheadend-2.12.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils
+
+DESCRIPTION="Tvheadend is a combined DVB receiver, Digital Video Recorder and Live TV streaming server"
+HOMEPAGE="http://www.lonelycoder.com/hts/"
+SRC_URI="http://www.lonelycoder.com/debian/dists/hts/main/source/hts-tvheadend_${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="avahi xmltv"
+
+DEPEND="media-tv/linuxtv-dvb-headers"
+
+RDEPEND="${DEPEND}
+ xmltv? ( media-tv/xmltv )
+ avahi? ( net-dns/avahi )"
+
+S="${WORKDIR}/hts-${P}"
+
+pkg_setup() {
+ enewuser tvheadend -1 -1 /dev/null video
+}
+
+src_prepare() {
+ # set version number to avoid subversion and git dependencies
+ sed -i \
+ -e 's:\$(shell support/version.sh):${PV}:' \
+ Makefile || die "sed failed!"
+
+ # remove warnings as errors
+ sed -i \
+ -e 's/-Werror//' \
+ Makefile || die "sed failed to remove warnings as errors"
+
+ # remove stripping
+ sed -i \
+ -e 's:install -s:install:' \
+ support/posix.mk || die "sed failed!"
+}
+
+src_configure() {
+ econf \
+ $(use_enable avahi) \
+ --release \
+ || die "Configure failed!"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Install failed!"
+
+ dodoc ChangeLog README
+
+ newinitd "${FILESDIR}/tvheadend.initd" tvheadend
+ newconfd "${FILESDIR}/tvheadend.confd" tvheadend
+
+ dodir /etc/tvheadend
+ fperms 0700 /etc/tvheadend
+ fowners tvheadend:video /etc/tvheadend
+}
+
+pkg_postinst() {
+ elog "To start Tvheadend:"
+ elog "/etc/init.d/tvheadend start"
+ elog
+ elog "To start Tvheadend at boot:"
+ elog "rc-update add tvheadend default"
+ elog
+ elog "The Tvheadend web interface can be reached at:"
+ elog "http://localhost:9981/"
+ elog
+ elog "Make sure that you change the default username"
+ elog "and password via the Configuration / Access control"
+ elog "tab in the web interface."
+}
75 media-tv/tvheadend/tvheadend-9999.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils git
+
+EGIT_REPO_URI="git://github.com/andoma/tvheadend.git"
+
+DESCRIPTION="Tvheadend is a combined DVB receiver, Digital Video Recorder and Live TV streaming server"
+HOMEPAGE="http://www.lonelycoder.com/hts/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="avahi xmltv"
+
+#DEPEND="media-tv/linuxtv-dvb-headers" gbin: gni ?
+DEPEND=""
+
+RDEPEND="${DEPEND}
+ xmltv? ( media-tv/xmltv )
+ avahi? ( net-dns/avahi )"
+
+pkg_setup() {
+ enewuser tvheadend -1 -1 /dev/null video
+}
+
+src_prepare() {
+ # set version number to avoid subversion dependency
+ sed -i \
+ -e 's:\$(shell support/version.sh):git-:' \
+ Makefile || die "sed failed!"
+
+ # remove stripping
+ sed -i \
+ -e 's:install -s:install:' \
+ support/posix.mk || die "sed failed!"
+}
+
+src_configure() {
+ econf \
+ $(use_enable avahi) \
+ --release \
+ || die "Configure failed!"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Install failed!"
+
+ dodoc ChangeLog README
+
+ newinitd "${FILESDIR}/tvheadend.initd" tvheadend
+ newconfd "${FILESDIR}/tvheadend.confd" tvheadend
+
+ dodir /etc/tvheadend
+ fperms 0700 /etc/tvheadend
+ fowners tvheadend:video /etc/tvheadend
+}
+
+pkg_postinst() {
+ elog "To start Tvheadend:"
+ elog "/etc/init.d/tvheadend start"
+ elog
+ elog "To start Tvheadend at boot:"
+ elog "rc-update add tvheadend default"
+ elog
+ elog "The Tvheadend web interface can be reached at:"
+ elog "http://localhost:9981/"
+ elog
+ elog "Make sure that you change the default username"
+ elog "and password via the Configuration / Access control"
+ elog "tab in the web interface."
+}
4 media-tv/xbmc-pvr/Manifest
@@ -0,0 +1,4 @@
+AUX xbmc-pvr-9999-headers.patch 450 RMD160 52f5b4974c2e593c3d6518638c81946a9dc325f2 SHA1 e1987cea85f3156b0f00c61d6411e678416df5f3 SHA256 28765af28836502ce2df92c00b0df27733137111f7fbb11a5cd0b5b7c47b0713
+AUX xbmc-pvr-9999-libpng-1.5-fix-plt-trn-get.patch 1659 RMD160 94404f801cc50f0f83f6d9716b572568981cc238 SHA1 761e00902f9979180966928719ea2ba311ab590b SHA256 fed3ba39de959c46bc43431b229347c187690848ccd3bdc823bb7291bc425e84
+AUX xbmc-pvr-9999-libpng-1.5.patch 18687 RMD160 806918123b89ba86dd548cbd42fe26f9784ca6b9 SHA1 44d8c0f96445db48293f356909cff303b050e279 SHA256 359cc4893cc6922b86269770c11c5e80fd5b33e711ebf1645b232e4f3fc91c28
+EBUILD xbmc-pvr-9999.ebuild 6521 RMD160 0988dc266e13fe9927b2ed3b5e3cbdb855677434 SHA1 f59cc55491809b6a44877db702c01f1c863465ac SHA256 7b962b917f3de3c363b4541680e2e00e9e92e53449290b2b5843db446f6112de
12 media-tv/xbmc-pvr/files/xbmc-pvr-9999-headers.patch
@@ -0,0 +1,12 @@
+diff --git a/tools/TexturePacker/XBTFWriter.cpp b/tools/TexturePacker/XBTFWriter.cpp
+index 78b47fe..2e75d96 100644
+--- a/tools/TexturePacker/XBTFWriter.cpp
++++ b/tools/TexturePacker/XBTFWriter.cpp
+@@ -22,6 +22,7 @@
+ #include "XBTFWriter.h"
+ #define __STDC_FORMAT_MACROS
+ #include <inttypes.h>
++#include <unistd.h> /* for unlink() prototype */
+ #include "guilib/XBTF.h"
+ #include "utils/EndianSwap.h"
+ #if !defined(__APPLE__) && !defined(__FreeBSD__)
51 media-tv/xbmc-pvr/files/xbmc-pvr-9999-libpng-1.5-fix-plt-trn-get.patch
@@ -0,0 +1,51 @@
+
+Update libpng 1.5 patch: check return values of png_get_PLTE() and
+png_get_tRNS() before using the values to avoid using uninitialized values.
+
+--- a/lib/cximage-6.0/CxImage/ximapng.cpp
++++ b/lib/cximage-6.0/CxImage/ximapng.cpp
+@@ -178,12 +178,14 @@ bool CxImagePNG::Decode(CxFile *hFile)
+ int _num_palette;
+ png_colorp _palette;
+ #if PNG_LIBPNG_VER > 10399
+- png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette);
++ png_uint_32 _palette_ret;
++ _palette_ret = png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette);
++ if (_palette_ret && _num_palette>0){
+ #else
+ _num_palette=info_ptr->num_palette;
+ _palette=info_ptr->palette;
+-#endif
+ if (_num_palette>0){
++#endif
+ SetPalette((rgb_color*)_palette,_num_palette);
+ SetClrImportant(_num_palette);
+ } else if (_bit_depth ==2) { //<DP> needed for 2 bpp grayscale PNGs
+@@ -199,11 +201,13 @@ bool CxImagePNG::Decode(CxFile *hFile)
+ int _num_trans;
+ png_color_16p _trans_color;
+ #if PNG_LIBPNG_VER > 10399
+- png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color);
++ png_uint_32 _trans_ret;
++ _trans_ret = png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color);
++ if (_trans_ret && _num_trans!=0){ //palette transparency
+ #else
+ _num_trans=info_ptr->num_trans;
+-#endif
+ if (_num_trans!=0){ //palette transparency
++#endif
+ if (_num_trans==1){
+ if (_color_type == PNG_COLOR_TYPE_PALETTE){
+ #if PNG_LIBPNG_VER > 10399
+@@ -219,7 +223,11 @@ bool CxImagePNG::Decode(CxFile *hFile)
+ #endif
+ }
+ }
++#if PNG_LIBPNG_VER > 10399
++ if (_num_trans>1 && _trans_alpha!=NULL){
++#else
+ if (_num_trans>1){
++#endif
+ RGBQUAD* pal=GetPalette();
+ if (pal){
+ DWORD ip;
596 media-tv/xbmc-pvr/files/xbmc-pvr-9999-libpng-1.5.patch
@@ -0,0 +1,596 @@
+fix building with newer libpng. patch by Ian Stakenvicius.
+
+https://bugs.gentoo.org/380127
+
+--- a/xbmc/lib/cximage-6.0/CxImage/ximapng.h
++++ b/xbmc/lib/cximage-6.0/CxImage/ximapng.h
+@@ -69,8 +69,13 @@
+
+ static void PNGAPI user_error_fn(png_structp png_ptr,png_const_charp error_msg)
+ {
++#if PNG_LIBPNG_VER > 10399
++ strncpy((char*)png_get_error_ptr(png_ptr),error_msg,255);
++ longjmp(png_jmpbuf(png_ptr), 1);
++#else
+ strncpy((char*)png_ptr->error_ptr,error_msg,255);
+ longjmp(png_ptr->jmpbuf, 1);
++#endif
+ }
+ };
+
+--- a/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp
++++ b/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp
+@@ -15,7 +15,11 @@
+ void CxImagePNG::ima_png_error(png_struct *png_ptr, char *message)
+ {
+ strcpy(info.szLastError,message);
++#if PNG_LIBPNG_VER > 10399
++ longjmp(png_jmpbuf(png_ptr), 1);
++#else
+ longjmp(png_ptr->jmpbuf, 1);
++#endif
+ }
+ ////////////////////////////////////////////////////////////////////////////////
+ #if CXIMAGE_SUPPORT_DECODE
+@@ -62,7 +66,11 @@
+ /* Set error handling if you are using the setjmp/longjmp method (this is
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier. */
++#if PNG_LIBPNG_VER > 10399
++ if (setjmp(png_jmpbuf(png_ptr))) {
++#else
+ if (setjmp(png_ptr->jmpbuf)) {
++#endif
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+ delete [] row_pointers;
+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
+@@ -70,16 +78,35 @@
+ /* read the file information */
+ png_read_info(png_ptr, info_ptr);
+
++ png_uint_32 _width,_height;
++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type;
++#if PNG_LIBPNG_VER > 10399
++ png_get_IHDR(png_ptr,info_ptr,&_width,&_height,&_bit_depth,&_color_type,
++ &_interlace_type,&_compression_type,&_filter_type);
++#else
++ _width=info_ptr->width;
++ _height=info_ptr->height;
++ _bit_depth=info_ptr->bit_depth;
++ _color_type=info_ptr->color_type;
++ _interlace_type=info_ptr->interlace_type;
++ _compression_type=info_ptr->compression_type;
++ _filter_type=info_ptr->filter_type;
++#endif
++
+ if (info.nEscape == -1){
+- head.biWidth = info_ptr->width;
+- head.biHeight= info_ptr->height;
++ head.biWidth = _width;
++ head.biHeight= _height;
+ info.dwType = CXIMAGE_FORMAT_PNG;
++#if PNG_LIBPNG_VER > 10399
++ longjmp(png_jmpbuf(png_ptr), 1);
++#else
+ longjmp(png_ptr->jmpbuf, 1);
++#endif
+ }
+
+ /* calculate new number of channels */
+ int channels=0;
+- switch(info_ptr->color_type){
++ switch(_color_type){
+ case PNG_COLOR_TYPE_GRAY:
+ case PNG_COLOR_TYPE_PALETTE:
+ channels = 1;
+@@ -101,71 +128,108 @@
+ break;
+ default:
+ strcpy(info.szLastError,"unknown PNG color type");
++#if PNG_LIBPNG_VER > 10399
++ longjmp(png_jmpbuf(png_ptr), 1);
++#else
+ longjmp(png_ptr->jmpbuf, 1);
++#endif
+ }
+
+ //find the right pixel depth used for cximage
++#if PNG_LIBPNG_VER > 10399
++ int pixel_depth = _bit_depth * png_get_channels(png_ptr,info_ptr);
++#else
+ int pixel_depth = info_ptr->pixel_depth;
++#endif
+ if (channels == 1 && pixel_depth>8) pixel_depth=8;
+ if (channels == 2) pixel_depth=8;
+ if (channels >= 3) pixel_depth=24;
+
+- if (!Create(info_ptr->width, info_ptr->height, pixel_depth, CXIMAGE_FORMAT_PNG)){
++ if (!Create(_width, _height, pixel_depth, CXIMAGE_FORMAT_PNG)){
++#if PNG_LIBPNG_VER > 10399
++ longjmp(png_jmpbuf(png_ptr), 1);
++#else
+ longjmp(png_ptr->jmpbuf, 1);
++#endif
+ }
+
+ /* get metrics */
+- switch (info_ptr->phys_unit_type)
++ png_uint_32 _x_pixels_per_unit,_y_pixels_per_unit;
++ int _phys_unit_type;
++#if PNG_LIBPNG_VER > 10399
++ png_get_pHYs(png_ptr,info_ptr,&_x_pixels_per_unit,&_y_pixels_per_unit,&_phys_unit_type);
++#else
++ _x_pixels_per_unit=info_ptr->x_pixels_per_unit;
++ _y_pixels_per_unit=info_ptr->y_pixels_per_unit;
++ _phys_unit_type=info_ptr->phys_unit_type;
++#endif
++ switch (_phys_unit_type)
+ {
+ case PNG_RESOLUTION_UNKNOWN:
+- SetXDPI(info_ptr->x_pixels_per_unit);
+- SetYDPI(info_ptr->y_pixels_per_unit);
++ SetXDPI(_x_pixels_per_unit);
++ SetYDPI(_y_pixels_per_unit);
+ break;
+ case PNG_RESOLUTION_METER:
+- SetXDPI((long)floor(info_ptr->x_pixels_per_unit * 254.0 / 10000.0 + 0.5));
+- SetYDPI((long)floor(info_ptr->y_pixels_per_unit * 254.0 / 10000.0 + 0.5));
++ SetXDPI((long)floor(_x_pixels_per_unit * 254.0 / 10000.0 + 0.5));
++ SetYDPI((long)floor(_y_pixels_per_unit * 254.0 / 10000.0 + 0.5));
+ break;
+ }
+
+- if (info_ptr->num_palette>0){
+- SetPalette((rgb_color*)info_ptr->palette,info_ptr->num_palette);
+- SetClrImportant(info_ptr->num_palette);
+- } else if (info_ptr->bit_depth ==2) { //<DP> needed for 2 bpp grayscale PNGs
++ int _num_palette;
++ png_colorp _palette;
++#if PNG_LIBPNG_VER > 10399
++ png_get_PLTE(png_ptr,info_ptr,&_palette,&_num_palette);
++#else
++ _num_palette=info_ptr->num_palette;
++ _palette=info_ptr->palette;
++#endif
++ if (_num_palette>0){
++ SetPalette((rgb_color*)_palette,_num_palette);
++ SetClrImportant(_num_palette);
++ } else if (_bit_depth ==2) { //<DP> needed for 2 bpp grayscale PNGs
+ SetPaletteColor(0,0,0,0);
+ SetPaletteColor(1,85,85,85);
+ SetPaletteColor(2,170,170,170);
+ SetPaletteColor(3,255,255,255);
+ } else SetGrayPalette(); //<DP> needed for grayscale PNGs
+
+- int nshift = max(0,(info_ptr->bit_depth>>3)-1)<<3;
++ int nshift = max(0,(_bit_depth>>3)-1)<<3;
+
+- if (info_ptr->num_trans!=0){ //palette transparency
+- if (info_ptr->num_trans==1){
+- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){
++ png_bytep _trans_alpha;
++ int _num_trans;
++ png_color_16p _trans_color;
++#if PNG_LIBPNG_VER > 10399
++ png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color);
++#else
++ _num_trans=info_ptr->num_trans;
++#endif
++ if (_num_trans!=0){ //palette transparency
++ if (_num_trans==1){
++ if (_color_type == PNG_COLOR_TYPE_PALETTE){
+ #if PNG_LIBPNG_VER > 10399
+- info.nBkgndIndex = info_ptr->trans_color.index;
++ info.nBkgndIndex = _trans_color->index;
+ #else
+ info.nBkgndIndex = info_ptr->trans_values.index;
+ #endif
+ } else{
+ #if PNG_LIBPNG_VER > 10399
+- info.nBkgndIndex = info_ptr->trans_color.gray>>nshift;
++ info.nBkgndIndex = _trans_color->gray>>nshift;
+ #else
+ info.nBkgndIndex = info_ptr->trans_values.gray>>nshift;
+ #endif
+ }
+ }
+- if (info_ptr->num_trans>1){
++ if (_num_trans>1){
+ RGBQUAD* pal=GetPalette();
+ if (pal){
+ DWORD ip;
+- for (ip=0;ip<min(head.biClrUsed,(unsigned long)info_ptr->num_trans);ip++)
++ for (ip=0;ip<min(head.biClrUsed,(unsigned long)_num_trans);ip++)
+ #if PNG_LIBPNG_VER > 10399
+- pal[ip].rgbReserved=info_ptr->trans_alpha[ip];
++ pal[ip].rgbReserved=_trans_alpha[ip];
+ #else
+ pal[ip].rgbReserved=info_ptr->trans[ip];
+ #endif
+- for (ip=info_ptr->num_trans;ip<head.biClrUsed;ip++){
++ for (ip=_num_trans;ip<head.biClrUsed;ip++){
+ pal[ip].rgbReserved=255;
+ }
+ info.bAlphaPaletteEnabled=true;
+@@ -174,14 +238,12 @@
+ }
+
+ if (channels == 3){ //check RGB binary transparency
+- png_bytep trans;
+- int num_trans;
+- png_color_16 *image_background;
+- if (png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, &image_background)){
+-#if PNG_LIBPNG_VER > 10399
+- info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift);
+- info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift);
+- info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_color.blue>>nshift);
++ /* seems unnecessary to call again, but the conditional must be important so... */
++ if (png_get_tRNS(png_ptr,info_ptr,&_trans_alpha,&_num_trans,&_trans_color)){
++#if PNG_LIBPNG_VER > 10399
++ info.nBkgndColor.rgbRed = (BYTE)(_trans_color->red>>nshift);
++ info.nBkgndColor.rgbGreen = (BYTE)(_trans_color->green>>nshift);
++ info.nBkgndColor.rgbBlue = (BYTE)(_trans_color->blue>>nshift);
+ #else
+ info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_values.red>>nshift);
+ info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift);
+@@ -202,15 +264,24 @@
+ }
+
+ // <vho> - flip the RGB pixels to BGR (or RGBA to BGRA)
+- if (info_ptr->color_type & PNG_COLOR_MASK_COLOR){
++ if (_color_type & PNG_COLOR_MASK_COLOR){
+ png_set_bgr(png_ptr);
+ }
+
+ // <vho> - handle cancel
+- if (info.nEscape) longjmp(png_ptr->jmpbuf, 1);
++ if (info.nEscape)
++#if PNG_LIBPNG_VER > 10399
++ longjmp(png_jmpbuf(png_ptr), 1);
++#else
++ longjmp(png_ptr->jmpbuf, 1);
++#endif
+
+ // row_bytes is the width x number of channels x (bit-depth / 8)
++#if PNG_LIBPNG_VER > 10399
++ row_pointers = new BYTE[png_get_rowbytes(png_ptr,info_ptr) + 8];
++#else
+ row_pointers = new BYTE[info_ptr->rowbytes + 8];
++#endif
+
+ // turn on interlace handling
+ int number_passes = png_set_interlace_handling(png_ptr);
+@@ -221,8 +292,12 @@
+ SetCodecOption(0);
+ }
+
+- int chan_offset = info_ptr->bit_depth >> 3;
++ int chan_offset = _bit_depth >> 3;
++#if PNG_LIBPNG_VER > 10399
++ int pixel_offset = (_bit_depth * png_get_channels(png_ptr,info_ptr)) >> 3;
++#else
+ int pixel_offset = info_ptr->pixel_depth >> 3;
++#endif
+
+ for (int pass=0; pass < number_passes; pass++) {
+ iter.Upset();
+@@ -230,7 +305,12 @@
+ do {
+
+ // <vho> - handle cancel
+- if (info.nEscape) longjmp(png_ptr->jmpbuf, 1);
++ if (info.nEscape)
++#if PNG_LIBPNG_VER > 10399
++ longjmp(png_jmpbuf(png_ptr), 1);
++#else
++ longjmp(png_ptr->jmpbuf, 1);
++#endif
+
+ #if CXIMAGE_SUPPORT_ALPHA // <vho>
+ if (AlphaIsValid()) {
+@@ -241,7 +321,7 @@
+ BYTE* prow= iter.GetRow(ay);
+
+ //recover data from previous scan
+- if (info_ptr->interlace_type && pass>0 && pass!=7){
++ if (_interlace_type && pass>0 && pass!=7){
+ for(ax=0;ax<head.biWidth;ax++){
+ long px = ax * pixel_offset;
+ if (channels == 2){
+@@ -278,10 +358,14 @@
+ #endif // CXIMAGE_SUPPORT_ALPHA // vho
+ {
+ //recover data from previous scan
+- if (info_ptr->interlace_type && pass>0){
++ if (_interlace_type && pass>0){
++#if PNG_LIBPNG_VER > 10399
++ iter.GetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr));
++#else
+ iter.GetRow(row_pointers, info_ptr->rowbytes);
++#endif
+ //re-expand buffer for images with bit depth > 8
+- if (info_ptr->bit_depth > 8){
++ if (_bit_depth > 8){
+ for(long ax=(head.biWidth*channels-1);ax>=0;ax--)
+ row_pointers[ax*chan_offset] = row_pointers[ax];
+ }
+@@ -291,15 +375,19 @@
+ png_read_row(png_ptr, row_pointers, NULL);
+
+ //shrink 16 bit depth images down to 8 bits
+- if (info_ptr->bit_depth > 8){
++ if (_bit_depth > 8){
+ for(long ax=0;ax<(head.biWidth*channels);ax++)
+ row_pointers[ax] = row_pointers[ax*chan_offset];
+ }
+
+ //copy the pixels
++#if PNG_LIBPNG_VER > 10399
++ iter.SetRow(row_pointers, png_get_rowbytes(png_ptr,info_ptr));
++#else
+ iter.SetRow(row_pointers, info_ptr->rowbytes);
++#endif
+ //<DP> expand 2 bpp images only in the last pass
+- if (info_ptr->bit_depth==2 && pass==(number_passes-1))
++ if (_bit_depth==2 && pass==(number_passes-1))
+ expand2to4bpp(iter.GetRow());
+
+ //go on
+@@ -361,9 +449,13 @@
+ /* Set error handling. REQUIRED if you aren't supplying your own
+ * error hadnling functions in the png_create_write_struct() call.
+ */
++#if PNG_LIBPNG_VER > 10399
++ if (setjmp(png_jmpbuf(png_ptr))){
++#else
+ if (setjmp(png_ptr->jmpbuf)){
+ /* If we get here, we had a problem reading the file */
+ if (info_ptr->palette) free(info_ptr->palette);
++#endif
+ png_destroy_write_struct(&png_ptr, (png_infopp)&info_ptr);
+ cx_throw("Error saving PNG file");
+ }
+@@ -372,9 +464,23 @@
+ //png_init_io(png_ptr, hFile);
+
+ // use custom I/O functions
+- png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data);
++ png_set_write_fn(png_ptr,hFile,/*(png_rw_ptr)*/user_write_data,/*(png_flush_ptr)*/user_flush_data);
+
+ /* set the file information here */
++#if PNG_LIBPNG_VER > 10399
++ /* use variables to hold the values so it isnt necessary to png_get them later */
++ png_uint_32 _width,_height;
++ int _bit_depth,_color_type,_interlace_type,_compression_type,_filter_type;
++ png_byte _channels,_pixel_depth;
++
++ _width = GetWidth();
++ _height = GetHeight();
++ _pixel_depth = (BYTE)GetBpp();
++ _channels = (GetBpp()>8) ? (BYTE)3: (BYTE)1;
++ _bit_depth = (BYTE)(GetBpp()/_channels);
++ _compression_type = PNG_COMPRESSION_TYPE_DEFAULT;
++ _filter_type = PNG_FILTER_TYPE_DEFAULT;
++#else
+ info_ptr->width = GetWidth();
+ info_ptr->height = GetHeight();
+ info_ptr->pixel_depth = (BYTE)GetBpp();
+@@ -382,13 +488,22 @@
+ info_ptr->bit_depth = (BYTE)(GetBpp()/info_ptr->channels);
+ info_ptr->compression_type = info_ptr->filter_type = 0;
+ info_ptr->valid = 0;
++#endif
+
+ switch(GetCodecOption(CXIMAGE_FORMAT_PNG)){
+ case 1:
++#if PNG_LIBPNG_VER > 10399
++ _interlace_type = PNG_INTERLACE_ADAM7;
++#else
+ info_ptr->interlace_type = PNG_INTERLACE_ADAM7;
++#endif
+ break;
+ default:
++#if PNG_LIBPNG_VER > 10399
++ _interlace_type = PNG_INTERLACE_NONE;
++#else
+ info_ptr->interlace_type = PNG_INTERLACE_NONE;
++#endif
+ }
+
+ /* set compression level */
+@@ -398,22 +513,47 @@
+
+ if (GetNumColors()){
+ if (bGrayScale){
++#if PNG_LIBPNG_VER > 10399
++ _color_type = PNG_COLOR_TYPE_GRAY;
++#else
+ info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
++#endif
+ } else {
++#if PNG_LIBPNG_VER > 10399
++ _color_type = PNG_COLOR_TYPE_PALETTE;
++#else
+ info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
++#endif
+ }
+ } else {
++#if PNG_LIBPNG_VER > 10399
++ _color_type = PNG_COLOR_TYPE_RGB;
++#else
+ info_ptr->color_type = PNG_COLOR_TYPE_RGB;
++#endif
+ }
+ #if CXIMAGE_SUPPORT_ALPHA
+ if (AlphaIsValid()){
++#if PNG_LIBPNG_VER > 10399
++ _color_type |= PNG_COLOR_MASK_ALPHA;
++ _channels++;
++ _bit_depth = 8;
++ _pixel_depth += 8;
++#else
+ info_ptr->color_type |= PNG_COLOR_MASK_ALPHA;
+ info_ptr->channels++;
+ info_ptr->bit_depth = 8;
+ info_ptr->pixel_depth += 8;
++#endif
+ }
+ #endif
+
++#if PNG_LIBPNG_VER > 10399
++ /* set the header here, since we're done modifying these values */
++ png_set_IHDR(png_ptr,info_ptr,_width,_height,_bit_depth,_color_type,_interlace_type,
++ _compression_type,_filter_type);
++#endif
++
+ /* set background */
+ png_color_16 image_background={ 0, 255, 255, 255, 0 };
+ RGBQUAD tc = GetTransColor();
+@@ -427,22 +567,24 @@
+ /* set metrics */
+ png_set_pHYs(png_ptr, info_ptr, head.biXPelsPerMeter, head.biYPelsPerMeter, PNG_RESOLUTION_METER);
+
++#if PNG_LIBPNG_VER <= 10399
+ png_set_IHDR(png_ptr, info_ptr, info_ptr->width, info_ptr->height, info_ptr->bit_depth,
+ info_ptr->color_type, info_ptr->interlace_type,
+ PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
++#endif
+
+ //<DP> simple transparency
+ if (info.nBkgndIndex >= 0){
+- info_ptr->num_trans = 1;
+- info_ptr->valid |= PNG_INFO_tRNS;
+ #if PNG_LIBPNG_VER > 10399
+- info_ptr->trans_alpha = trans;
+- info_ptr->trans_color.index = (BYTE)info.nBkgndIndex;
+- info_ptr->trans_color.red = tc.rgbRed;
+- info_ptr->trans_color.green = tc.rgbGreen;
+- info_ptr->trans_color.blue = tc.rgbBlue;
+- info_ptr->trans_color.gray = info_ptr->trans_color.index;
++ png_color_16 _trans_color;
++ _trans_color.index = (BYTE)info.nBkgndIndex;
++ _trans_color.red = tc.rgbRed;
++ _trans_color.green = tc.rgbGreen;
++ _trans_color.blue = tc.rgbBlue;
++ _trans_color.gray = _trans_color.index;
+ #else
++ info_ptr->num_trans = 1;
++ info_ptr->valid |= PNG_INFO_tRNS;
+ info_ptr->trans = trans;
+ info_ptr->trans_values.index = (BYTE)info.nBkgndIndex;
+ info_ptr->trans_values.red = tc.rgbRed;
+@@ -454,34 +596,53 @@
+ // the transparency indexes start from 0 for non grayscale palette
+ if (!bGrayScale && head.biClrUsed && info.nBkgndIndex)
+ SwapIndex(0,(BYTE)info.nBkgndIndex);
++
++#if PNG_LIBPNG_VER > 10399
++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,1,&_trans_color);
++#endif
+ }
+
+ /* set the palette if there is one */
++#if PNG_LIBPNG_VER > 10399
++ png_colorp _palette;
++#endif
+ if (GetPalette()){
++#if PNG_LIBPNG_VER <= 10399
+ if (!bGrayScale){
+ info_ptr->valid |= PNG_INFO_PLTE;
+ }
++#endif
+
+ int nc = GetClrImportant();
+ if (nc==0) nc = GetNumColors();
+
++ // copy the palette colors
++#if PNG_LIBPNG_VER > 10399
++ _palette = new png_color[nc];
++#else
++ info_ptr->palette = new png_color[nc];
++ info_ptr->num_palette = (png_uint_16) nc;
++#endif
++ for (int i=0; i<nc; i++)
++#if PNG_LIBPNG_VER > 10399
++ GetPaletteColor(i, &_palette[i].red, &_palette[i].green, &_palette[i].blue);
++
++ png_set_PLTE(png_ptr,info_ptr,_palette,nc);
++#else
++ GetPaletteColor(i, &info_ptr->palette[i].red, &info_ptr->palette[i].green, &info_ptr->palette[i].blue);
++#endif
++
+ if (info.bAlphaPaletteEnabled){
+ for(WORD ip=0; ip<nc;ip++)
+ trans[ip]=GetPaletteColor((BYTE)ip).rgbReserved;
+- info_ptr->num_trans = (WORD)nc;
+- info_ptr->valid |= PNG_INFO_tRNS;
+ #if PNG_LIBPNG_VER > 10399
+- info_ptr->trans_alpha = trans;
++ png_set_tRNS(png_ptr,info_ptr,(png_bytep)trans,nc,NULL);
+ #else
++ info_ptr->num_trans = (WORD)nc;
++ info_ptr->valid |= PNG_INFO_tRNS;
+ info_ptr->trans = trans;
+ #endif
+ }
+-
+- // copy the palette colors
+- info_ptr->palette = new png_color[nc];
+- info_ptr->num_palette = (png_uint_16) nc;
+- for (int i=0; i<nc; i++)
+- GetPaletteColor(i, &info_ptr->palette[i].red, &info_ptr->palette[i].green, &info_ptr->palette[i].blue);
+ }
+
+ #if CXIMAGE_SUPPORT_ALPHA // <vho>
+@@ -495,8 +656,12 @@
+ } } }
+ #endif // CXIMAGE_SUPPORT_ALPHA // <vho>
+
++#if PNG_LIBPNG_VER > 10399
++ int row_size = max(info.dwEffWidth, (_width * _channels * _bit_depth / 8));
++#else
+ int row_size = max(info.dwEffWidth, info_ptr->width*info_ptr->channels*(info_ptr->bit_depth/8));
+ info_ptr->rowbytes = row_size;
++#endif
+ BYTE *row_pointers = new BYTE[row_size];
+
+ /* write the file information */
+@@ -514,7 +679,11 @@
+ if (AlphaIsValid()){
+ for (long ax=head.biWidth-1; ax>=0;ax--){
+ c = BlindGetPixelColor(ax,ay);
++#if PNG_LIBPNG_VER > 10399
++ int px = ax * _channels;
++#else
+ int px = ax * info_ptr->channels;
++#endif
+ if (!bGrayScale){
+ row_pointers[px++]=c.rgbRed;
+ row_pointers[px++]=c.rgbGreen;
+@@ -529,7 +698,11 @@
+ #endif //CXIMAGE_SUPPORT_ALPHA // <vho>
+ {
+ iter.GetRow(row_pointers, row_size);
++#if PNG_LIBPNG_VER > 10399
++ if (_color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP
++#else
+ if (info_ptr->color_type == PNG_COLOR_TYPE_RGB) //HACK BY OP
++#endif
+ RGBtoBGR(row_pointers, row_size);
+ png_write_row(png_ptr, row_pointers);
+ }
+@@ -546,9 +719,14 @@
+ png_write_end(png_ptr, info_ptr);
+
+ /* if you malloced the palette, free it here */
++#if PNG_LIBPNG_VER > 10399
++ if (_palette){
++ delete [] (_palette);
++#else
+ if (info_ptr->palette){
+ delete [] (info_ptr->palette);
+ info_ptr->palette = NULL;
++#endif
+ }
+
+ /* clean up after the write, and free any memory allocated */
200 media-tv/xbmc-pvr/xbmc-pvr-9999.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-pvr-9999.ebuild,v 1.00 2011/06/02 00:44:00 alexb38 Exp $
+
+EAPI="2"
+
+inherit eutils python
+
+EGIT_REPO_URI="git://github.com/opdenkamp/xbmc.git"
+if [[ ${PV} == "9999" ]] ; then
+ inherit git autotools
+ EGIT_BRANCH="Eden-pvr"
+else
+ inherit autotools
+ MY_P=${P/_/-}
+ SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S=${WORKDIR}/${MY_P}
+fi
+
+DESCRIPTION="XBMC is a free and open source media-player and entertainment hub"
+HOMEPAGE="http://xbmc.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="alsa altivec avahi bluray css debug joystick midi profile pulseaudio rtmp sse sse2 udev vaapi vdpau webserver +xrandr"
+
+COMMON_DEPEND="virtual/opengl
+ app-arch/bzip2
+ app-arch/unzip
+ app-arch/zip
+ app-i18n/enca
+ >=dev-lang/python-2.4
+ dev-libs/boost
+ dev-libs/fribidi
+ dev-libs/libcdio[-minimal]
+ dev-libs/libpcre[cxx]
+ >=dev-libs/lzo-2.04
+ >=dev-python/pysqlite-2
+ media-libs/alsa-lib
+ media-libs/flac
+ media-libs/fontconfig
+ media-libs/freetype
+ >=media-libs/glew-1.5.6
+ media-libs/jasper
+ media-libs/jbigkit
+ virtual/jpeg
+ >=media-libs/libass-0.9.7
+ bluray? ( media-libs/libbluray )
+ css? ( media-libs/libdvdcss )
+ media-libs/libmad
+ media-libs/libmodplug
+ media-libs/libmpeg2
+ media-libs/libogg
+ media-libs/libsamplerate
+ media-libs/libsdl[audio,opengl,video,X]
+ alsa? ( media-libs/libsdl[alsa] )
+ media-libs/libvorbis
+ media-libs/sdl-gfx
+ >=media-libs/sdl-image-1.2.10[gif,jpeg,png]
+ media-libs/sdl-mixer
+ media-libs/sdl-sound
+ media-libs/tiff
+ dev-libs/yajl
+ pulseaudio? ( media-sound/pulseaudio )
+ media-sound/wavpack
+ rtmp? ( media-video/rtmpdump )
+ avahi? ( net-dns/avahi )
+ webserver? ( net-libs/libmicrohttpd )
+ net-misc/curl
+ || ( >=net-fs/samba-3.4.6[smbclient] <net-fs/samba-3.3 )
+ sys-apps/dbus
+ sys-libs/zlib
+ virtual/mysql
+ x11-apps/xdpyinfo
+ x11-apps/mesa-progs
+ vaapi? ( x11-libs/libva )
+ vdpau? (
+ || ( x11-libs/libvdpau >=x11-drivers/nvidia-drivers-180.51 )
+ )
+ x11-libs/libXinerama
+ xrandr? ( x11-libs/libXrandr )
+ x11-libs/libXrender
+ <net-wireless/bluez-4.98
+ !media-tv/xbmc"
+# The cpluff bundled addon uses gettext which needs CVS ...
+RDEPEND="${COMMON_DEPEND}
+ udev? ( sys-fs/udisks sys-power/upower )"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gperf
+ dev-vcs/cvs
+ x11-proto/xineramaproto
+ dev-util/cmake
+ x86? ( dev-lang/nasm )"
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ git_src_unpack
+ cd "${S}"
+ rm -f configure
+ else
+ unpack ${A}
+ cd "${S}"
+ fi
+
+ # Fix case sensitivity
+ mv media/Fonts/{a,A}rial.ttf || die
+ mv media/{S,s}plash.png || die
+}
+
+src_prepare() {
+ # patches for latests revisions of ffmpeg, some functions changed
+ # epatch "${FILESDIR}"/${PN}-9999-ffmpeg-9999.patch
+ # stolen from the aoliynik xbmc-9999 ebuild
+ epatch "${FILESDIR}"/${P}-libpng-1.5.patch #380127
+ epatch "${FILESDIR}"/${P}-libpng-1.5-fix-plt-trn-get.patch
+ #epatch "${FILESDIR}"/${P}-headers.patch #380127
+
+ # some dirs ship generated autotools, some dont
+ local d
+ for d in . lib/{libdvd/lib*/,cpluff,libapetag,libid3tag/libid3tag} xbmc/screensavers/rsxs-* ; do
+ [[ -e ${d}/configure ]] && continue
+ pushd ${d} >/dev/null
+ einfo "Generating autotools in ${d}"
+ eautoreconf
+ popd >/dev/null
+ done
+
+ local squish #290564
+ use altivec && squish="-DSQUISH_USE_ALTIVEC=1 -maltivec"
+ use sse && squish="-DSQUISH_USE_SSE=1 -msse"
+ use sse2 && squish="-DSQUISH_USE_SSE=2 -msse2"
+ sed -i \
+ -e '/^CXXFLAGS/{s:-D[^=]*=.::;s:-m[[:alnum:]]*::}' \
+ -e "1iCXXFLAGS += ${squish}" \
+ lib/libsquish/Makefile.in || die
+
+ # Fix XBMC's final version string showing as "exported"
+ # instead of the SVN revision number.
+ export HAVE_GIT=no GIT_REV=${EGIT_VERSION:-exported}
+
+ # Avoid lsb-release dependency
+ sed -i \
+ -e 's:lsb_release -d:cat /etc/gentoo-release:' \
+ xbmc/utils/SystemInfo.cpp || die
+
+ # avoid long delays when powerkit isn't running #348580
+ sed -i \
+ -e '/dbus_connection_send_with_reply_and_block/s:-1:3000:' \
+ xbmc/linux/*.cpp || die
+
+ epatch_user #293109
+
+ # Tweak autotool timestamps to avoid regeneration
+ find . -type f -print0 | xargs -0 touch -r configure
+}
+
+src_configure() {
+ # Disable documentation generation
+ export ac_cv_path_LATEX=no
+ # Avoid help2man
+ export HELP2MAN=$(type -P help2man || echo true)
+
+ econf \
+ --docdir=/usr/share/doc/${PF} \
+ --disable-ccache \
+ --disable-optimizations \
+ --enable-gl \
+ $(use_enable avahi) \
+ $(use_enable bluray libbluray) \
+ $(use_enable css dvdcss) \
+ $(use_enable debug) \
+ --disable-hal \
+ $(use_enable joystick) \
+ $(use_enable midi mid) \
+ $(use_enable profile profiling) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable rtmp) \
+ $(use_enable vaapi) \
+ $(use_enable vdpau) \
+ $(use_enable webserver) \
+ $(use_enable xrandr)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ prepalldocs
+
+ insinto /usr/share/applications
+ doins tools/Linux/xbmc.desktop
+ doicon tools/Linux/xbmc.png
+
+ insinto "$(python_get_sitedir)" #309885
+ doins tools/EventClients/lib/python/xbmcclient.py || die
+ newbin "tools/EventClients/Clients/XBMC Send/xbmc-send.py" xbmc-send || die
+}
+
+pkg_postinst() {
+ elog "Visit http://wiki.xbmc.org/?title=XBMC_Online_Manual"
+}
2 media-tv/xmltv/Manifest
@@ -0,0 +1,2 @@
+DIST xmltv-0.5.61.tar.bz2 884752 RMD160 c958e06d3129382609880c6069be2a958ac3ad71 SHA1 f0f499bcf3bf08416928807e8a5f18fe97597a09 SHA256 aee8af3612e9f152b7b45ae78c532da7c263255fdafa5010897cebfa2ad4121e
+EBUILD xmltv-0.5.61.ebuild 6448 RMD160 a7d1f3ac911be570c8a4b9d5a08aa3a4e41b94d7 SHA1 e8e1fb2da50d4f0c7d94a340a48e20eb0a243475 SHA256 73a8843678664a35d841554146ed84fdb0d3d8e5972eb7658b2411220cbea920
207 media-tv/xmltv/xmltv-0.5.61.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils perl-module
+
+DESCRIPTION="Set of utilities to manage TV listings stored in the XMLTV format."
+HOMEPAGE="http://membled.com/work/apps/xmltv/"
+SRC_URI="mirror://sourceforge/xmltv/${P}.tar.bz2"
+
+IUSE="ar ch dtvla uk_rt uk_bleb is it it_dvb na_dd na_icons fi es_laguiatv es_miguiatv ee re huro dk se_swedb hr no_gf fr pt eu_epg tv_combiner tv_pick_cgi tv_check na_dtv za"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+PREFIX="/usr"
+
+# NOTE: you can customize the xmltv installation by
+# defining USE FLAGS (custom ones in
+# /etc/portage/package.use for example).
+#
+# Do "equery u media-tv/xmltv" for the complete
+# list of the flags you can set, with description.
+
+# EXAMPLES:
+# enable just North American grabber
+# in /etc/portage/package.use : media-tv/xmltv na_dd
+#
+# enable graphical front-end, Italy grabber
+# in /etc/portage/package.use : media-tv/xmltv tv_check it
+
+RDEPEND=">=dev-perl/libwww-perl-5.65
+ >=dev-perl/XML-Parser-2.34
+ >=dev-perl/XML-Twig-3.10
+ >=dev-perl/DateManip-5.42
+ >=dev-perl/XML-Writer-0.6
+ virtual/perl-Memoize
+ virtual/perl-Storable
+ >=dev-perl/Lingua-Preferred-0.2.4
+ >=dev-perl/Term-ProgressBar-2.03
+ virtual/perl-IO-Compress
+ dev-perl/Unicode-String
+ dev-perl/TermReadKey
+ dev-perl/File-Slurp
+ >=dev-lang/perl-5.6.1
+ dev-perl/XML-LibXML"
+
+ #nl_wolf? ( dev-perl/HTML-Tree )
+DEPEND="${RDEPEND}
+ na_dd? ( na_icons? ( dev-perl/HTML-TableExtract >=dev-perl/WWW-Mechanize-1.02 ) )
+ dk? ( dev-perl/HTML-Tree )
+ fi? ( dev-perl/HTML-Tree )
+ fr? ( >=dev-perl/HTML-Parser-3.34 dev-perl/HTML-Tree )
+ huro? ( dev-perl/HTML-Tree )
+ it? ( dev-perl/XML-Simple )
+ is? ( dev-perl/XML-LibXSLT )
+ na_dd? ( dev-perl/SOAP-Lite dev-perl/TermReadKey )
+ no_gf? ( dev-perl/HTTP-Cache-Transparent dev-perl/IO-stringy dev-perl/XML-LibXML )
+ pt? ( dev-perl/HTML-Tree dev-perl/Unicode-UTF8simple )
+ eu_epg? ( dev-perl/Archive-Zip )
+ se_swedb? ( dev-perl/HTTP-Cache-Transparent dev-perl/IO-stringy dev-perl/XML-LibXML )
+ hr? ( dev-perl/HTTP-Cache-Transparent dev-perl/IO-stringy dev-perl/XML-LibXML )
+ uk_rt? ( dev-perl/HTTP-Cache-Transparent dev-perl/IO-stringy )
+ uk_bleb? ( dev-perl/Archive-Zip dev-perl/IO-stringy )
+ ee? ( dev-perl/IO-stringy )
+ re? ( dev-perl/Lingua-EN-Numbers-Ordinate )
+ tv_combiner? ( dev-perl/XML-LibXML )
+ tv_check? ( dev-perl/perl-tk dev-perl/Tk-TableMatrix )
+ tv_pick_cgi? ( virtual/perl-CGI dev-perl/Lingua-EN-Numbers-Ordinate )
+ na_dtv? ( >=dev-perl/WWW-Mechanize-1.02 dev-perl/TimeDate dev-perl/IO-stringy dev-perl/XML-LibXML )
+ "
+
+make_config() {
+ # Never except default configuration
+ echo "no"
+
+ # Enable Australian
+ #use au && echo "yes" || echo "no"
+ # Enable Agentina
+ use ar && echo "yes" || echo "no"
+ # Enable Brazil
+ #use br && echo "yes" || echo "no"
+ # Enable Brazil Cable
+ #use brnet && echo "yes" || echo "no"
+ # Enable Switzerland Search
+ use ch && echo "yes" || echo "no"
+ # Enable Latin America
+ use dtvla && echo "yes" || echo "no"
+ # Enable Alternate Brittain
+ use uk_rt && echo "yes" || echo "no"
+ # Enable Alternate Brittain 2
+ use uk_bleb && echo "yes" || echo "no"
+ # Enable Belgium and Luxemburg
+ #use be && echo "yes" || echo "no"
+ #Enable Iceland
+ use is && echo "yes" || echo "no"
+ # Enable Italy
+ use it && echo "yes" || echo "no"
+ # Enable Italy
+ use it_dvb && echo "yes" || echo "no"
+ # Enable North America using DataDirect
+ use na_dd && echo "yes" || echo "no"
+ # Enable North America channel icons
+ use na_icons && use na_dd && echo "yes" || echo "no"
+ # Enable Finland
+ use fi && echo "yes" || echo "no"
+ # Enable Spain
+ #use es && echo "yes" || echo "no"
+ # Enable Spain Digital
+ # use es_digital && echo "yes" || echo "no"
+ # Israel Temporary Disabled
+ # use il && echo "yes" || echo "no"
+ #echo "no"
+ # Enable Spain Alternatives
+ use es_laguiatv && echo "yes" || echo "no"
+ use es_miguiatv && echo "yes" || echo "no"
+ # Enable Netherlands
+ #use nl && echo "yes" || echo "no"
+ # Enable Alternate Netherlands
+ #use nl_wolf && echo "yes" || echo "no"
+ # Enable Hungary and Romania
+ use huro && echo "yes" || echo "no"
+ # Enable Denmark
+ use dk && echo "yes" || echo "no"
+ # Enable Japan
+ #use jp && echo "yes" || echo "no"
+ # Enable Sweden
+ use se_swedb && echo "yes" || echo "no"
+ # Enable Croatia
+ use hr && echo "yes" || echo "no"
+ # Enable Norway Gfeed
+ use no_gf && echo "yes" || echo "no"
+ # Enable France
+ use fr && echo "yes" || echo "no"
+ # Enable Norway
+ #use no && echo "yes" || echo "no"
+ # Enable Portugal
+ use pt && echo "yes" || echo "no"
+ # Enable South Africa
+ use za && echo "yes" || echo "no"
+ # Enable Europe epg
+ use eu_epg && echo "yes" || echo "no"
+ # Enable combiner
+ use tv_combiner && echo "yes" || echo "no"
+ # Enable GUI checking.
+ use tv_check && echo "yes" || echo "no"
+ # Enable CGI support
+ use tv_pick_cgi && echo "yes" || echo "no"
+ # Enable Estonia
+ use ee && echo "yes" || echo "no"
+ # Enable Reunion Island
+ use re && echo "yes" || echo "no"
+ # Enable Caledonie Island
+ #use nc && echo "yes" || echo "no"
+ # Enable North America DirecTV
+ use na_dtv && echo "yes" || echo "no"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+}
+
+src_compile() {
+ sed -i "s:\$VERSION = '${PV}':\$VERSION = '${PVR}':" Makefile.PL || die
+
+ # latest per-module eclass seems to not allow a real use of pm_echovar,
+ # so instead of the default method below we're forced to skip perl-module_src_compile
+ pm_echovar=`make_config`
+ perl-module_src_compile || die "error compiling"
+ #make_config | perl Makefile.PL || die "error configuring"
+ #make || die "error compiling"
+}
+
+src_install() {
+ # actually make test should be unneede, but if non na grabbers
+ # start to not install remove comment below
+ #make test
+ #make
+
+ # to bypass build issue
+ #make DESTDIR=${D} install || die "error installing"
+
+ perl-module_src_install || die "error installing"
+
+ for i in `grep -rl "${D}" "${D}"` ; do
+ sed -e "s:${D}::g" -i "${i}"
+ done
+
+ if use tv_pick_cgi ; then
+ dobin choose/tv_pick/tv_pick_cgi || die "error creating tv_pick_cgi"
+ fi
+}
+
+pkg_postinst() {
+ if use tv_pick_cgi ; then
+ elog "To use tv_pick_cgi, please link it from /usr/bin/tv_pick_cgi"
+ elog "to where the ScriptAlias directive is configured."
+ fi
+ if use na_icons ; then
+ if use na_dd ; then
+ elog "na_icons set for na_dd grabber user."
+ else
+ elog "na_icons works only when na_dd is set, "
+ elog "otherwise it does nothing."
+ fi
+ fi
+}
2 media-video/ffmpeg/Manifest
@@ -0,0 +1,2 @@
+AUX ffmpeg-0.7.6-fix_ppc64_32ul.patch 1094 RMD160 b765f1f8420701e6d9447391dd498f6807b2e2e7 SHA1 f4fd276e9a88d815657282d67b716dc793f30988 SHA256 b6e60ba7f9d179b8b2ba03cf74694d1e92e6fc6d4626cda258ab1af50e0afea4
+EBUILD ffmpeg-9999-r1.ebuild 8318 RMD160 a9829dbb5aac059042746486aebb1bf3d2dd3928 SHA1 6b2fd946cdd4238c456d04ccf0bf37c79bf1c9e2 SHA256 5cef85fc1e5e44b881da9f28ec9388ed6045a34ee2ee0de3d26f19c7e3bcb5aa
273 media-video/ffmpeg/ffmpeg-9999-r1.ebuild
@@ -0,0 +1,273 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-9999.ebuild,v 1.78 2012/01/28 12:19:08 aballier Exp $
+
+EAPI="4"
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-2"
+ EGIT_REPO_URI="git://git.videolan.org/ffmpeg.git"
+ EGIT_COMMIT="n0.10"
+fi
+
+inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec."
+HOMEPAGE="http://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+else # Release
+ SRC_URI="http://ffmpeg.org/releases/${P/_/-}.tar.bz2"
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+LICENSE="GPL-2 amr? ( GPL-3 ) encode? ( aac? ( GPL-3 ) )"
+SLOT="0"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+fi
+IUSE="
+ aac aacplus alsa amr ass bindist +bzip2 cdio celt cpudetection debug
+ dirac doc +encode faac frei0r gnutls gsm +hardcoded-tables ieee1394 jack
+ jpeg2k libv4l modplug mp3 network openal openssl oss pic pulseaudio
+ +qt-faststart rtmp schroedinger sdl speex static-libs test theora threads
+ truetype v4l vaapi vdpau vorbis vpx X x264 xvid +zlib
+ "
+
+# String for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+CPU_FEATURES="3dnow:amd3dnow 3dnowext:amd3dnowext altivec avx mmx mmxext:mmx2 ssse3 vis neon iwmmxt"
+
+for i in ${CPU_FEATURES}; do
+ IUSE="${IUSE} ${i%:*}"
+done
+
+RDEPEND="
+ alsa? ( media-libs/alsa-lib )
+ amr? ( media-libs/opencore-amr )
+ ass? ( media-libs/libass )
+ bzip2? ( app-arch/bzip2 )
+ cdio? ( dev-libs/libcdio )
+ celt? ( >=media-libs/celt-0.11.1 )
+ dirac? ( media-video/dirac )
+ encode? (
+ aac? ( media-libs/vo-aacenc )
+ aacplus? ( media-libs/libaacplus )
+ amr? ( media-libs/vo-amrwbenc )
+ faac? ( media-libs/faac )
+ mp3? ( >=media-sound/lame-3.98.3 )
+ theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
+ vorbis? ( media-libs/libvorbis media-libs/libogg )
+ x264? ( >=media-libs/x264-0.0.20111017 )
+ xvid? ( >=media-libs/xvid-1.1.0 )
+ )
+ frei0r? ( media-plugins/frei0r-plugins )
+ gnutls? ( net-libs/gnutls )
+ gsm? ( >=media-sound/gsm-1.0.12-r1 )
+ ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg2k? ( >=media-libs/openjpeg-1.3-r2 )
+ libv4l? ( media-libs/libv4l )
+ modplug? ( media-libs/libmodplug )
+ openal? ( >=media-libs/openal-1.1 )
+ pulseaudio? ( media-sound/pulseaudio )
+ rtmp? ( >=media-video/rtmpdump-2.2f )
+ sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
+ schroedinger? ( media-libs/schroedinger )
+ speex? ( >=media-libs/speex-1.2_beta3 )
+ truetype? ( media-libs/freetype:2 )
+ vaapi? ( >=x11-libs/libva-0.32 )
+ vdpau? ( x11-libs/libvdpau )
+ vpx? ( >=media-libs/libvpx-0.9.6 )
+ X? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXfixes )
+ zlib? ( sys-libs/zlib )
+ !media-video/qt-faststart
+"
+
+DEPEND="${RDEPEND}
+ >=sys-devel/make-3.81
+ dirac? ( dev-util/pkgconfig )
+ doc? ( app-text/texi2html )
+ gnutls? ( dev-util/pkgconfig )
+ ieee1394? ( dev-util/pkgconfig )
+ libv4l? ( dev-util/pkgconfig )
+ mmx? ( dev-lang/yasm )
+ rtmp? ( dev-util/pkgconfig )
+ schroedinger? ( dev-util/pkgconfig )
+ test? ( net-misc/wget )
+ truetype? ( dev-util/pkgconfig )
+ v4l? ( sys-kernel/linux-headers )
+"
+# faac is license-incompatible with ffmpeg
+REQUIRED_USE="bindist? ( encode? ( !faac !aacplus ) !openssl )
+ libv4l? ( v4l )
+ test? ( encode zlib )"
+
+S=${WORKDIR}/${P/_/-}
+
+src_prepare() {
+ if [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+}
+
+src_configure() {
+ local myconf="${EXTRA_FFMPEG_CONF}"
+ # Set to --enable-version3 if (L)GPL-3 is required
+ local version3=""
+
+ # enabled by default
+ for i in debug doc network vaapi vdpau zlib; do
+ use ${i} || myconf="${myconf} --disable-${i}"
+ done
+ use bzip2 || myconf="${myconf} --disable-bzlib"
+ use sdl || myconf="${myconf} --disable-ffplay"
+
+ use cpudetection && myconf="${myconf} --enable-runtime-cpudetect"
+ use openssl && myconf="${myconf} --enable-openssl --enable-nonfree"
+ for i in gnutls ; do
+ use $i && myconf="${myconf} --enable-$i"
+ done
+
+ # Encoders
+ if use encode
+ then
+ use mp3 && myconf="${myconf} --enable-libmp3lame"
+ use aac && { myconf="${myconf} --enable-libvo-aacenc" ; version3=" --enable-version3" ; }
+ use amr && { myconf="${myconf} --enable-libvo-amrwbenc" ; version3=" --enable-version3" ; }
+ for i in theora vorbis x264 xvid; do
+ use ${i} && myconf="${myconf} --enable-lib${i}"
+ done
+ use aacplus && myconf="${myconf} --enable-libaacplus --enable-nonfree"
+ use faac && myconf="${myconf} --enable-libfaac --enable-nonfree"
+ else
+ myconf="${myconf} --disable-encoders"
+ fi
+
+ # libavdevice options
+ use cdio && myconf="${myconf} --enable-libcdio"
+ use ieee1394 && myconf="${myconf} --enable-libdc1394"
+ use openal && myconf="${myconf} --enable-openal"
+ # Indevs
+ # v4l1 is gone since linux-headers-2.6.38
+ myconf="${myconf} --disable-indev=v4l"
+ use v4l || myconf="${myconf} --disable-indev=v4l2"
+ for i in alsa oss jack ; do
+ use ${i} || myconf="${myconf} --disable-indev=${i}"
+ done
+ use X && myconf="${myconf} --enable-x11grab"
+ use pulseaudio && myconf="${myconf} --enable-libpulse"
+ use libv4l && myconf="${myconf} --enable-libv4l2"
+ # Outdevs
+ for i in alsa oss sdl ; do
+ use ${i} || myconf="${myconf} --disable-outdev=${i}"
+ done
+ # libavfilter options
+ use frei0r && myconf="${myconf} --enable-frei0r"
+ use truetype && myconf="${myconf} --enable-libfreetype"
+ use ass && myconf="${myconf} --enable-libass"
+
+ # Threads; we only support pthread for now but ffmpeg supports more
+ use threads && myconf="${myconf} --enable-pthreads"
+
+ # Decoders
+ use amr && { myconf="${myconf} --enable-libopencore-amrwb --enable-libopencore-amrnb" ; version3=" --enable-version3" ; }
+ for i in celt gsm dirac modplug rtmp schroedinger speex vpx; do
+ use ${i} && myconf="${myconf} --enable-lib${i}"
+ done
+ use jpeg2k && myconf="${myconf} --enable-libopenjpeg"
+
+ # CPU features
+ for i in ${CPU_FEATURES}; do
+ use ${i%:*} || myconf="${myconf} --disable-${i#*:}"
+ done
+ if use pic ; then
+ myconf="${myconf} --enable-pic"
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ use x86 && myconf="${myconf} --disable-asm"
+ fi
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
+ [ "${i}" = "native" ] && i="host" # bug #273421
+ myconf="${myconf} --cpu=${i}"
+ break
+ done
+
+ # Mandatory configuration
+ myconf="
+ --enable-gpl
+ ${version3}
+ --enable-postproc
+ --enable-avfilter
+ --disable-stripping
+ ${myconf}"
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-"
+ case ${CHOST} in
+ *freebsd*)
+ myconf="${myconf} --target-os=freebsd"
+ ;;
+ mingw32*)
+ myconf="${myconf} --target-os=mingw32"
+ ;;
+ *linux*)
+ myconf="${myconf} --target-os=linux"
+ ;;
+ esac
+ fi
+
+ # Misc stuff
+ use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables"
+
+ cd "${S}"
+ ./configure \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --optflags="${CFLAGS}" \
+ --extra-cflags="${CFLAGS}" \
+ --extra-cxxflags="${CXXFLAGS}" \
+ $(use_enable static-libs static) \
+ ${myconf} || die
+}
+
+src_compile() {
+ emake
+
+ if use qt-faststart; then
+ tc-export CC
+ emake -C tools qt-faststart
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install install-man
+
+ dodoc Changelog README INSTALL
+ dodoc -r doc/*
+
+ if use qt-faststart; then
+ dobin tools/qt-faststart
+ fi
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/libpostproc:${S}/libswscale:${S}/libswresample:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \
+ emake fate
+}
43 media-video/ffmpeg/files/ffmpeg-0.7.6-fix_ppc64_32ul.patch
@@ -0,0 +1,43 @@
+Autodetect PowerPC vs. PowerPC64.
+
+This is the same code as for x86_64.
+This is necessary because uname returns PPC64 if the hardware
+is 64 bit, however the userland can still be fully 32 bit.
+In that case FFmpeg fails to compile because some macros in the
+asm code are set up incorrectly.
+For details see https://bugs.gentoo.org/show_bug.cgi?id=341235
+https://bugs.gentoo.org/show_bug.cgi?id=387207
+
+author: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
+
+diff --git a/configure b/configure
+index 6aa194c..0752d73 100755
+--- a/configure
++++ b/configure
+@@ -2188,13 +2188,9 @@ case "$arch" in
+ arch="parisc"
+ subarch="parisc64"
+ ;;
+- "Power Macintosh"|ppc|powerpc)
++ "Power Macintosh"|ppc|powerpc|ppc64|powerpc64)
+ arch="ppc"
+ ;;
+- ppc64|powerpc64)
+- arch="ppc"
+- subarch="ppc64"
+- ;;
+ s390|s390x)
+ arch="s390"
+ ;;
+@@ -2392,6 +2388,11 @@ EOF
+ spic=$shared
+ fi
+ ;;
++ ppc)
++ check_cc <<EOF && subarch="ppc64"
++ int test[(int)sizeof(char*) - 7];
++EOF
++ ;;
+ esac
+
+ enable $subarch
5 net-nntp/sabnzbd/Manifest
@@ -0,0 +1,5 @@
+AUX sabnzbd.conf 723 RMD160 704a24d899970fb3051285a8f8dd650bb1584f48 SHA1 62c9b924debefe6111592f4e9d1620f4933b414d SHA256 b0eda99cdf1dc12d2818f3eb131a447cf054ace8bf921f90f9e28fbd01523bae
+AUX sabnzbd.ini 2415 RMD160 eec1fbb240c3e1b904d3757da7a2f6e60acad157 SHA1 82ccfd2689042a33ed2d26c587489e98ffeddd3c SHA256 e05345c728bb2285caaf8feec264aaef3adaf903c4fd1879d3222fd5a7ae304a
+AUX sabnzbd.init 509 RMD160 84fe7ab74e15eca5e630f05b60f9650a1faeaacc SHA1 b2568a3fea569017428c3e3a9852e1151db9f550 SHA256 92024dc4a466c6ef10e6ccec2c98f5d038d496ebd4d07222d1492d640d1c6113
+DIST SABnzbd-0.6.1-src.tar.gz 1888233 RMD160 0ac6823c2b850d4184b94f6a206241bcab04af1e SHA1 6e009f210235bb6b8278c59634bf2db1b5fb32f4 SHA256 b9b7e15c3e774aae42e248f19bc97bdbc17afe6bf27e236a7d565ddf5e11ae58
+EBUILD sabnzbd-0.6.1.ebuild 3849 RMD160 8710f0c02ed2511844da6589a1b265359c4689ac SHA1 38b7b89d0fb9951c065709a1dacfa40aecac760e SHA256 10d6979e9df501dab13a3c7156cfb046f0acbba230c650249b7cc7192c7266a6
22 net-nntp/sabnzbd/files/sabnzbd.conf
@@ -0,0 +1,22 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# /etc/conf.d/sabnzbd
+# Config file for sabnzbd init script
+
+# Which user to run sabnzbd as, you should change this.
+SAB_USER="sabnzbd"
+
+# This overrides the contents of /etc/sabnzbd.conf, needed for wget shutdown to work in init (short of writing some crazy regex for the config)
+SAB_HOSTNAME="localhost"
+SAB_PORT="8081"
+
+# Location of config file.
+# Make sure the user specified above can read this file. (if you want to change options from the webUI, give it write)
+SAB_CFG="/etc/sabnzbd/sabnzbd.ini"
+
+SAB_PATH=/usr/share/sabnzbd/
+SAB_PY=SABnzbd.py
+
+SAB_PID=/var/run/sabnzbd/sabnzbd-${SAB_PORT}.pid
131 net-nntp/sabnzbd/files/sabnzbd.ini
@@ -0,0 +1,131 @@
+__version__ = 19
+[misc]
+log_dir = /var/log/sabnzbd
+auto_browser = 0
+permissions = 0775
+check_new_rel = 1
+replace_spaces = 0
+fail_on_crc = 0
+enable_filejoin = 0
+enable_unzip = 1
+enable_unrar = 1
+enable_par_cleanup = 1
+par_option = ""
+config_lock = 0
+safe_postproc = 0
+pause_on_post_processing = 0
+cleanup_list = ""
+ignore_samples = 0
+send_group = 0
+download_free = 0
+admin_dir = /var/lib/sabnzbd/admin
+cache_dir = /var/lib/sabnzbd/cache
+complete_dir = /var/lib/sabnzbd/complete
+download_dir = /var/lib/sabnzbd/download
+dirscan_dir = /var/lib/sabnzbd/dirscan
+incomplete_dir = /var/lib/sabnzbd/incomplete
+nzb_backup_dir = /var/lib/sabnzbd/nzb_backup
+script_dir = /var/lib/sabnzbd/scripts
+dirscan_speed = 5
+refresh_rate = 0
+rss_rate = 60
+bandwith_limit = 0
+cache_limit = 0
+email_server = ""
+email_to = ""
+email_from = ""
+email_account = ""
+email_pwd = ""
+email_endjob = 0
+email_full = 0
+schedlines = ,
+dirscan_opts = 3
+dirscan_script = ""
+top_only = 1
+auto_sort = 0
+enable_tv_sorting = 0
+tv_sort_string = ""
+web_color = ""
+web_color2 = ""
+host = 0.0.0.0
+port = 8080
+web_dir = smpl
+web_dir2 = ""
+username = sabnzbd
+password = secret
+api_key = ""
+[logging]
+enable_cherrypy_logging = 1
+log_level = 1
+max_log_size = 5M
+log_backups = 5
+[newzbin]
+username = ""
+password = ""
+bookmarks = 0
+unbookmark = 0
+bookmark_rate = 60
+[servers]
+##example
+#[[news-europe.giganews.com:119]]
+#host = news-europe.giganews.com
+#port = 119
+#username = changeme
+#password = changeme
+#timeout = 120
+#connections = 5
+#fillserver = 0
+## 0 to disable SSL
+#ssl = 0
+## example using SSL
+#[[news-europe.giganews.com:563]]
+#host = news-europe.giganews.com
+#port = 563
+#username = changeme
+#password = changeme
+#timeout = 120
+#connections = 5
+#fillserver = 0
+## 0 to disable SSL
+#ssl = 1
+[rss]
+[categories]
+[[unknown]]
+newzbin = Unknown
+dir = Unknown
+[[anime]]
+newzbin = Anime
+dir = Anime
+[[apps]]
+newzbin = Apps
+dir = Apps
+[[books]]
+newzbin = Books
+dir = Books
+[[consoles]]
+newzbin = Consoles
+dir = Consoles
+[[emulation]]
+newzbin = Emulation
+dir = Emulation
+[[games]]
+newzbin = Games
+dir = Games
+[[misc]]
+newzbin = Misc
+dir = Misc
+[[movies]]
+newzbin = Movies
+dir = Movies
+[[music]]
+newzbin = Music
+dir = Music
+[[pda]]
+newzbin = PDA
+dir = PDA
+[[resources]]
+newzbin = Resources
+dir = Resources
+[[tv]]
+newzbin = TV
+dir = TV
22 net-nntp/sabnzbd/files/sabnzbd.init
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+opts="start stop"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting SABnzbd"
+ start-stop-daemon --start --quiet --user "${SAB_USER}" --pidfile "${SAB_PID}" -d "${SAB_PATH}" --exec python "${SAB_PY}" -- -d -f "${SAB_CFG}" --pid /var/run/sabnzbd/
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping SABnzbd"
+ start-stop-daemon --stop --retry 30 --pidfile "${SAB_PID}"
+ eend $?
+}
130 net-nntp/sabnzbd/sabnzbd-0.6.1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils multilib python
+
+EAPI="1"
+
+MY_P="$P"
+MY_P="${MY_P/sab/SAB}"
+MY_P="${MY_P/_beta/Beta}"
+MY_P="${MY_P/_rc/RC}"
+
+DESCRIPTION="Binary Newsgrabber written in Python, server-oriented using a web-interface.The active successor of the abandoned SABnzbd project."
+HOMEPAGE="http://www.sabnzbd.org/"
+SRC_URI="mirror://sourceforge/sabnzbdplus/${MY_P}-src.tar.gz"
+
+HOMEDIR="${ROOT}var/lib/${PN}"
+DHOMEDIR="/var/lib/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+rar unzip rss +yenc ssl"
+
+RDEPEND="
+ >=dev-lang/python-2.5
+ >=dev-python/celementtree-1.0.5
+ >=dev-python/cheetah-2.0.1
+ >=app-arch/par2cmdline-0.4
+ rar? ( >=app-arch/unrar-3.9.0 )
+ unzip? ( >=app-arch/unzip-5.5.2 )
+ yenc? ( >=dev-python/yenc-0.3 )
+ ssl? ( >=dev-python/pyopenssl-0.7
+ dev-libs/openssl )"
+DEPEND="${RDEPEND}
+ app-text/dos2unix"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ #Create sabnzbd group
+ enewgroup "${PN}"
+ # Create sabnzbd user, put in sabnzbd group
+ enewuser "${PN}" -1 -1 "${HOMEDIR}" "${PN}"
+}
+
+src_unpack() {
+ unpack ${A}
+}
+
+src_install() {
+
+ cp "${FILESDIR}/${PN}.ini" "${S}" || die "copying sample ${PN}.ini"
+
+ dodoc CHANGELOG.txt ISSUES.txt INSTALL.txt README.txt Sample-PostProc.sh Sample-PostProc.cmd
+
+ insopts -m0660 -o root -g ${PN}
+ newconfd "${FILESDIR}/${PN}.conf" "${PN}"
+
+ newinitd "${FILESDIR}/${PN}.init" "${PN}"
+
+ #SABnzbd >=0.6.0 write temp files when editing config from the web GUI, so directory needs to be writable by the SABnzbd process
+ diropts -m0770 -o root -g ${PN}
+ dodir /etc/${PN}
+
+ insinto /etc/${PN}/
+ insopts -m0660 -o root -g ${PN}
+ doins "${PN}.ini" || die "newins ${PN}.ini"
+
+ #Create all default dirs & mark with .keep so portage will not remove them
+ keepdir ${DHOMEDIR}
+ for i in admin cache complete download dirscan incomplete nzb_backup scripts; do
+ keepdir ${DHOMEDIR}/${i}
+ done
+
+ #Create & assign ownership of SABnzbd default directories
+ fowners -R root:${PN} ${DHOMEDIR}
+ fperms -R 770 ${DHOMEDIR}
+
+ #Create & assign ownership of SABnzbd log directory
+ keepdir /var/log/${PN}
+ fowners -R root:${PN} /var/log/${PN}
+ fperms -R 770 /var/log/${PN}
+
+ #Create & assign ownership of SABnzbd PID directory
+ keepdir /var/run/${PN}
+ fowners -R root:${PN} /var/run/${PN}
+ fperms -R 770 /var/run/${PN}
+
+ #Add themes & code into /usr/share
+ dodir /usr/share/${P}
+ insinto /usr/share/${P}
+ for i in cherrypy interfaces sabnzbd email locale po tools util;do
+ doins -r $i || die "installing $i directory"
+ done
+
+ doins SABnzbd.py || die "installing SABnzbd.py"
+
+ #create symlink to /usr/share/sabnzbd (minus version #)
+ dosym /usr/share/${P} /usr/share/${PN}
+
+ #Adjust permissions in python source directory for root:sabnzbd
+ fowners -R root:${PN} /usr/share/${P}
+ fperms -R 770 /usr/share/${P}
+}
+
+pkg_postinst() {
+ python_mod_optimize /usr/share/${P}/sabnzbd
+
+ einfo "SABnzbd has been installed with default directories in ${HOMEDIR}"
+ einfo "Email templates can be found in: ${ROOT}usr/share/${P}/email"
+ einfo ""
+ einfo "By default, SABnzbd runs as the unprivileged user \"sabnzbd\""
+ einfo "on port 8081 with no API key."
+ einfo ""
+ einfo "Be sure to that the \"sabnzbd\" user has the appropriate"
+ einfo "permissions to read/write to any non-default directories"
+ einfo "if changed in ${PN}.ini"
+ einfo ""
+ einfo "Configuration files are accessible only to users in the \"sabnzbd\" group"
+ einfo "Run 'gpasswd -a <user> sabnzbd' to add a user to the sabnzbd group"
+ einfo "so it can edit the appropriate configuration files"
+ einfo ""
+ ewarn "Please configure /etc/conf.d/${PN} before starting!"
+ ewarn ""
+ ewarn "Start with ${ROOT}etc/init.d/${PN} start"
+ ewarn "Visit http://<host ip>:8081 to configure SABnzbd"
+ ewarn "Default web username/password : sabnzbd/secret"
+}
4 net-nntp/sick-beard/Manifest
@@ -0,0 +1,4 @@
+AUX config.ini 73 RMD160 d027b8d9bf90ded5a0076e560ab26f8cbf62df0c SHA1 427f986db4b50c7f7147742250abf937d711cef3 SHA256 c432adbbb59d721d63ef4eb0faed9d7bb193c4443db4400a54e28bad585b6d2c
+AUX sick-beard.conf 581 RMD160 4cebf7bd977bbd3cd78db2ede1ebe04b2ca87cc1 SHA1 7b01e5bb46f31ee7d90a74b53a3d52b067ae5cf2 SHA256 832899ec276eccd33db805d2216e6f02559820709cee7b9e4dc7ca4be22427f2
+AUX sick-beard.init 589 RMD160 58d2b2edfea2f8c816404c4a6e845163187d3cc7 SHA1 18dc3615f1466e4302d33180a1c7044eb725bb34 SHA256 0450fe7fb7c0e3e31d9f8bb670c3cd0813d0ae8ca44a5113534d1c232cca2742
+EBUILD sick-beard-9999.ebuild 1651 RMD160 fcfad2a286db01374d90806d6ac1acd022ee43a7 SHA1 908e4ded20eede0ec89271796e6e32b6220bc9f5 SHA256 b587f03353d282f52b8d5acad0e70e9c261d8157dbad85d57225944bf05b79c6
3 net-nntp/sick-beard/files/config.ini
@@ -0,0 +1,3 @@
+[General]
+log_dir = /var/log/sick-beard
+cache_dir = /var/cache/sick-beard
24 net-nntp/sick-beard/files/sick-beard.conf
@@ -0,0 +1,24 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header$
+
+# Config file for sick-beard init script
+
+# Which user to run sick-beard as, don't change this without switching sabnzbd too. (And fixing the perms)
+SB_USER="sabnzbd"
+SB_GROUP="sabnzbd"
+
+# Unless you have switched to python3, don't touch this
+SB_PYTHON="/usr/bin/python"
+
+# SickBeard main binary
+SB_BIN="SickBeard.py"
+
+# SickBeard main directory
+SB_DIR="/usr/lib/sick-beard"
+
+# Startup options
+SB_OPTS="-q"
+
+# PID file
+SB_PID="/var/run/sick-beard/sickbeard.pid"
33 net-nntp/sick-beard/files/sick-beard.init
@@ -0,0 +1,33 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+opts="start stop restart"
+
+depend() {
+ need net
+ use sabnzbd
+}
+
+start() {
+ ebegin "Starting Sick-Beard"
+ start-stop-daemon --quiet --background --start \
+ -d ${SB_DIR} -c ${SB_USER}:${SB_GROUP} \
+ --pidfile ${SB_PID} --make-pidfile \
+ --exec ${SB_PYTHON} -- \
+ ${SB_BIN} ${SB_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Sick-Beard"
+ start-stop-daemon --quiet --stop --pidfile ${SB_PID}
+ eend $?
+}
+
+#restart() {
+# stop()
+# sleep 15
+# start()
+#}
69 net-nntp/sick-beard/sick-beard-9999.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.6"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit eutils git python
+
+MY_PN="${PN/s/S}"
+MY_PN="${MY_PN/b/B}"
+
+DESCRIPTION="TV shows PVR & episode guide"
+HOMEPAGE="http://github.com/midgetspy/${MY_PN}"
+SRC_URI=""
+
+EGIT_REPO_URI="http://github.com/midgetspy/${MY_PN}.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ >=dev-python/cherrypy-3.2.0_rc1
+ dev-python/cheetah
+ net-nntp/sabnzbd"
+RESTRICT_PYTHON_ABIS="2.4 3.*"
+
+DOCS=( "COPYING.txt" "readme.md" )
+
+src_install() {
+ # Init script
+ newconfd "${FILESDIR}/${PN}.conf" "${PN}"
+ newinitd "${FILESDIR}/${PN}.init" "${PN}"
+
+ # Install
+ dodir /usr/lib/${PN}
+ insinto /usr/lib/${PN}
+
+ for sickb_dir in autoProcessTV data lib sickbeard ; do
+ doins -r ${sickb_dir} || die "failed to install ${sickb_dir}"
+ done
+ doins SickBeard.py || die "failed to install SickBeard.py"
+
+ # Create run, log & cache directories
+ for sickb_runtime_dir in run log cache ; do
+ keepdir /var/${sickb_runtime_dir}/${PN}
+ fowners -R sabnzbd:sabnzbd /var/${sickb_runtime_dir}/${PN}
+ fperms -R 775 /var/${sickb_runtime_dir}/${PN}
+ done
+
+ # Install bare-bone config file (NOTE: AFAICT, sickbeard will *always* look for it in its basedir...)
+ insinto /usr/lib/${PN}
+ newins "${FILESDIR}/config.ini" "config.ini"
+ fowners root:sabnzbd /usr/lib/${PN}/config.ini
+ fperms 660 /usr/lib/${PN}/config.ini
+
+ # Fix perms
+ fowners -R root:sabnzbd /usr/lib/${PN}
+ fperms -R 775 /usr/lib/${PN}
+}
+
+#pkg_postinst() {
+# Optimize
+#python_mod_optimize "/usr/lib/${PN}"
+#}
1 profiles/repo_name
@@ -0,0 +1 @@
+gbin

0 comments on commit b2a2661

Please sign in to comment.
Something went wrong with that request. Please try again.