blob: b51d2ffe54f4a99ff2d54655dee39f32b0ebc2bf (
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
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-misc/recoll/recoll-1.16.2.ebuild,v 1.2 2012/05/07 00:13:14 hwoarang Exp $
EAPI="4"
inherit toolchain-funcs qt4-r2 linux-info
DESCRIPTION="A personal full text search package"
HOMEPAGE="http://www.lesbonscomptes.com/recoll/"
SRC_URI="http://www.lesbonscomptes.com/recoll/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
INDEX_HELPERS="audio chm djvu dvi exif ps ics info lyx msdoc msppt msxls pdf rtf tex wordperfect xml"
IUSE="+spell +inotify +qt4 +session camelcase xattr fam ${INDEX_HELPERS}"
DEPEND="
virtual/libiconv
>=dev-libs/xapian-1.0.12
sys-libs/zlib
spell? ( app-text/aspell )
!inotify? ( fam? ( virtual/fam ) )
qt4? ( x11-libs/qt-core:4[qt3support] )
session? (
inotify? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE )
!inotify? ( fam? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE ) )
)
"
RDEPEND="
${DEPEND}
app-arch/unzip
sys-apps/sed
|| ( sys-apps/gawk sys-apps/mawk )
pdf? ( app-text/poppler )
ps? ( app-text/pstotext )
msdoc? ( app-text/antiword )
msxls? ( app-text/catdoc )
msppt? ( app-text/catdoc )
wordperfect? ( app-text/libwpd:0.9 )
rtf? ( app-text/unrtf )
tex? ( dev-tex/detex )
dvi? ( virtual/tex-base )
djvu? ( >=app-text/djvu-3.5.15 )
exif? ( media-libs/exiftool )
chm? ( dev-python/pychm )
ics? ( dev-python/icalendar )
lyx? ( app-office/lyx )
audio? ( media-libs/mutagen )
xml? ( dev-libs/libxslt )
info? ( sys-apps/texinfo )
"
REQUIRED_USE="^^ ( fam inotify ) session? ( || ( fam inotify ) )"
pkg_pretend() {
if use inotify; then
CONFIG_CHECK="~INOTIFY_USER"
check_extra_config
fi
}
pkg_setup() {
local i at_least_one_helper
at_least_one_helper=0
for i in $INDEX_HELPERS; do
if use $i; then
at_least_one_helper=1
break
fi
done
if [[ $at_least_one_helper -eq 0 ]]; then
ewarn
ewarn "You did not enable any of the optional file format flags."
ewarn "Recoll can read some file formats natively, but many of them"
ewarn "are optional since they require external helpers."
ewarn
fi
}
src_prepare() {
# remember configure.ac is b0rked. Fix it before using eautoreconf in the
# future
# eautoreconf
# do not strip binaries
sed -i -e "/STRIP/d" "${S}"/${PN}install.in \
|| die "Failed to fix the installation script"
}
src_configure() {
local qtconf
use qt4 && qtconf="QMAKEPATH=/usr/bin/qmake"
econf \
$(use_with spell aspell) \
$(use_enable xattr) \
$(use_with inotify) \
$(use_enable qt4 qtgui) \
$(use_enable camelcase) \
$(use_with fam) \
$(use_with inotify) \
$(use_enable session x11mon) \
${qtconf}
}
src_compile() {
# Do not let upstream people decide on our behalf
emake \
CC=$(tc-getCC) \
CXX=$(tc-getCXX) \
CFLAGS="${CFLAGS} ${LDFLAGS}" \
CXXFLAGS="${CXXFLAGS} ${LDFLAGS}"
}
src_install() {
# You probably wonder why I did not fix recollinstall in src_prepare.
# --prefix requires an absolute path but recollinstall requires prefix
# to be actually 'usr' because double // makes portage sad. And no, I am not
# gonna ask upstream to fix the build system
sed -i -e "/PREFIX/s:/usr:usr:" "${S}"/${PN}install || die
sed -i -e "/prefix/s:/usr:usr:" "${S}"/Makefile || die
emake DESTDIR="${D%/}" install
dodoc ChangeLog README
mv "${D}/usr/share/${PN}/doc" "${D}/usr/share/doc/${PF}/html"
dosym /usr/share/doc/${PF}/html /usr/share/${PN}/doc
}
pkg_postinst() {
elog
elog "Default configuration files located at"
elog "/usr/share/${PN}/examples. Either edit these files to match"
elog "your needs or copy them to ~/.recoll/ and edit these files"
elog "instead."
elog
if use xattr; then
elog "Use flag \"xattr\" enables support for fetching field values"
elog "from extended file attributes. You will also need to set up a"
elog "map from the attributes names to the Recoll field names"
elog "(see comment at the end of the fields configuration file."
fi
}
|