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.
181 lines
4.9 KiB
181 lines
4.9 KiB
# Copyright 1999-2016 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI=5
|
|
|
|
PYTHON_COMPAT=( python2_7 )
|
|
inherit toolchain-funcs qmake-utils qt4-r2 linux-info python-single-r1 readme.gentoo
|
|
|
|
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 webkit 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] )
|
|
webkit? ( 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 ) )
|
|
)
|
|
${PYTHON_DEPS}
|
|
"
|
|
|
|
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[${PYTHON_USEDEP}] )
|
|
ics? ( dev-python/icalendar[${PYTHON_USEDEP}] )
|
|
lyx? ( app-office/lyx )
|
|
sound? ( media-libs/mutagen )
|
|
xml? ( dev-libs/libxslt )
|
|
info? ( sys-apps/texinfo )
|
|
"
|
|
|
|
REQUIRED_USE="session? ( || ( fam inotify ) )
|
|
${PYTHON_REQUIRED_USE}"
|
|
|
|
pkg_pretend() {
|
|
if use inotify; then
|
|
CONFIG_CHECK="~INOTIFY_USER"
|
|
check_extra_config
|
|
fi
|
|
}
|
|
|
|
pkg_setup() {
|
|
python-single-r1_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() {
|
|
use xattr && has_version "${CATEGORY}/${PN}:${SLOT}[-xattr]" && FORCE_PRINT_ELOG="yes"
|
|
! use xattr && has_version "${CATEGORY}/${PN}:${SLOT}[xattr]" && FORCE_PRINT_ELOG="yes"
|
|
|
|
DOC_CONTENTS="Default configuration files located at
|
|
/usr/share/${PN}/examples. Either edit these files to match
|
|
your needs or copy them to ~/.recoll/ and edit these files
|
|
instead."
|
|
|
|
use xattr && DOC_CONTENTS+="
|
|
Use flag \"xattr\" enables support for fetching field values
|
|
from extended file attributes. You will also need to set up a
|
|
map from the attributes names to the Recoll field names
|
|
(see comment at the end of the fields configuration file."
|
|
|
|
# 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
|
|
|
|
if use qt4 || use webkit; then
|
|
qtconf="QMAKEPATH=$(qt4_get_bindir)/qmake"
|
|
fi
|
|
|
|
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
|
|
python_optimize
|
|
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
|
|
|
|
readme.gentoo_create_doc
|
|
}
|
|
|
|
pkg_postinst() {
|
|
readme.gentoo_print_elog
|
|
|
|
if [[ -n ${REPLACING_VERSIONS} ]]; then
|
|
elog
|
|
elog "1.18 introduces significant index formats"
|
|
elog "changes to support optional character case and diacritics"
|
|
elog "sensitivity, and it will be advisable to reset the index in"
|
|
elog "most cases. This will be best done by destroying the index"
|
|
elog "directory (rm -rf ~/.recoll/xapiandb). If 1.18 is not configured"
|
|
elog "for case and diacritics sensitivity, it is mostly compatible"
|
|
elog "with 1.17 indexes."
|
|
elog
|
|
fi
|
|
}
|