summaryrefslogtreecommitdiff
blob: ca1cb4b97fe5d6d667ca75565016e55f0f7b1918 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/transcode-0.6.14-r3.ebuild,v 1.1 2005/10/15 18:52:08 flameeyes Exp $

inherit libtool flag-o-matic eutils multilib autotools

PATCH_VER=${PVR}

MY_P="${P/_pre/.}"
S=${WORKDIR}/${MY_P}
DESCRIPTION="video stream processing tool"
HOMEPAGE="http://www.transcoding.org/cgi-bin/transcode"
SRC_URI="http://www.jakemsr.com/transcode/${P}.tar.gz
	http://www.ligo.caltech.edu/~pehrens/${P}.tar.gz
	http://www.kraymer.de/mirroring/${P}.tar.gz
	http://rebels.plukwa.net/linux-video/${PN}/${P}.tar.gz

	mirror://gentoo/${PN}-patches-${PATCH_VER}.tbz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="X 3dnow a52 altivec dv dvdread encode fame truetype gtk imagemagick jpeg
lzo mjpeg mpeg mmx network ogg vorbis pvm quicktime sdl sse sse2 theora v4l
xvid xml2"

RDEPEND="a52? ( >=media-libs/a52dec-0.7.4 )
	dv? ( >=media-libs/libdv-0.99 )
	dvdread? ( >=media-libs/libdvdread-0.9.0 )
	>=media-video/ffmpeg-0.4.9_p20050906
	xvid? ( >=media-libs/xvid-1.0.2 )
	mjpeg? ( >=media-video/mjpegtools-1.6.2-r3 )
	lzo? ( >=dev-libs/lzo-1.08 )
	fame? ( >=media-libs/libfame-0.9.1 )
	imagemagick? ( >=media-gfx/imagemagick-5.5.6.0 )
	media-libs/netpbm
	media-libs/libexif
	X? ( virtual/x11 )
	mpeg? ( media-libs/libmpeg3 )
	encode? ( >=media-sound/lame-3.93 )
	sdl? ( media-libs/libsdl )
	quicktime? ( >=media-libs/libquicktime-0.9.3 )
	vorbis? ( media-libs/libvorbis )
	ogg? ( media-libs/libogg )
	theora? ( media-libs/libtheora )
	jpeg? ( media-libs/jpeg )
	gtk? ( =x11-libs/gtk+-1.2* )
	truetype? ( >=media-libs/freetype-2 )
	pvm? ( >=sys-cluster/pvm-3.4 )"

DEPEND="${RDEPEND}
	x86? ( >=dev-lang/nasm-0.98.36 )
	=sys-devel/gcc-3*"

pkg_setup() {
	if has_version x11-base/xorg-x11 && ! built_with_use x11-base/xorg-x11 xv; then
		die "You need xorg-x11 emerged with xv support to compile transcode."
	fi
}

src_unpack() {
	unpack ${A}
	cd ${S}

	EPATCH_SUFFIX="patch" epatch ${WORKDIR}/${PATCH_VER}/

	eautoreconf
	elibtoolize	# fix invalid paths in .la files of plugins
}

src_compile() {
	filter-flags -maltivec -mabi=altivec -momit-leaf-frame-pointer
	use ppc && append-flags -U__ALTIVEC__

	if use pvm; then
		if use sparc; then
			myconf="${myconf} --enable-pvm3 \
				--with-pvm3-lib=${PVM_ROOT}/lib/LINUXSPARC \
				--with-pvm3-include=${PVM_ROOT}/include"
		else
			myconf="${myconf} --enable-pvm3 \
				--with-pvm3-lib=${PVM_ROOT}/lib/LINUX \
				--with-pvm3-include=${PVM_ROOT}/include"
		fi
	fi

	use xvid \
		&& myconf="${myconf} --with-default-xvid=xvid4"

	# Use the MPlayer libpostproc if present
	[ -f ${ROOT}/usr/$(get_libdir)/libpostproc.a ] && \
	[ -f ${ROOT}/usr/include/postproc/postprocess.h ] && \
		myconf="${myconf} --with-libpostproc-builddir=${ROOT}/usr/$(get_libdir)"

	append-flags -DDCT_YUV_PRECISION=1
	econf \
		--with-mod-path=/usr/$(get_libdir)/transcode \
		$(use_enable X x) \
		$(use_enable 3dnow) \
		$(use_enable a52) \
		$(use_enable altivec) \
		$(use_enable dv libdv) \
		$(use_enable dvdread libdvdread) \
		$(use_enable encode lame) \
		$(use_enable fame libfame) \
		$(use_enable truetype freetype2) \
		$(use_enable gtk) \
		$(use_enable imagemagick) \
		$(use_enable jpeg libjpeg) \
		$(use_enable lzo) \
		$(use_enable mjpeg mjpegtools) \
		$(use_enable mmx) \
		$(use_enable mpeg libmpeg3) \
		$(use_enable network netstream) \
		$(use_enable ogg) \
		$(use_enable vorbis) \
		$(use_enable quicktime libquicktime) \
		$(use_enable sdl) \
		$(use_enable sse) \
		$(use_enable sse2) \
		$(use_enable theora) \
		$(use_enable v4l) \
		$(use_enable xml2 libxml2) \
		${myconf} \
		--disable-avifile \
		|| die "econf failed"

	emake -j1 all || die "emake failed"

	if use pvm; then
		sed -i -e "s:\${exec_prefix}/bin/pvmgs:\$(DESTDIR)/\${exec_prefix}/bin/pvmgs:" \
			${S}/pvm3/Makefile || die "sed failed"
	fi
}

src_install () {
	make DESTDIR=${D} install || die "make install failed"

	dodoc AUTHORS ChangeLog README TODO
}