You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
4.1 KiB
162 lines
4.1 KiB
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI="4"
|
|
|
|
PYTHON_DEPEND="2"
|
|
inherit toolchain-funcs qmake-utils qt4-r2 linux-info python
|
|
|
|
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="chm djvu dvi exif postscript ics info lyx msdoc msppt msxls pdf rtf sound 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? (
|
|
dev-qt/qtcore:4[qt3support]
|
|
dev-qt/qtwebkit:4
|
|
)
|
|
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
|
|
virtual/awk
|
|
pdf? ( app-text/poppler )
|
|
postscript? ( 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 )
|
|
sound? ( 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() {
|
|
python_set_active_version 2
|
|
python_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"
|
|
# Drop all the QMAKE lines. We will do it ourselves
|
|
sed -i -e "/QMAKE/d" Makefile.in || die
|
|
}
|
|
|
|
src_configure() {
|
|
local qtconf
|
|
|
|
use qt4 && qtconf="QMAKEPATH=$(qt4_get_bindir)/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}
|
|
if use qt4; then
|
|
cd qtgui && eqmake4 ${PN}.pro && cd ..
|
|
fi
|
|
}
|
|
|
|
src_compile() {
|
|
# Do not let upstream people decide on our behalf
|
|
sed -i "s:ar ru:$(tc-getAR) ru:" lib/Makefile || die
|
|
|
|
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
|
|
}
|