summaryrefslogtreecommitdiff
blob: 5caa88db8faa3b81aa8732e5bf5a20f0034931e7 (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
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-video/transcode/transcode-1.1.5.ebuild,v 1.11 2010/11/07 19:06:05 anarchy Exp $

EAPI="2"

WANT_AUTOCONF="2.5"
WANT_AUTOMAKE="1.10"

inherit libtool flag-o-matic eutils multilib autotools

MY_P=${P/_}
S="${WORKDIR}/${MY_P}"
DESCRIPTION="video stream processing tool"
HOMEPAGE="http://tcforge.berlios.de/"
SRC_URI="mirror://berlios/tcforge/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 ppc ppc64 sparc x86"
IUSE="X 3dnow a52 aac alsa altivec dv dvd iconv imagemagick jpeg lzo mjpeg mp3 mpeg mmx nuv ogg oss postproc quicktime sdl sse sse2 theora truetype v4l2 vorbis x264 xml xvid"

RDEPEND="aac? ( media-libs/faac )
	a52? ( media-libs/a52dec )
	alsa? ( media-libs/alsa-lib )
	dv? ( media-libs/libdv )
	dvd? ( media-libs/libdvdread )
	mjpeg? ( media-video/mjpegtools )
	lzo? ( >=dev-libs/lzo-2 )
	imagemagick? ( media-gfx/imagemagick )
	mp3? ( media-sound/lame )
	sdl? ( >=media-libs/libsdl-1.2.5[X] )
	quicktime? ( >=media-libs/libquicktime-1.0.0 )
	vorbis? ( media-libs/libvorbis )
	ogg? ( media-libs/libogg )
	theora? ( media-libs/libtheora )
	jpeg? ( virtual/jpeg )
	truetype? ( >=media-libs/freetype-2 )
	>=media-video/ffmpeg-0.4.9_p20081014
	|| ( sys-libs/glibc dev-libs/libiconv )
	mpeg? ( media-libs/libmpeg2 )
	x264? ( media-libs/x264 )
	xml? ( dev-libs/libxml2 )
	xvid? ( media-libs/xvid )
	X? ( x11-libs/libXpm
		x11-libs/libXaw
		x11-libs/libXv )"

DEPEND="${RDEPEND}
	dev-util/pkgconfig
	v4l2? ( >=sys-kernel/linux-headers-2.6.11 )"

# Notify the user that some useflag have been forced on
tc_use_force() {
	use $1 && use !$2 && ewarn "USE=$1 requires $2, $2 will be enabled."
}

# Use when $2 depends strictly on $3
# if use $1 then enable $2 and $3, otherwise disable $2
tc_use_enable_force() {
	if use $1 ; then
		echo "--enable-$2 --enable-$3"
	else
		echo "--disable-$2"
	fi
}

pkg_setup() {
	tc_use_force sse mmx
	tc_use_force 3dnow mmx
	tc_use_force sse2 mmx
	tc_use_force sse2 sse
}

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

	eautoreconf
}

src_configure() {
	# NuppelVideo is supported only on x86 platform yet
	# TODO: mask nuv useflag for all other arches
	# TODO: watch tcrequant for change. It's currently enabled with --enable-deprecated.
	use x86 && myconf="${myconf} $(use_enable nuv)"
	myconf="${myconf} \
		$(use_enable mmx) \
		$(use_enable 3dnow) \
		$(use_enable sse) \
		$(use_enable sse2) \
		$(use_enable altivec) \
		$(use_enable v4l2 v4l) \
		$(use_enable alsa) \
		$(use_enable oss) \
		$(use_enable truetype freetype2) \
		$(use_enable mp3 lame) \
		$(use_enable x264) \
		$(use_enable xvid) \
		$(use_enable ogg) \
		$(use_enable vorbis) \
		$(use_enable theora) \
		$(use_enable dvd libdvdread) \
		$(use_enable dv libdv) \
		$(use_enable quicktime libquicktime) \
		$(use_enable imagemagick) \
		$(use_enable postproc libpostproc) \
		$(use_enable lzo) \
		$(use_enable a52) \
		$(use_enable aac faac) \
		$(use_enable xml libxml2) \
		$(use_enable mpeg libmpeg2) \
		$(use_enable mpeg libmpeg2convert) \
		$(use_enable mjpeg mjpegtools) \
		$(use_enable sdl) \
		$(use_enable jpeg libjpeg) \
		$(use_enable iconv) \
		$(use_with X x) \
		--enable-deprecated \
		--enable-experimental \
		--with-mod-path=/usr/$(get_libdir)/transcode \
		$(tc_use_enable_force sse sse mmx) \
		$(tc_use_enable_force 3dnow 3dnow mmx) \
		$(tc_use_enable_force sse2 sse2 mmx) \
		$(tc_use_enable_force sse2 sse2 sse) \
		"

	econf ${myconf} || die "econf failed"
}

src_install () {
	make DESTDIR="${D}" install || die "make install failed"
	rm -fr "${D}/usr/share/doc/transcode"

	dodoc AUTHORS ChangeLog README TODO STYLE
	dodoc docs/*
	dohtml docs/html/*
}