Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 494342 - app-misc/recoll-1.20.1 version bump
Summary: app-misc/recoll-1.20.1 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Low normal with 5 votes (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: NeedPatch
Depends on: 540220 559496
Blocks: 605774 500998
  Show dependency tree
 
Reported: 2013-12-15 14:16 UTC by Ulenrich
Modified: 2017-03-04 18:53 UTC (History)
12 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild for recoll 1.19.14, 1.19.13; with disabled xattr file fetching (recoll-1.19.14.ebuild,4.99 KB, text/plain)
2014-07-20 01:00 UTC, Matt
Details
recoll-1.19.5-1.20.1.diff (file_494342.txt,1.66 KB, text/plain)
2014-12-29 19:43 UTC, Matt
Details
recoll-1.20.6.ebuild (recoll-1.20.6.ebuild,4.90 KB, text/plain)
2015-08-30 13:31 UTC, Anton Bolshakov
Details
kio_recoll-1.20.6.ebuild (kio_recoll-1.20.6.ebuild,456 bytes, text/plain)
2015-08-30 13:32 UTC, Anton Bolshakov
Details
recoll-1.21.7.ebuild (recoll-1.21.7.ebuild,2.65 KB, text/plain)
2016-05-27 05:00 UTC, Anton Bolshakov
Details
recoll-1.22.3.ebuild (recoll-1.22.3.ebuild,2.60 KB, text/plain)
2016-08-02 10:16 UTC, Marcin Mirosław
Details
recoll-1.22.3.ebuild (recoll-1.22.3.ebuild,2.52 KB, text/plain)
2016-08-23 14:28 UTC, Marcin Mirosław
Details
recoll-1.22.3.ebuild (recoll-1.22.3.ebuild,2.40 KB, text/plain)
2016-10-21 08:40 UTC, Marcin Mirosław
Details
recoll-1.22.3.ebuild (recoll-1.22.3.ebuild,2.39 KB, text/plain)
2016-10-21 08:47 UTC, Marcin Mirosław
Details
recoll-1.22.3.ebuild (recoll-1.22.3.ebuild,2.33 KB, text/plain)
2016-11-03 14:20 UTC, Pacho Ramos
Details
metadata.xml (metadata.xml,1.21 KB, text/plain)
2016-11-03 14:20 UTC, Pacho Ramos
Details
new ebuild (recoll-1.22.4.ebuild,3.50 KB, text/plain)
2017-01-08 14:43 UTC, P Purkayastha
Details
recoll-1.22.4.ebuild (recoll-1.22.4.ebuild,3.44 KB, text/plain)
2017-01-08 14:55 UTC, P Purkayastha
Details
recoll-1.22.4.ebuild (recoll-1.22.4.ebuild,3.50 KB, text/plain)
2017-01-11 13:34 UTC, P Purkayastha
Details
metadata.xml (metadata.xml,928 bytes, text/xml)
2017-01-15 14:31 UTC, P Purkayastha
Details
recoll-1.22.4.ebuild (recoll-1.22.4.ebuild,3.51 KB, text/plain)
2017-01-31 15:37 UTC, P Purkayastha
Details
recoll-1.22.4.ebuild (recoll-1.22.4.ebuild,3.46 KB, text/plain)
2017-02-01 11:44 UTC, P Purkayastha
Details
recoll-1.22.4.ebuild (recoll-1.22.4.ebuild,3.49 KB, text/plain)
2017-02-11 00:48 UTC, P Purkayastha
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ulenrich 2013-12-15 14:16:05 UTC
http://www.lesbonscomptes.com/recoll/release-1.19.html
---
Minor releases at a glance
    1.19.11 is a fix to the install script in 1.19.10. The latter did not copy the new ppt extraction code to the filters directory.
    1.19.10 has a bit more changes than usually goes into a Recoll minor version, and could have been 1.20.0 instead. On the other hand, it brings some features which needed to be released, and did not really warrant a major version. So here goes:
        Python3 compatibility for the Python Recoll module.
        A Ubuntu Unity Scope for saucy (13.10), replacing the lens (and which needed Python 3).
        A new PPT format text extractor. Catppt just did not extract anything from more recent .ppt files.
    Mostly, if you are not running Ubuntu (Saucy or later), you can just download the ppt filter and stay with 1.19.9.
    1.19.9 fixes a few significant bugs, mostly a very serious one about date filtering, and a quite common GUI crash.
    1.19.8 changes the way we handle Hindi / Devanagari text (no more stripping of diacritics), and also has a fix for the results table dups and snippets links.
    1.19.7 is 1.19.5 with a few build and packaging fixes. No need to update.
    1.19.5 works around a Linux kernel bug that would make it impossible to index data from a network share mounted through cifs (this worked in 1.18 and stopped working in 1.19 because of its wider use of extended attributes)
Comment 1 Ulenrich 2013-12-15 15:11:36 UTC
Unfortunatly the source has "p1" added. 
My try doesn't work, 
Compile errors out not not having lib/Makefile:

-----
# diff recoll-1.19.5.ebuild recoll-1.19.11.ebuild 
< PYTHON_DEPEND="2"
---
> PYTHON_DEPEND="3"
12c12
< SRC_URI="http://www.lesbonscomptes.com/recoll/${P}.tar.gz"
---
> SRC_URI="http://www.lesbonscomptes.com/recoll/${P}p1.tar.gz"
66a67,71
> src_unpack() {
>       unpack ${A}
>       mv recoll-1.19.11p1 recoll-1.19.11
> }
> 
68c73
<       python_set_active_version 2
---
>       python_set_active_version 3
-----
It is not that easy :(
Comment 2 Ulenrich 2013-12-15 17:45:06 UTC
Uuups, repackaging of the source tar without p1 also fails compilation:

config.status: creating common/autoconfig.h
 * Running qmake ...
 *  - fixed CONFIG in confgui/trconf.pro                                                                                                                                                [ ok ]
>>> Source configured.
>>> Compiling source in /portable/temp/portage/app-misc/recoll-1.19.11/work/recoll-1.19.11 ...
sed: can't read lib/Makefile: No such file or directory
 * ERROR: app-misc/recoll-1.19.11::pmaci failed (compile phase):
Comment 3 Ulenrich 2013-12-15 17:53:13 UTC
app-misc/recoll-1.19.10 fails at the exact same, but
app-misc/recoll-1.19.9 seems to compile, installs just fine.
Comment 4 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-12-15 17:54:01 UTC
This package has no maintainer so this bug may go unnoticed for a long time.
Gentoo has a dedicated team[1] for assisting users in maintaining orphaned
packages. If you are interested in maintaining this package, please contact
proxy-maint@gentoo.org. 

[1]: https://wiki.gentoo.org/index.php?title=Project:Proxy_Maintainers
Comment 5 Ulenrich 2013-12-15 17:56:31 UTC
Arrgh, as I cited in the first post:
---
1.19.10 has a bit more changes than usually goes into a Recoll minor version, and could have been 1.20.0 instead.
---
Why not version it recoll-2.0-alpha
Comment 6 Ulenrich 2013-12-15 17:59:05 UTC
Excuse me TomWij: first time I see what Mid-Air-Collision means at all:
enhancement-normal
Comment 7 Matt 2014-06-23 20:37:25 UTC
recoll 1.19.14 is out:

http://www.lesbonscomptes.com/recoll/release-1.19.html


while recoll can be bumped relatively easily from 1.19.5 to 1.19.9,

when bumping it to 1.19.14 - the compilation process fails with:

../index/fsindexer.cpp: In member function ‘FsTreeWalker::Status FsIndexer::processonefile(RclConfig*, const string&, const stat*, const std::map<std::basic_string<char>, std::basic_string<char> >&)’:
../index/fsindexer.cpp:803:36: error: ‘reapXAttrs’ was not declared in this scope
../index/fsindexer.cpp:804:50: error: ‘docFieldsFromXattrs’ was not declared in this scope
x86_64-pc-linux-gnu-g++ -O2 -march=core-avx-i -pipe -mno-push-args -fno-defer-pop -mno-align-stringops -minline-stringops-dynamically -fmodulo-sched-allow-regmoves -freschedule-modulo-scheduled-loops -fmodulo-sched -Wl,-O1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--sort-common -Wl,--enable-new-dtags -Wl,-z,now -I. -I../aspell -I../bincimapmime -I../common -I../index -I../internfile -I../rcldb -I../unac -I../utils  -Wall -Wno-unused -I/usr/lib64/../include   -DRECOLL_DATADIR=\"/usr/share/recoll\" -DLIBDIR=\"/usr/lib64\" -fPIC -DPIC -DHAVE_CONFIG_H -D_GNU_SOURCE  -c ../index/subtreelist.cpp
Makefile:49: recipe for target 'fsindexer.o' failed
make[1]: *** [fsindexer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/var/tmp/portage/app-misc/recoll-1.19.14/work/recoll-1.19.14/lib'
Makefile:18: recipe for target 'all' failed
make: *** [all] Error 2

this is with gcc 4.7.4, 4.8.3 and 4.9.0


besides that the sed-lines in the ebuild don't work anymore (Makefile.in / Makefile missing)

I'll try to compile with less aggressive flags but there nevertheless seems to be an issue


hopefully someone can step up and bump the ebuild
Comment 8 Ulenrich 2014-06-27 07:15:01 UTC
For me also:
I wonder if xapian-1.3.1 is needed. But my system need xapian-1.2. I cannot update xapian, because "equery d xapian" output:
kde-base/baloo-4.13.2 (=dev-libs/xapian-1.2*[chert])
Comment 9 Matt 2014-06-27 07:54:36 UTC
nope, unfortunately it also fails with xapian  1.3.1-r1 and less aggressive flags (omitting AVX flags)

../index/fsindexer.cpp: In member function ‘FsTreeWalker::Status FsIndexer::processonefile(RclConfig*, const string&, const stat*, const std::map<std::basic_string<char>, std::basic_string<char> >&)’:
../index/fsindexer.cpp:803:36: error: ‘reapXAttrs’ was not declared in this scope
      reapXAttrs(config, fn, xfields);
                                    ^
../index/fsindexer.cpp:804:50: error: ‘docFieldsFromXattrs’ was not declared in this scope
      docFieldsFromXattrs(config, xfields, fileDoc);
                                                  ^
x86_64-pc-linux-gnu-g++ -O2 -march=corei7 -mtune=corei7 -pipe -Wl,-O1 -Wl,-z,combreloc -Wl,-z,relro -Wl,--sort-common -Wl,--enable-new-dtags -Wl,-z,now -I. -I../aspell -I../bincimapmime -I../common -I../index -I../internfile -I../rcldb -I../unac -I../utils  -Wall -Wno-unused -I/usr/lib64/../include -I/usr/include/xapian-1.3  -DRECOLL_DATADIR=\"/usr/share/recoll\" -DLIBDIR=\"/usr/lib64\" -fPIC -DPIC -DHAVE_CONFIG_H -D_GNU_SOURCE  -c ../index/subtreelist.cpp
Makefile:49: recipe for target 'fsindexer.o' failed
make[1]: *** [fsindexer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/var/tmp/portage/app-misc/recoll-1.19.14/work/recoll-1.19.14/lib'
Makefile:18: recipe for target 'all' failed
make: *** [all] Error 2
Comment 10 Ulenrich 2014-06-27 21:42:28 UTC
@Matt
Debian successfully compiled a recoll-1.19.13 package for their experimental repo but not 1.19.14 ! And the upstream Homepage of recoll shows a bugfix p1 tar.gz file:
I do remember: this is not the first time of this kind of past-minute-fixup for a recoll release :(
Comment 11 Matt 2014-07-20 01:00:11 UTC
Created attachment 381074 [details]
ebuild for recoll 1.19.14, 1.19.13; with disabled xattr file fetching

someone more experienced with cpp needs to look through the files why gcc requests a declaration and where it needs to be placed:

../index/fsindexer.cpp: In member function ‘FsTreeWalker::Status FsIndexer::processonefile(RclConfig*, const string&, const stat*, const std::map<std::basic_string<char>, std::basic_string<char> >&)’:
../index/fsindexer.cpp:803:36: error: ‘reapXAttrs’ was not declared in this scope
      reapXAttrs(config, fn, xfields);
                                    ^
../index/fsindexer.cpp:804:50: error: ‘docFieldsFromXattrs’ was not declared in this scope
      docFieldsFromXattrs(config, xfields, fileDoc);
Comment 12 Matt 2014-07-20 01:02:05 UTC
@Ulenrich :

just compared recoll 1.19.9 vs. 1.19.4p2

and the compilation error seems to be caused by added code which supports xattr data fetching

going through README - the following is mentioned:

     * --disable-xattr will prevent fetching data from file extended
       attributes. Beyond a few standard attributes, fetching extended
       attributes data can only be useful is some application stores data in
       there, and also needs some simple configuration (see comments in the
       fields configuration file).

thus disabling it will let the compilation succeed (which just did with 1.19.14p2)

ok, so I extracted recoll-1.19.14p2.tar.gz, renamed every occurrence of 1.19.14p2 to 1.19.14 (searching via grep for 14p2) in 

VERSION

and

configure


then re-packaged it

to recoll-1.19.14.tar.gz


Finally made the following change to the ebuild which was working up to 1.19.9:

src_configure() {
	local qtconf

	if use qt4 || use webkit; then
		qtconf="QMAKEPATH=/usr/bin/qmake"
	fi

	econf \
	# disabling fetching data from extended file attributes for now, breaks build
		--disable-xattr \
		$(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}

 



also just posted an updated ebuild with the changes,

please try if it works with 1.19.13 or 1.19.14

note, that, as of writing (07/20/2014) there's also recoll 1.20.0 as a preview available for download
Comment 13 Matt 2014-07-23 15:01:32 UTC
(In reply to Ulenrich from comment #10)
> @Matt
> Debian successfully compiled a recoll-1.19.13 package for their experimental
> repo but not 1.19.14 ! And the upstream Homepage of recoll shows a bugfix p1
> tar.gz file:
> I do remember: this is not the first time of this kind of past-minute-fixup
> for a recoll release :(

yes, this version numbering is troublesome for portage, to say the least ;)

took a quick look at debian and didn't find matching/related patches besides a python fix so far

would be interesting what debian does differently to get it to work (if that build has xattr support enabled after all)
Comment 14 Ulenrich 2014-08-02 13:52:14 UTC
@Matt 
I managed to emerge with xattr some time ago (excuse me for not answering earlier):
---
# emerge -p -1 recoll

These are the packages that would be merged, in order:

Calculating dependencies  .... ............ done!
[ebuild   R    ] app-misc/recoll-1.19.14::pmaci  USE="camelcase chm djvu -dvi exif -fam -ics info -inotify -lyx msdoc msppt -msxls pdf -postscript qt4 rtf -session sound -spell -tex webkit -wordperfect xattr xml" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
---
I did repack the source with
- extracting the tar
- renaming the directory without any pN
- gzip tar the source
- putting it to $DISTFILES
- in my local overlay: ebuild recoll-1.19.14.ebuild manifest

I see this diff to your ebuild:
------------------
# diff /home/Download/recoll-1.19.14.ebuild recoll-1.19.14.ebuild 
3c3
< # $Header: /var/cvsroot/gentoo-x86/app-misc/recoll/recoll-1.19.14.ebuild,v 1.0 2014/07/20 02:30:00 kernelOfTruth $
---
> # $Header: /var/cvsroot/gentoo-x86/app-misc/recoll/recoll-1.19.5.ebuild,v 1.2 2014/05/17 07:32:01 ulm Exp $
109,110c109,110
< #     sed -i -e "/STRIP/d" "${S}"/${PN}install.in \
< #             || die "Failed to fix the installation script"
---
>       sed -i -e "/STRIP/d" "${S}"/${PN}install.in \
>               || die "Failed to fix the installation script"
112c112
< #     sed -i -e "/QMAKE/d" Makefile.in || die
---
>       sed -i -e "/QMAKE/d" Makefile.in || die
123,124d122
<       # disabling fetching data from extended file attributes for now, breaks build
<               --disable-xattr \
141c139
< #     sed -i "s:ar ru:$(tc-getAR) ru:" lib/Makefile || die
---
> #     sed -i "s:ar ru:$(tc-getAR) ru:" lib/Makefile || die
--------
My recoll compilate runs well - I didn't try the xattr features though.
Comment 15 Matt 2014-12-29 19:38:44 UTC
recoll 1.20.1 (http://www.lesbonscomptes.com/recoll/release-1.20.html)

emerges fine after I had removed the xattr-related stuff:

IUSE
(the xattr flag)



the 2 lines under 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"



the block in "use xattr && DOC_CONTENTS"; 
#	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."



src_configure()
#		$(use_enable xattr) \




and src_compile() {
	# Do not let upstream people decide on our behalf
#	sed -i "s:ar ru:$(tc-getAR) ru:" lib/Makefile || die
Comment 16 Matt 2014-12-29 19:43:39 UTC
Created attachment 392656 [details]
recoll-1.19.5-1.20.1.diff

these are the changes to get the ebuild working with 1.20.1 recoll

not sure how to proceed with the xattr use-flag,

probablay will take a closer look later when I have more time
Comment 17 Matt 2014-12-29 19:44:26 UTC
(In reply to Matt from comment #16)
> Created attachment 392656 [details]
> recoll-1.19.5-1.20.1.diff
> 
> these are the changes to get the ebuild working with 1.20.1 recoll
> 
> not sure how to proceed with the xattr use-flag,
> 
> probablay will take a closer look later when I have more time

the sound/audio use-flag change is due to an older ebuild I was using ...
Comment 18 Ulenrich 2015-02-14 00:51:33 UTC
@Matt, very thanx for your brave work! Compiled well for me. But I do not have time to test the new version yet. Nevertheless I change this bug title accordingly to your new enabled version app-misc/recoll-1.20.1
Comment 19 Marc Vinyals 2015-02-19 00:33:58 UTC
The ebuild for 1.20.1 seems to work, but I had to append -std=c++11 to CXXFLAGS for it to compile with gcc-4.8.3.
Comment 20 Pacho Ramos gentoo-dev 2015-05-23 09:05:05 UTC
Is anyone willing to proxy maintain this?
https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
Comment 21 Anton Bolshakov 2015-08-30 13:31:17 UTC
Created attachment 410602 [details]
recoll-1.20.6.ebuild
Comment 22 Anton Bolshakov 2015-08-30 13:32:01 UTC
Created attachment 410604 [details]
kio_recoll-1.20.6.ebuild

I might take it as a proxy maintainer
Comment 23 Pacho Ramos gentoo-dev 2015-09-05 18:35:26 UTC
CCing proxy maintainers then
Comment 24 Ian Delaney (RETIRED) gentoo-dev 2015-09-07 07:17:59 UTC
(In reply to Anton Bolshakov from comment #22)
> Created attachment 410604 [details]
> kio_recoll-1.20.6.ebuild
> 
> I might take it as a proxy maintainer

You're welcome to proxy maintain the package.  However it will take some refining at this point.

1. You have 2 ebuilds that are quite distinct. The first appears the pertinent one.
2. The INDEX_HELPERS use flags are all used in RDEPEND which poses a clash with protocol of ebuild writing.
3. Inheriting of python-r1 requires additional content to cater to the python 'factor'
4. Several lines are commented out suggesting these are works in progress.
5. mv "${D}/usr/share/${PN}/doc" "${D}/usr/share/doc/${PF}/html" is generally done at configure phase to correctly set to ${PF}/html rather than after it installs to the wrong location.
6. General format issues.

It is a complex package with a complex ebuild.

I suggest you join irc channel #gentoo-proxy-maint to continue.
Thanks for the offer to maintain the package.
Comment 25 Marcin Mirosław 2015-10-06 09:47:39 UTC
Most of filters doesn't work with python 3.x, I think it's resonable to use only python2_7 in dependencies and USE flags. My proposal of change to attachment #410602 [details] is:
--- recoll-1.21.2_pre1.ebuild   2015-10-06 10:57:30.000000000 +0200
+++ recoll-1.21.2.ebuild        2015-10-06 11:40:17.750786114 +0200
@@ -4,8 +4,8 @@
 
 EAPI="5"
 
-PYTHON_COMPAT=( python{2_7,3_4} )
-inherit toolchain-funcs qt4-r2 linux-info python-r1 readme.gentoo
+PYTHON_COMPAT=( python2_7 )
+inherit toolchain-funcs qt4-r2 linux-info python-single-r1 readme.gentoo
 
 DESCRIPTION="A personal full text search package"
 HOMEPAGE="http://www.lesbonscomptes.com/recoll/"
@@ -69,8 +69,7 @@
 }
 
 pkg_setup() {
-#      python_set_active_version 2
-#      python_pkg_setup
+       python-single-r1_pkg_setup
 
        local i at_least_one_helper
 
@@ -162,6 +161,8 @@
        mv "${D}/usr/share/${PN}/doc" "${D}/usr/share/doc/${PF}/html"
        dosym /usr/share/doc/${PF}/html /usr/share/${PN}/doc
 
+       python_fix_shebang "${D}"/usr/share/recoll/filters/
+
        readme.gentoo_create_doc
 }
Comment 26 Ian Delaney (RETIRED) gentoo-dev 2015-10-08 10:39:51 UTC
The propsed ebuild needs far more than that
Comment 27 Pacho Ramos gentoo-dev 2016-02-18 11:04:56 UTC
CCing treecleaners
Comment 28 Cddr 2016-05-26 17:27:34 UTC
Recoll 1.22.0 is out:

http://www.lesbonscomptes.com/recoll/release-1.22.html

According to release notes the build system has been converted to use the autotools in a fairly standard way.
Comment 29 Anton Bolshakov 2016-05-27 05:00:12 UTC
Created attachment 435520 [details]
recoll-1.21.7.ebuild

not much changed from our ebuild point of view
Comment 30 thorus90 2016-06-10 08:39:48 UTC
(In reply to Anton Bolshakov from comment #29)
> Created attachment 435520 [details]
> recoll-1.21.7.ebuild
> 
> not much changed from our ebuild point of view

Tried your ebuild, works fine, but it has dependency for catdoc, as of 1.19.12 recoll does not need catdoc anymore, see : https://www.lesbonscomptes.com/recoll/features.html

Thanks for your work!
Comment 31 Marcin Mirosław 2016-08-02 10:16:00 UTC
Created attachment 442280 [details]
recoll-1.22.3.ebuild

I'm uploading ebuild for recoll-1.22.3. I adjusted dependencies acording to changelog, added some new filters, sorted flags etc. But ebuild still needs more improvements.
Comment 32 Marcin Mirosław 2016-08-03 07:10:57 UTC
And I forced building and installing recollq utility.
Comment 33 Pacho Ramos gentoo-dev 2016-08-22 15:53:20 UTC
it would be nice to finally solve bug 540220 and bug 559596 finally with this big bump
Comment 34 Marcin Mirosław 2016-08-23 14:28:24 UTC
Created attachment 443910 [details]
recoll-1.22.3.ebuild

I think I correctly removed fam support, bug about compiling with USE=-webkit also should be fixed. It would be nice to get feedback from users because I'm not very familiar with recoll.
Comment 35 Pacho Ramos gentoo-dev 2016-10-08 10:54:51 UTC
What is blocking all this? :/
Comment 36 Marcin Mirosław 2016-10-11 08:08:54 UTC
Pacho, I'm not power user of recoll. For me - it works:) 
My ebuild fixes bugs #500998, #559496, and probably bug #540220 (at least I can't reproduce it compiling version 1.22.3)
Comment 37 Pacho Ramos gentoo-dev 2016-10-18 18:37:06 UTC
(In reply to Marcin Mirosław from comment #36)
> Pacho, I'm not power user of recoll. For me - it works:) 
> My ebuild fixes bugs #500998, #559496, and probably bug #540220 (at least I
> can't reproduce it compiling version 1.22.3)

Are you finally going to be the proxy maintainer for this? (for updating metadata if needed)
Comment 38 Marcin Mirosław 2016-10-21 08:40:26 UTC
Created attachment 450876 [details]
recoll-1.22.3.ebuild

Some ebuild cleanups:
--- recoll-1.22.3.ebuild        (revision 486)
+++ recoll-1.22.3.ebuild        (working copy)
@@ -15,10 +15,8 @@
 KEYWORDS="~amd64 ~x86"
 
 INDEX_HELPERS="7zip audio chm djvu dvi exif ical ics info lyx msdoc ocr pdf postscript rar rtf tex wordperfect xml"
-IUSE="doc gui +spell +inotify qt4 session camelcase webkit fam ${INDEX_HELPERS}"
+IUSE="camelcase doc fam gui +inotify qt4 session +spell webkit ${INDEX_HELPERS}"
 
-REQUIRED_USE="|| ( ${INDEX_HELPERS} )"
-
 REQUIRED_USE="session? ( || ( inotify fam ) )"
 
 DEPEND="
@@ -31,7 +29,9 @@
        webkit? ( dev-qt/qtwebkit:4 )
        session? (
                inotify? ( x11-libs/libSM x11-libs/libICE )
-               !inotify? ( fam? ( x11-libs/libSM x11-libs/libICE ) )
+               !inotify? (
+                       fam? ( x11-libs/libSM x11-libs/libICE )
+               )
        )
 "
 
@@ -70,20 +70,12 @@
 }
 
 src_prepare() {
-       # 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
-
        python_fix_shebang filters
-
-       eautoreconf
+       default
 }
 
 src_configure() {
        local qtconf
-
        if use qt4 || use webkit; then
                qtconf="QMAKEPATH=/usr/bin/qmake"
        fi
@@ -105,6 +97,7 @@
 
 src_install() {
        emake DESTDIR="${D}" install
+       # html docs should be placed in /usr/share/doc/${PN}/html
        use doc && dohtml "${ED}"/usr/share/recoll/doc/*
        rm -r "${ED}/usr/share/recoll/doc"
 }
Comment 39 Marcin Mirosław 2016-10-21 08:47:02 UTC
Created attachment 450878 [details]
recoll-1.22.3.ebuild

repoman noticed than autotools eclass is not used, I dropped it.
If none of power users is willing to step in let me become proxy maint.
Comment 40 Pacho Ramos gentoo-dev 2016-11-03 14:20:08 UTC
Created attachment 452258 [details]
recoll-1.22.3.ebuild

I finally couldn't commit this because it's not clear to me what that INDEX_HELPERS USEs are doing. Also the same for "gui" USE flag.
Comment 41 Pacho Ramos gentoo-dev 2016-11-03 14:20:55 UTC
Created attachment 452260 [details]
metadata.xml

This is the updated metadata.xml with you as maintainer... but it misses all the descriptions for the new USE flags:
   app-misc/recoll/recoll-1.22.3.ebuild: gui
   app-misc/recoll/recoll-1.22.3.ebuild: 7zip
   app-misc/recoll/recoll-1.22.3.ebuild: audio
   app-misc/recoll/recoll-1.22.3.ebuild: ical
   app-misc/recoll/recoll-1.22.3.ebuild: ocr
   app-misc/recoll/recoll-1.22.3.ebuild: rar
Comment 42 P Purkayastha 2016-11-25 11:56:21 UTC
Apparently recoll has support for qt5 since 1.20.5, according to this URL:

http://sysads.co.uk/2015/04/08/recoll-1-20-5-text-search-tool-now-runs-with-qt5/

This needs to be incorporated in the ebuild as well.
Comment 43 P Purkayastha 2016-11-25 11:59:49 UTC
> I finally couldn't commit this because it's not clear to me what that INDEX_HELPERS USEs are doing. Also the same for "gui" USE flag.

I think the INDEX_HELPERS are some extra file formats which recoll can index, but for which it needs external programs. The "gui" USE flag is likely to build the QT4 (or QT5) graphical interface. There is a command line interface too called recollq.
Comment 44 P Purkayastha 2016-11-25 12:07:14 UTC
I just realized that the "gui" flag is pulling in libwnck-python, which is a binding to libwnck. The libwnck is dependent on GTK, and as far as I know recoll does not have a GTK interface. The configure.ac also has no mention of wnck.
Comment 45 Pacho Ramos gentoo-dev 2016-11-27 19:09:27 UTC
Fox index helpers maybe we should opt for either elog messages through readme.gentoo-r1.eclass for telling people what packages to install optionally. In general USE flags are avoided for this runtime only optional deps 

And for gui... then, we could drop it entirely I guess
Comment 46 Pacho Ramos gentoo-dev 2016-11-29 09:37:43 UTC
you can also use optfeature function from eutils.eclass for showing the optional extra runtime tools
Comment 47 Marcin Mirosław 2016-12-19 09:51:11 UTC
I failed to create ebuild which supports building recoll with suporting both qt4 and/or qt5.
Comment 48 P Purkayastha 2017-01-08 14:43:08 UTC
Created attachment 459168 [details]
new ebuild

I have created an ebuild which can choose between qt5 and qt4. There is some bug in the current build system of recoll which makes it impossible to compile it successfully if webkit is also not enabled along with qt5. So the following combinations works:

+qt4 +webkit
+qt4 -webkit
+qt5 +webkit

And the following combination does not work because of the bug:
+qt5 -webkit

If you want me to force webkit with qt5 for now, I can change the ebuild.
Comment 49 P Purkayastha 2017-01-08 14:55:59 UTC
Created attachment 459170 [details]
recoll-1.22.4.ebuild

Updated the ebuild with proper einfo messages.
Comment 50 Pacho Ramos gentoo-dev 2017-01-09 21:33:02 UTC
Looks better now :)

What people finally want to take this? I think we are only pending to get this done:
https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers/Maintainer_Bugs_and_Maintainership_Requests

And that make that new bug block this one...
Comment 51 P Purkayastha 2017-01-10 12:22:16 UTC
I can become a proxy maintainer. The procedure seems new, compared to the process in #537388 . I still don't know what is the correct fix to the compilation error when -webkit is chosen with qt5.

I will await feedback from Marcin Mirosław though since he has fixed a lot of the ebuild previously.
Comment 52 Lionel Bouton 2017-01-10 21:52:07 UTC
Aparently the current 1.22.4 ebuild is missing a dependency towards dev-qt/qtwebkit[printsupport] which seems needed when the qt5 USE flag is active.

I'm currently re-emerging qtwebkit with printsupport before emerging recoll but the recoll compilation error message I got was pretty self-explanatory.
Comment 53 P Purkayastha 2017-01-10 23:44:10 UTC
(In reply to Lionel Bouton from comment #52)
> Aparently the current 1.22.4 ebuild is missing a dependency towards
> dev-qt/qtwebkit[printsupport] which seems needed when the qt5 USE flag is
> active.

I don't have printsupport, but recoll compiled fine here. Can you attach the previous build log?

~» emerge -pv qtwebkit:5

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-qt/qtwebkit-5.6.2:5/5.6::gentoo  USE="gstreamer jit opengl qml -debug -geolocation -gstreamer010 -multimedia -orientation -printsupport {-test} -webchannel -webp" 34,479 KiB

Total: 1 package (1 reinstall), Size of downloads: 34,479 KiB
~» emerge -pv recoll

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ~] app-misc/recoll-1.22.4::myself  USE="inotify qt5 session spell webkit -camelcase -doc -qt4" PYTHON_TARGETS="python2_7" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Comment 54 Marcin Mirosław 2017-01-11 09:44:35 UTC
(In reply to P Purkayastha from comment #51)
> I can become a proxy maintainer. The procedure seems new, compared to the
> process in #537388 . I still don't know what is the correct fix to the
> compilation error when -webkit is chosen with qt5.
> 
> I will await feedback from Marcin Mirosław though since he has fixed a lot
> of the ebuild previously.

Hi,
honestly, I don' feel enough motivation to take care about this package in longer term.
Comment 55 P Purkayastha 2017-01-11 13:34:51 UTC
Created attachment 459604 [details]
recoll-1.22.4.ebuild

Hi Lionel,

 Please try the updated ebuild. The actual dependency is on qtprintsupport.

 I found the line in the QT pro file that forces webkit for qt5

qtgui/recoll.pro.in:14:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets webkitwidgets printsupport

 I have updated the ebuild to include qtprintsupport in dependencies and to force webkit when qt5 is chosen. I have also added USE flags to the optfeature dependencies, where needed.
Comment 56 P Purkayastha 2017-01-15 14:31:01 UTC
Created attachment 460140 [details]
metadata.xml

Initial metadata file.
Comment 57 Andreas Sturmlechner gentoo-dev 2017-01-30 19:42:39 UTC
Let me make two suggestions:

1.) Drop USE=webkit - as you said it is required by +qt5 so just depend on it instead of adding an artificial REQUIRED_USE. For qt4, well, Qt4WebKit should really be avoided wherever possible and I'm currently trying to remove reverse dependencies from tree as much as possible.

2.) Drop USE=qt4 altogether. It will greatly simplify the ebuild and get rid of the implicit !qt5 ( qt4 ( ... ) ) logic. Unless there are any known issues with qt5, there really is no point in building with qt4 by now.

Bonus points for porting to EAPI 6! See also: https://blogs.gentoo.org/mgorny/2015/11/13/the-ultimate-guide-to-eapi-6/
Comment 58 P Purkayastha 2017-01-31 15:36:00 UTC
Hi Andreas,

 I would prefer not to drop qt4 as yet. The user manual still suggests qt4 for stability for now:
https://www.lesbonscomptes.com/recoll/usermanual/usermanual.html#RCL.INSTALL.BUILDING.PREREQS

 This also means that webkit is an optional dependency for now. I would be happy to remove qt4 and optional webkit support when upstream makes it clear that qt4 is no longer supported. Does that sound reasonable to you?

I tested the ebuild with a minor change (dohtml->dodoc) and it seems to work with EAPI 6. I will upload the updated ebuild soon.
Comment 59 P Purkayastha 2017-01-31 15:37:13 UTC
Created attachment 462006 [details]
recoll-1.22.4.ebuild

Updated ebuild with EAPI 6 (minor change only: dohtml -> dodoc)
Comment 60 Andreas Sturmlechner gentoo-dev 2017-01-31 16:43:34 UTC
(In reply to P Purkayastha from comment #58)
> I would prefer not to drop qt4 as yet. The user manual still suggests qt4
> for stability for now

Is that a fact or just outdated user manual?
 
> This also means that webkit is an optional dependency for now.

But not optional for qt5, as you established - so why bother users with a REQUIRED_USE when you can simply remove the qt5? ( webkit? ( ... ) ) construct?

> I would be happy to remove qt4 and optional webkit support when upstream
> makes it clear that qt4 is no longer supported. Does that sound reasonable
> to you?

If Qt5 works reasonably well I would not bother at all to wait until upstream declares it unsupported. Qt4WebKit is a gaping security hole.
Comment 61 Andreas Sturmlechner gentoo-dev 2017-02-01 10:08:28 UTC
Qt5 support in recoll exists since 1.20.5, released almost two years ago.

Debian switched to Qt5 over a year ago, with upstream approval: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784523
Comment 62 P Purkayastha 2017-02-01 11:44:35 UTC
Created attachment 462084 [details]
recoll-1.22.4.ebuild

Thanks for the Debian bug report. I have removed webkit from the USE flags. Please see the attached ebuild again:

* compulsory webkit for qt5
* disabled webkit for qt4
* removed the corresponding REQUIRED_USE
Comment 63 Andreas Sturmlechner gentoo-dev 2017-02-09 23:45:13 UTC
Thanks, Qt handling lgtm now, albeit there is a big chance you also depend on qtcore in both qt4/qt5 cases (did you check with e.g. lddtree?).
Comment 64 P Purkayastha 2017-02-09 23:55:49 UTC
(In reply to Andreas Sturmlechner from comment #63)
> Thanks, Qt handling lgtm now, albeit there is a big chance you also depend
> on qtcore in both qt4/qt5 cases (did you check with e.g. lddtree?).

Yes, it does depend on qtcore, according to lddtree:

~» lddtree =recoll | grep -iC3 'core'
                libbz2.so.1 => /lib64/libbz2.so.1
            libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3
    libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5
    libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5
        libpcre16.so.0 => /usr/lib64/libpcre16.so.0
    libpthread.so.0 => /lib64/libpthread.so.0
    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/libstdc++.so.6

However, the ebuild of qtgui will already pull in qtcore, as RDEPEND, which is why it is not included here. I have been running the qt5 version of recoll and it does work. :-)

~» grep -Hn qtcore $(equery which qtgui)
/usr/portage/dev-qt/qtgui/qtgui-5.6.2.ebuild:30:        ~dev-qt/qtcore-${PV}
Comment 65 Andreas Sturmlechner gentoo-dev 2017-02-10 00:02:10 UTC
That will be true for many others, but we do not rely on implicit dependencies.
Comment 66 P Purkayastha 2017-02-11 00:48:04 UTC
Created attachment 463182 [details]
recoll-1.22.4.ebuild

Updated the ebuild with qtcore in deps.
Comment 67 Andreas Sturmlechner gentoo-dev 2017-03-04 18:25:25 UTC
commit:     5b7946bff79745e70a2b83d6e12103f972baa0d4
Author:     Punarbasu Purkayastha <ppurka <AT> gmail <DOT> com>
AuthorDate: Sat Mar  4 17:35:49 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Mar  4 18:14:37 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b7946bf

app-misc/recoll: 1.22.4 version bump

Changes done by committer:
- minor stylistic improvements, whitespace-- indentation++
- sorted dependencies
- added subslot operator to dev-libs/xapian
- added missing DEPEND on linguist-tools:5
- added missing || die in src_install

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 app-misc/recoll/Manifest             |   1 +
 app-misc/recoll/recoll-1.22.4.ebuild | 128 +++++++++++++++++++++++++++++++++++
 2 files changed, 129 insertions(+)


Thanks a lot for your work, I've committed it to tree with minor changes - I hope that's ok, please have a look at them. I'm not part of proxy-maint so I will leave it to them to assign you as maintainer.
Comment 68 Andreas Sturmlechner gentoo-dev 2017-03-04 18:53:08 UTC
I've added you as maintainer now anyway, after a short consultation. ;)

In the future, when you make changes to the ebuild, please submit them as diff over the most recent in-tree version so they can be reviewed easily.