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)
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 :(
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):
app-misc/recoll-1.19.10 fails at the exact same, but app-misc/recoll-1.19.9 seems to compile, installs just fine.
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
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
Excuse me TomWij: first time I see what Mid-Air-Collision means at all: enhancement-normal
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
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])
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
@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 :(
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);
@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
(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)
@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.
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
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
(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 ...
@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
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.
Is anyone willing to proxy maintain this? https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
Created attachment 410602 [details] recoll-1.20.6.ebuild
Created attachment 410604 [details] kio_recoll-1.20.6.ebuild I might take it as a proxy maintainer
CCing proxy maintainers then
(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.
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 }
The propsed ebuild needs far more than that
CCing treecleaners
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.
Created attachment 435520 [details] recoll-1.21.7.ebuild not much changed from our ebuild point of view
(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!
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.
And I forced building and installing recollq utility.
it would be nice to finally solve bug 540220 and bug 559596 finally with this big bump
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.
What is blocking all this? :/
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)
(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)
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" }
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.
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.
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
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.
> 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.
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.
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
you can also use optfeature function from eutils.eclass for showing the optional extra runtime tools
I failed to create ebuild which supports building recoll with suporting both qt4 and/or qt5.
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.
Created attachment 459170 [details] recoll-1.22.4.ebuild Updated the ebuild with proper einfo messages.
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...
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.
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.
(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
(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.
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.
Created attachment 460140 [details] metadata.xml Initial metadata file.
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/
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.
Created attachment 462006 [details] recoll-1.22.4.ebuild Updated ebuild with EAPI 6 (minor change only: dohtml -> dodoc)
(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.
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
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
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?).
(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}
That will be true for many others, but we do not rely on implicit dependencies.
Created attachment 463182 [details] recoll-1.22.4.ebuild Updated the ebuild with qtcore in deps.
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.
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.