summaryrefslogtreecommitdiff
blob: fdce8ce4312c72a553834a2d332c16029c71a3f3 (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
144
145
146
147
148
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/tracker/tracker-0.6.3.ebuild,v 1.13 2008/10/11 23:01:21 eva Exp $

inherit autotools eutils flag-o-matic linux-info

DESCRIPTION="A tagging metadata database, search tool and indexer"
HOMEPAGE="http://www.tracker-project.org/"
SRC_URI="http://www.gnome.org/~jamiemcc/tracker/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc ppc64 sparc x86"
IUSE="applet debug gnome gsf gstreamer gtk jpeg pdf xine kernel_linux"

RDEPEND=">=dev-libs/glib-2.12.0
		 >=x11-libs/pango-1.0.0
		 =dev-libs/gmime-2.2*
		 >=media-gfx/imagemagick-5.2.1
		 >=dev-libs/dbus-glib-0.71
		 >=dev-db/qdbm-1.8
		 >=dev-db/sqlite-3.4
		 >=media-libs/libpng-1.2
		 >=dev-libs/libxml2-2.6
		   sys-libs/zlib
		 applet? ( >=gnome-extra/deskbar-applet-2.16 )
		 gnome? (
					>=x11-libs/gtk+-2.8
					>=gnome-base/libglade-2.5
					>=gnome-base/libgnome-2.14
					>=gnome-base/gnome-vfs-2.10
					>=gnome-base/libgnomeui-2.14
					>=gnome-base/gnome-desktop-2.14
				)
		 gsf? ( >=gnome-extra/libgsf-1.13 )
		 gstreamer? ( >=media-libs/gstreamer-0.10 )
		 gtk? ( >=x11-libs/gtk+-2.8.20 )
		 jpeg? ( >=media-gfx/exif-0.6 )
		 xine? ( >=media-libs/xine-lib-1.0 )
		 !gstreamer? ( !xine? ( || ( media-video/totem media-video/mplayer ) ) )
		 !kernel_linux? ( >=app-admin/gamin-0.1.7 )
		 pdf?	(
					>=x11-libs/cairo-1.0
					>=app-text/poppler-bindings-0.5.0
				)"
DEPEND="${RDEPEND}
		>=dev-util/intltool-0.35
		>=sys-devel/gettext-0.14
		>=dev-util/pkgconfig-0.20"

function notify_inotify() {
	ewarn
	ewarn "You should enable the INOTIFY support in your kernel."
	ewarn "Check the 'Inotify file change notification support' under the"
	ewarn "'File systems' option.  It is marked as CONFIG_INOTIFY in the config"
	ewarn "Also enable 'Inotify support for userland' in under the previous"
	ewarn "option.  It is marked as CONFIG_INOTIFY_USER in the config."
	ewarn
	die 'missing CONFIG_INOTIFY'
}

function inotify_enabled() {
	linux_chkconfig_present INOTIFY && linux_chkconfig_present INOTIFY_USER
}

pkg_setup() {
	linux-info_pkg_setup

	if ! built_with_use --missing true 'dev-db/sqlite' 'threadsafe' \
		|| built_with_use --missing false 'dev-db/sqlite' 'nothreadsafe'; then
		eerror "You must build sqlite with threading support"
		die "dev-db/sqlite built without thread safety"
	fi

	if ! built_with_use 'app-text/poppler-bindings' 'gtk' ; then
		ewarn "You must build poppler-bindings with gtk to get support for PDFs"
		die "poppler-bindings needs gtk support"
	fi

	if ! built_with_use 'media-gfx/imagemagick' 'png' ; then
		ewarn "You must build imagemagick with png"
		die "imagemagick needs png support"
	fi

	if use jpeg && ! built_with_use 'media-gfx/imagemagick' 'jpeg' ; then
		ewarn "You must build imagemagick with jpeg to get support for JPEG"
		die "imagemagick needs jpeg support"
	fi

	if use kernel_linux ; then
		inotify_enabled || notify_inotify
	fi
}

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

	epatch "${FILESDIR}/${PN}-0.6.3-fix-unac-option.patch"

	epatch "${FILESDIR}/${PN}-0.6.3-tracker-extract-needs-gthread.patch"

	# Fix libtrackergtk enable option (bug #196420)
	epatch "${FILESDIR}/${PN}-0.6.3-really-disable-libtrackergtk.patch"

	# Fix POTFILES.in for tests
	echo "python/deskbar-handler/tracker-handler-static.py" >> "${S}/po/POTFILES.in"

	eautoreconf
	intltoolize --force || die "intltoolize failed"
}

src_compile() {
	local myconf=

	if use gstreamer ; then
		myconf="${myconf} --enable-video-extractor=gstreamer"
	elif use xine ; then
		myconf="${myconf} --enable-video-extractor=xine"
	else
		myconf="${myconf} --enable-video-extractor=external"
	fi

	if use kernel_linux ; then
		myconf="${myconf} --enable-file-monitoring=inotify"
	else
		myconf="${myconf} --enable-file-monitoring=fam"
	fi

	econf ${myconf} \
		  --enable-preferences --disable-xmp --disable-unac \
		  --enable-libxml2 --enable-external-qdbm \
		  $(use_enable applet deskbar-applet auto) \
		  $(use_enable debug debug-code) \
		  $(use_enable gnome gui) \
		  $(use_enable gsf) \
		  $(use_enable gtk libtrackergtk) \
		  $(use_enable jpeg exif) \
		  $(use_enable pdf) \
		|| die "configure failed"

	emake || die "build failed"
}

src_install() {
	make DESTDIR="${D}" install || die "install failed"
	dodoc AUTHORS ChangeLog NEWS README
}