summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/xanim')
-rw-r--r--media-video/xanim/Manifest13
-rw-r--r--media-video/xanim/files/xanim-2.80.1-freebsd.patch14
-rw-r--r--media-video/xanim/files/xanim-2.80.1-gcc41.patch71
-rw-r--r--media-video/xanim/metadata.xml8
-rw-r--r--media-video/xanim/xanim-2.80.1-r4.ebuild129
5 files changed, 235 insertions, 0 deletions
diff --git a/media-video/xanim/Manifest b/media-video/xanim/Manifest
new file mode 100644
index 000000000000..6b412a8ca203
--- /dev/null
+++ b/media-video/xanim/Manifest
@@ -0,0 +1,13 @@
+DIST xa1.0_cyuv_linuxAlpha.o.gz 2053 SHA256 3b0a75581e9e10d7f60a699514ee7bd9dd0271c1ba731d15e90b4bb0c12b7187
+DIST xa1.0_cyuv_linuxELFg21.o.gz 1141 SHA256 9fa40166a40a20734ba1d00990d142a3961c2416e66dac3fe0767e8304aadb1a
+DIST xa1.0_cyuv_linuxPPC.o.Z 1513 SHA256 35318deacea099d0c05be985c01672f7f306e748965d5bbc8dd454fe8a28c46e
+DIST xa1.0_cyuv_sparcELF.o.Z 1277 SHA256 f77cc763c9358e86bd5b77675cabf2150b2085d00d54eada0ec86239959a4a08
+DIST xa2.0_cvid_linuxAlpha.o.gz 5096 SHA256 83efeb14842cd6ee23565e1b8aa7dd637d5de5d7e7cfc25139f4a6b65588ef08
+DIST xa2.0_cvid_linuxELFg21.o.gz 3689 SHA256 59d7f06388f6461ce69aec7b815b5b76281bad14c7ef13f8fadaa5b848072eb5
+DIST xa2.0_cvid_linuxPPC.o.Z 5192 SHA256 aa7ea8f934780fa3ea887867811c18023cf7a9740cdfa942648f4fd7d6d996f5
+DIST xa2.0_cvid_sparcELF.o.Z 4730 SHA256 705511a4eb9a639b7c95a3bb7d6f4f7b1d0ce4a59db2a9cb567bfb3c4a513d02
+DIST xa2.0_iv32_linuxAlpha.o.gz 33172 SHA256 5439471b0f78da3538ef366311c5ad732e415c95095a452b46694b5b68deac15
+DIST xa2.0_iv32_linuxPPC.o.Z 56163 SHA256 d332753ffc6a47c9853a26443e562d3d5aa1cc7a8ac9fad471d3bd2ca0207d3e
+DIST xa2.0_iv32_sparcELF.o.Z 48813 SHA256 86b4613490ac3cadc73524cc433deafebedacbda692ad5f88bcb7c029113ad24
+DIST xa2.1_iv32_linuxELFg21.o.gz 29291 SHA256 41420dca15e5e546c455553b6434435d53de17a08a6307a79de75e753a85b3a1
+DIST xanim2801.tar.gz 441250 SHA256 72031927a70ab782e2b0a69daaef7894b0ec1c2c6c2d65d495aff5f50bbed0a9
diff --git a/media-video/xanim/files/xanim-2.80.1-freebsd.patch b/media-video/xanim/files/xanim-2.80.1-freebsd.patch
new file mode 100644
index 000000000000..c31651a74fbe
--- /dev/null
+++ b/media-video/xanim/files/xanim-2.80.1-freebsd.patch
@@ -0,0 +1,14 @@
+--- xa_audio.h.old Thu Apr 11 08:48:39 2002
++++ xa_audio.h Thu Apr 11 08:49:25 2002
+@@ -139,7 +139,11 @@
+ #define _FILE_DSP "/dev/dsp"
+ #define _FILE_MIXER "/dev/mixer"
+ #ifdef __FreeBSD__
++#if __FreeBSD__ > 3
++#include <sys/soundcard.h>
++#else
+ #include <machine/soundcard.h>
++#endif
+ #else
+ #include <sys/soundcard.h>
+ #endif
diff --git a/media-video/xanim/files/xanim-2.80.1-gcc41.patch b/media-video/xanim/files/xanim-2.80.1-gcc41.patch
new file mode 100644
index 000000000000..3652989c32da
--- /dev/null
+++ b/media-video/xanim/files/xanim-2.80.1-gcc41.patch
@@ -0,0 +1,71 @@
+--- xanim2801/xa_input.c.orig 2006-02-24 23:01:28.000000000 +0900
++++ xanim2801/xa_input.c 2006-02-24 23:07:28.000000000 +0900
+@@ -952,13 +952,6 @@
+ else return(xaFALSE);
+ }
+
+-xaULONG xa_ftp_abort(xin)
+-XA_INPUT xin;
+-{
+- return(xaFALSE);
+-}
+-
+-
+ /************************
+ *
+ *********/
+@@ -1025,28 +1018,28 @@
+ memset(&data,0,sizeof(data));
+ memset(&from,0,sizeof(from));
+ if (gethostname(hostname, sizeof(hostname)) < 0)
+- return(xa_ftp_abort(xin));
++ return(xaFALSE);
+ if ((host= (struct hostent *)gethostbyname(hostname)) == 0)
+- return(xa_ftp_abort(xin));
++ return(xaFALSE);
+ data.sin_family = host->h_addrtype;
+ memcpy( (char *)&data.sin_addr, (char *)host->h_addr_list[0], host->h_length);
+ if ((tmp_sock = socket ( AF_INET , SOCK_STREAM , 0 )) < 0)
+- return(xa_ftp_abort(xin));
++ return(xaFALSE);
+ len = 1;
+ if (setsockopt(tmp_sock, SOL_SOCKET, SO_REUSEADDR,
+ (char *)(&len), sizeof(len)) < 0)
+- { close(tmp_sock); return(xa_ftp_abort(xin)); }
++ { close(tmp_sock); return(xaFALSE); }
+
+ data.sin_port = 0;
+ if ( bind(tmp_sock, (struct sockaddr *)&data, sizeof(data)) < 0 )
+- { close(tmp_sock); return(xa_ftp_abort(xin)); }
++ { close(tmp_sock); return(xaFALSE); }
+
+ len = sizeof(data);
+ if (getsockname(tmp_sock, (struct sockaddr *)&data, &len) < 0 )
+- { close(tmp_sock); return(xa_ftp_abort(xin)); }
++ { close(tmp_sock); return(xaFALSE); }
+
+ if (listen(tmp_sock, 4) < 0 )
+- { close(tmp_sock); return(xa_ftp_abort(xin)); }
++ { close(tmp_sock); return(xaFALSE); }
+
+ /* POD add support for PORT command? */
+ addr = (xaUBYTE *) (&data.sin_addr);
+@@ -1059,15 +1052,15 @@
+
+ if (xa_ftp_send_cmd(xin, port_cmd, &retcode) == xaFALSE)
+ { fprintf(stderr,"FTP: send cmd err\n");
+- close(tmp_sock); return(xa_ftp_abort(xin)); }
++ close(tmp_sock); return(xaFALSE); }
+
+ if (xa_ftp_send_cmd(xin, file_cmd, &retcode) == xaFALSE)
+ { fprintf(stderr,"FTP: send cmd err\n");
+- close(tmp_sock); return(xa_ftp_abort(xin)); }
++ close(tmp_sock); return(xaFALSE); }
+
+ len = sizeof(from);
+ xin->dsock = accept((int)tmp_sock, (struct sockaddr *) &from, (int *)&len);
+- if (xin->dsock < 0) { close(tmp_sock); return(xa_ftp_abort(xin)); }
++ if (xin->dsock < 0) { close(tmp_sock); return(xaFALSE); }
+ close(tmp_sock);
+ return(xaTRUE);
+ }
diff --git a/media-video/xanim/metadata.xml b/media-video/xanim/metadata.xml
new file mode 100644
index 000000000000..1cadc2e4ec21
--- /dev/null
+++ b/media-video/xanim/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>video</herd>
+<maintainer>
+ <email>media-video@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/media-video/xanim/xanim-2.80.1-r4.ebuild b/media-video/xanim/xanim-2.80.1-r4.ebuild
new file mode 100644
index 000000000000..f49e589999be
--- /dev/null
+++ b/media-video/xanim/xanim-2.80.1-r4.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="program for playing a wide variety of animation, audio and video formats"
+HOMEPAGE="http://xanim.polter.net/"
+
+LICENSE="XAnim"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE=""
+
+RDEPEND="x11-libs/libXext
+ x11-libs/libXt
+ >=sys-libs/zlib-1.1.3"
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4.0.5
+ x11-proto/xextproto"
+
+MY_P=${PN}${PV//.}
+S=${WORKDIR}/${MY_P}
+
+_XA_CYUV_alpha=xa1.0_cyuv_linuxAlpha.o
+_XA_CVID_alpha=xa2.0_cvid_linuxAlpha.o
+_XA_IV32_alpha=xa2.0_iv32_linuxAlpha.o
+_XA_EXT_alpha=.gz
+
+_XA_CYUV_ppc=xa1.0_cyuv_linuxPPC.o
+_XA_CVID_ppc=xa2.0_cvid_linuxPPC.o
+_XA_IV32_ppc=xa2.0_iv32_linuxPPC.o
+_XA_EXT_ppc=.Z
+
+_XA_CYUV_sparc=xa1.0_cyuv_sparcELF.o
+_XA_CVID_sparc=xa2.0_cvid_sparcELF.o
+_XA_IV32_sparc=xa2.0_iv32_sparcELF.o
+_XA_EXT_sparc=.Z
+
+_XA_CYUV_x86=xa1.0_cyuv_linuxELFg21.o
+_XA_CVID_x86=xa2.0_cvid_linuxELFg21.o
+_XA_IV32_x86=xa2.1_iv32_linuxELFg21.o
+_XA_EXT_x86=.gz
+
+_XA_CYUV_x86_fbsd=xa1.0_cyuv_linuxELFg21.o
+_XA_CVID_x86_fbsd=xa2.0_cvid_linuxELFg21.o
+_XA_IV32_x86_fbsd=xa2.1_iv32_linuxELFg21.o
+_XA_EXT_x86_fbsd=.gz
+
+# This might leave _XA_EXT empty and that's fine, just indicates no
+# particular support for a given arch
+MY_ARCH=${ARCH/-/_}
+eval _XA_EXT=\${_XA_EXT_${MY_ARCH}}
+eval _XA_CVID=\${_XA_CVID_${MY_ARCH}}
+eval _XA_CYUV=\${_XA_CYUV_${MY_ARCH}}
+eval _XA_IV32=\${_XA_IV32_${MY_ARCH}}
+
+SRC_URI="mirror://gentoo/${MY_P}.tar.gz
+ sparc? (
+ mirror://gentoo/${_XA_CVID_sparc}${_XA_EXT_sparc}
+ mirror://gentoo/${_XA_CYUV_sparc}${_XA_EXT_sparc}
+ mirror://gentoo/${_XA_IV32_sparc}${_XA_EXT_sparc}
+ )
+ alpha? (
+ mirror://gentoo/${_XA_CVID_alpha}${_XA_EXT_alpha}
+ mirror://gentoo/${_XA_CYUV_alpha}${_XA_EXT_alpha}
+ mirror://gentoo/${_XA_IV32_alpha}${_XA_EXT_alpha}
+ )
+ ppc? (
+ mirror://gentoo/${_XA_CVID_ppc}${_XA_EXT_ppc}
+ mirror://gentoo/${_XA_CYUV_ppc}${_XA_EXT_ppc}
+ mirror://gentoo/${_XA_IV32_ppc}${_XA_EXT_ppc}
+ )
+ x86? (
+ mirror://gentoo/${_XA_CVID_x86}${_XA_EXT_x86}
+ mirror://gentoo/${_XA_CYUV_x86}${_XA_EXT_x86}
+ mirror://gentoo/${_XA_IV32_x86}${_XA_EXT_x86}
+ )
+ x86-fbsd? (
+ mirror://gentoo/${_XA_CVID_x86}${_XA_EXT_x86}
+ mirror://gentoo/${_XA_CYUV_x86}${_XA_EXT_x86}
+ mirror://gentoo/${_XA_IV32_x86}${_XA_EXT_x86}
+ )"
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+ if [[ -n ${_XA_EXT} ]]; then
+ mkdir "${S}"/mods || die
+ cd "${S}"/mods || die
+ unpack ${_XA_CVID}${_XA_EXT}
+ unpack ${_XA_CYUV}${_XA_EXT}
+ unpack ${_XA_IV32}${_XA_EXT}
+ fi
+ cd "${S}"
+ sed -i -e 's:/usr/X11R6:/usr:g' Makefile*
+
+ epatch "${FILESDIR}/${P}-gcc41.patch"
+ epatch "${FILESDIR}/${P}-freebsd.patch"
+
+ use elibc_glibc || sed -i -e 's/-ldl//' Makefile*
+}
+
+src_compile() {
+ # Set XA_DLL_PATH even though we statically link the mods, I guess
+ # this provides extensibility
+ emake CC="$(tc-getCC)" OPTIMIZE="${CFLAGS}" LD_FLAGS="${LDFLAGS}" \
+ XA_DLL_DEF="-DXA_DLL -DXA_PRINT" XA_DLL_PATH=/usr/lib/xanim/mods \
+ ${_XA_EXT:+ \
+ XA_IV32_LIB="mods/${_XA_CVID}" \
+ XA_CYUV_LIB="mods/${_XA_CYUV}" \
+ XA_CVID_LIB="mods/${_XA_IV32}" } \
+ || die
+}
+
+src_install() {
+ dobin xanim || die
+ newman docs/xanim.man xanim.1
+ dodoc README
+ dodoc docs/README.* docs/*.readme docs/*.doc
+
+ # I don't know why we're installing these modules when they're
+ # statically linked, but whatever...
+ if [[ -n ${_XA_EXT} ]]; then
+ insinto /usr/lib/xanim/mods
+ doins mods/${_XA_CVID}
+ doins mods/${_XA_CYUV}
+ doins mods/${_XA_IV32}
+ fi
+}