summaryrefslogtreecommitdiff
blob: bd47ee2f9d4a41621c424f6c419e32f90d4878ac (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
141
142
143
# 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.0_rc1.ebuild,v 1.1 2005/07/09 00:38:37 flameeyes Exp $

inherit libtool flag-o-matic eutils multilib

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

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="X 3dnow a52 avi altivec divx4linux 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 )
	>=media-video/ffmpeg-0.4.9_pre1
	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 )
	avi? ( >=media-video/avifile-0.7.41.20041001 )
	divx4linux? ( >=media-libs/divx4linux-20030428 )
	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"

DEPEND="${RDEPEND}
	=sys-devel/gcc-3*"

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

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

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

	libtoolize --copy --force || die "libtoolize failed"
	autoreconf -i || die "autoreconf failed"

	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 avi avifile) \
		$(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} \
		|| die

	emake -j1 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
}