summaryrefslogtreecommitdiff
blob: 64db183b926a36241c29cf4238e54cfdb341c61a (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
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-libs/gst-plugins/gst-plugins-0.6.3.ebuild,v 1.6 2003/09/16 02:53:40 agriffis Exp $

# IMPORTANT
#
# Since gst-plugins uses a local copy of ffmpeg we consider this a non-external plugin
# In essence this means gst-plugins without any external plugins already provides a
# wide range of audio/video codecs
#
# This may change in the future, but for now 3rd-party apps do probably not need to depend
# on mpeg/avi plugins etcetera unless they are directly referenced

inherit gnome2 gst-plugins eutils flag-o-matic

DESCRIPTION="Basepack of plugins for gstreamer"
HOMEPAGE="http://gstreamer.net/"

LICENSE="GPL-2"
KEYWORDS="~x86 ~ppc ~sparc ~amd64 ~alpha"

# TODO : gconf support is also optional

RDEPEND="=media-libs/gstreamer-${PV}*
	>=gnome-base/gconf-1.2"

DEPEND="${RDEPEND}
	>=dev-util/pkgconfig-0.9"

PDEPEND=">=media-plugins/gst-plugins-oss-${PV}"

BUILD_GST_PLUGINS="ffmpeg"

MAKEOPTS="${MAKEOPTS} -j1"

src_unpack() {

	unpack ${A}

	cd ${S}
	# ppc asm included in the resample plugin seems to be broken,
	# using a slower but working version for now
	epatch ${FILESDIR}/noppcasm.patch

	# fix compile issues with gcc-3.3.x
	epatch ${FILESDIR}/${P}-gcc33.patch

	# patch for changing types in >libmpeg-0.3.1
	if grep -q mpeg2_picture ${ROOT}/usr/include/mpeg2dec/mpeg2.h; then
		epatch ${FILESDIR}/libmpeg2.patch
	fi

	# fix the scripts
	cd ${S}/tools
	mv gst-launch-ext gst-launch-ext.old
	sed -e "s:gst-launch :gst-launch-${PV_MAJ_MIN} :" \
		-e "s:gst-launch-ext:gst-launch-ext-${PV_MAJ_MIN}:" gst-launch-ext.old > gst-launch-ext
	chmod +x gst-launch-ext

	mv gst-visualise gst-visualise.old
	sed -e "s:gst-launch :gst-launch-${PV_MAJ_MIN} :" \
		-e "s:gst-visualise:gst-visualise-${PV_MAJ_MIN}:" gst-visualise.old > gst-visualise
	chmod +x gst-visualise
}

src_compile() {

	elibtoolize

	# gst doesnt handle optimisations well
	strip-flags
	replace-flags "-O3" "-O2"
	filter-flags "-fprefetch-loop-arrays" # see bug 22249
	use alpha && append-flags "-fPIC"

	gst-plugins_src_configure --program-suffix=-${PV_MAJ_MIN}

	emake || die

}

src_install() {

	einstall || die

	dodoc AUTHORS COPYING INSTALL README RELEASE TODO

}

pkg_postinst () {

	gnome2_pkg_postinst
	gst-plugins_pkg_postinst

	echo ""
	einfo "The Gstreamer plugins setup has changed quite a bit on Gentoo,"
	einfo "applications now should provide you with the basic plugins."
	echo ""
	einfo "Right now this package installs at least an OSS output plugin to have"
	einfo "a standard sound output plugin, but this might change in the future."
	echo ""
	einfo "The new seperate plugins are all named 'gst-plugins-<plugin>'."
	einfo "To get a listing of currently available plugins do 'emerge -s gst-plugins-'."
	einfo "In most cases it shouldn't be needed though to emerge extra plugins."

}

pkg_postrm() {

	gnome2_pkg_postrm
	gst-plugins_pkg_postrm

}