# 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 }