summaryrefslogtreecommitdiff
blob: 2443194244591057d17b5235cf00c8aefb61c039 (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
# 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-1.0.1.ebuild,v 1.1.1.1 2005/11/30 09:57:27 chriswhite Exp $

inherit libtool flag-o-matic eutils multilib autotools

MY_P="${P/_/}"
S=${WORKDIR}/${MY_P}
DESCRIPTION="video stream processing tool"
HOMEPAGE="http://www.transcoding.org/cgi-bin/transcode"
SRC_URI="mirror://transcode/${MY_P}.tar.gz"

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

RDEPEND="a52? ( >=media-libs/a52dec-0.7.4 )
	dv? ( >=media-libs/libdv-0.99 )
	dvdread? ( >=media-libs/libdvdread-0.9.0 )
	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 )
	mp3? ( >=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 )
	ffmpeg? ( >=media-video/ffmpeg-0.4.9_p20050226-r3 )
	|| ( sys-libs/glibc dev-libs/libiconv )
	>=media-libs/libmpeg2-0.4.0b"

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}

	sed -i -e "s:\$(datadir)/doc/transcode:\$(datadir)/doc/${PF}:" \
		${S}/docs/Makefile.am ${S}/docs/html/Makefile.am

	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"

	# Hardenable SIMD extensions on amd64
	if use amd64; then
		myconf="${myconf} --enable-mmx --enable-3dnow \
				--enable-sse --enable-sse2"
	elif use x86; then
		myconf="${myconf} $(use_enable mmx) \
				$(use_enable 3dnow) \
				$(use_enable sse) \
				$(use_enable sse2)"
	fi

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

	emake all || die

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

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

	dodoc AUTHORS ChangeLog README TODO
}