Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 269110

Summary: app-text/coolreader3: reader of fictionbook texts
Product: Gentoo Linux Reporter: zveryga <shvind>
Component: New packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: RESOLVED FIXED    
Severity: enhancement CC: denilsonsa, halcon, Ikonta, ilovegnulinux, jlp.bugs, nikoli, seclorum, serkan, torokhov-s-a, yamadharma, yngwin
Priority: Normal Keywords: EBUILD
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://sourceforge.net/projects/crengine/
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: ebuild for x86 and amd64 archs
My ebuild, both x86 and amd64 works
CoolReader3-3.0.18, crengine-3.0.23
CoolReader3-3.0.18, crengine-3.0.23
files/README for coolreader3-3.0.18-r1.ebuild
ebuild installing last version from git repository
ebuild for last release
building last version from git tree
the description/declaration of package-specific USE-flag
fixed ebuild for CoolReader3-3.0.32 release
fixed ebuild for building LIVEVCS-version of CoolReader3
ebuild for CoolReader3-3.0.35 release
fixed compilation error with actual at 07.2010 versions of libpng
patfch for coolreader3-3.0.35-r1.ebuild
coolreader3-3.0.36.ebuild
live version ebuild upgrade to git-2 eclass
build.log for coolreader3-9999
build.log for coolreader3-3.0.36
coolreader3-lipng-1.5.patch
coolreader3 live ebuild, using patch for compillation with current (1.5) version of libpng
updated version of live ebuild
up to date on 2013-03-07 version of live ebuild
Updates for moved alreader
coolreader3-3.0.56.ebuild
freetype2 patch
coolreader3-3.0.56-r1.ebuild for freetype-2.6.3-r1
cr3.0.56-r1.ft2.diff for freetype-2.6.3-r1
Patch to allow to save cr3.ini file in the user home directory after first run
cr3.1.2.71.cr3version.diff
coolreader3-3.1.2.71.ebuild
coolreader3-3.1.2.71-r1.ebuild
cr3.1.2.71-r1_qt5_wx.diff
cr3.1.2.71-r1_qt5_wx.diff
cr3.1.2.71_wxGTK3.diff
coolreader3-3.1.2.71-r1.ebuild

Description zveryga 2009-05-09 10:42:25 UTC
ebuild for coolreader
if someone have, please share for all

Reproducible: Always
Comment 1 Serkan Kaba (RETIRED) gentoo-dev 2009-05-09 11:01:29 UTC
It's a windows app. Are you kidding?
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2009-05-09 14:08:31 UTC
No it is not according to SF

http://sourceforge.net/project/platformdownload.php?group_id=191284&sel_platform=10633

There is a .tar.gz package

http://sourceforge.net/project/downloading.php?group_id=191284&filename=cr_3.0.14-0ubuntu1.tar.gz

It may say "ubuntu" back we should be able to write an ebuild using this package
Comment 3 zveryga 2009-05-10 13:23:28 UTC
http://sourceforge.net/project/showfiles.php?group_id=191284
source of last version
Comment 4 Nikoli 2009-06-23 14:30:08 UTC
Created attachment 195559 [details]
ebuild for x86 and amd64 archs

It works fine on stable hardened gentoo with i686-pc-linux-gnu-3.4.6:
http://img266.imageshack.us/img266/773/cr3x86.png

but on stable amd64 with x86_64-pc-linux-gnu-4.3.2 it is broken and often segfaults during start:

http://img229.imageshack.us/img229/6125/cr3014amd64broken.png

p.s. I use app-text/fbreader for my book collection.
Comment 5 Michail Shurutov 2009-08-10 14:04:27 UTC
Created attachment 200845 [details]
My ebuild, both x86 and amd64 works
Comment 6 Sergey S. Starikoff 2010-06-22 04:29:16 UTC
Created attachment 236199 [details]
CoolReader3-3.0.18, crengine-3.0.23

Added uses to select qt or wxwidgets GUI versions.
x86 works, amd64 not tested.
Comment 7 Sergey S. Starikoff 2010-06-22 04:36:34 UTC
(In reply to comment #1)
> It's a windows app. Are you kidding?
> 
CoolReader-2 was windows-obly applucation.

CoolReader3 is the OpenSource one!


Please, change summary from "coolreader" to "coolreader3"
Comment 8 Sergey S. Starikoff 2010-06-22 06:55:22 UTC
Created attachment 236203 [details]
CoolReader3-3.0.18, crengine-3.0.23 

Corrected usage of cmake-eclass.
Comment 9 Sergey S. Starikoff 2010-06-22 07:07:45 UTC
Excuse me, current version of crengine in coolreader3-3.0.18.ebuild is 3.0.22.
Comment 10 Sergey S. Starikoff 2010-06-22 07:16:03 UTC
Created attachment 236205 [details]
files/README for coolreader3-3.0.18-r1.ebuild
Comment 11 Sergey S. Starikoff 2010-06-23 09:25:52 UTC
Created attachment 236311 [details]
ebuild installing last version from git repository
Comment 12 Sergey S. Starikoff 2010-06-24 14:53:07 UTC
Created attachment 236401 [details]
ebuild for last release

Also added the check on value of eselect-wxwidgets.
Comment 13 Sergey S. Starikoff 2010-06-24 14:55:54 UTC
Created attachment 236407 [details]
building last version from git tree

Some improvements in ebuild.
Comment 14 Nikoli 2010-06-24 16:59:38 UTC
repoman -pxv full
...
  ebuild.minorsyn               5
   app-text/coolreader3/coolreader3-3.0.32.ebuild: Ebuild contains leading spaces on line: 32
   app-text/coolreader3/coolreader3-3.0.32.ebuild: Useless blank line on line: 34
   app-text/coolreader3/coolreader3-3.0.32.ebuild: Trailing whitespace error on line: 37
   app-text/coolreader3/coolreader3-3.0.32.ebuild: 'sed' call should be moved to src_prepare from line: 42
   app-text/coolreader3/coolreader3-3.0.32.ebuild: Unquoted Variable on line: 67
  ebuild.notadded               1
   app-text/coolreader3/coolreader3-3.0.32.ebuild
  IUSE.invalid                  1
   app-text/coolreader3/coolreader3-3.0.32.ebuild: hyphen
  ebuild.badheader              1
   app-text/coolreader3/coolreader3-3.0.32.ebuild: Invalid Gentoo Copyright on line: 1
  LICENSE.invalid               1
   app-text/coolreader3/coolreader3-3.0.32.ebuild: GPLv2
Comment 15 Sergey S. Starikoff 2010-06-25 12:07:58 UTC
Created attachment 236493 [details]
the description/declaration of package-specific USE-flag
Comment 16 Sergey S. Starikoff 2010-06-25 12:08:42 UTC
Created attachment 236495 [details]
fixed ebuild for CoolReader3-3.0.32 release
Comment 17 Sergey S. Starikoff 2010-06-25 12:10:00 UTC
Created attachment 236497 [details]
fixed ebuild for building LIVEVCS-version of CoolReader3
Comment 18 Sergey S. Starikoff 2010-07-22 15:01:18 UTC
Created attachment 239825 [details]
ebuild for CoolReader3-3.0.35 release
Comment 19 Sergey S. Starikoff 2010-07-24 07:55:15 UTC
Created attachment 239977 [details]
fixed compilation error with actual at 07.2010 versions of libpng
Comment 20 Sergey S. Starikoff 2010-07-24 07:56:03 UTC
Created attachment 239979 [details]
patfch for coolreader3-3.0.35-r1.ebuild
Comment 21 Dmitry S. Kulyabov 2010-10-01 16:11:56 UTC
Created attachment 249187 [details]
coolreader3-3.0.36.ebuild
Comment 22 Sergey S. Starikoff 2011-10-14 17:15:09 UTC
Created attachment 289807 [details]
live version ebuild upgrade to git-2 eclass

I know, that it needs in some fixes (at least use-depend inhereit wxwidgets eclass).
But wx-version for rather long time is not developed by upstream.
So... I hope I'll have a time to return to it.
Comment 23 Sergey Torokhov 2011-10-17 20:12:33 UTC
Now coolreader-9999-r2 (as *-3.0.36) doesn't compile after update from libpng-1.4.8-r1 to libpng-1.5.5 with error

....
[ 42%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/wordmac.c.o                                                      
/var/tmp/portage/app-text/coolreader3-9999-r2/work/coolreader3-9999/crengine/src/lvimg.cpp: In member function ‘virtual bool LVPngImageSource::Decode(LVImageDecoderCallback*)’:
/var/tmp/portage/app-text/coolreader3-9999-r2/work/coolreader3-9999/crengine/src/lvimg.cpp:660:9: error: invalid use of incomplete type ‘struct png_struct’
/usr/include/png.h:830:16: error: forward declaration of ‘struct png_struct’
/var/tmp/portage/app-text/coolreader3-9999-r2/work/coolreader3-9999/crengine/src/lvimg.cpp:679:10: error: ‘voidp’ was not declared in this scope
make[2]: *** [crengine/CMakeFiles/crengine.dir/src/lvimg.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 43%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/wordole.c.o
[ 44%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/wordwin.c.o                                                      
[ 44%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/xmalloc.c.o                                                      
[ 45%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/output.c.o                                                       
[ 46%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/xml.c.o                                                          
[ 46%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/text.c.o                                                         
[ 47%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/fmt_text.c.o                                                     
[ 48%] Building C object thirdparty/antiword/CMakeFiles/antiword.dir/postscript.c.o                                                   
Linking C static library libantiword.a                                                                                                
[ 48%] Built target antiword                                                                                                          
make[1]: *** [crengine/CMakeFiles/crengine.dir/all] Error 2
make: *** [all] Error 2
emake failed
 * ERROR: app-text/coolreader3-9999-r2 failed (compile phase):
 *   Make failed!
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_compile
 *   environment, line 3249:  Called cmake-utils_src_compile
 *   environment, line  845:  Called _execute_optionaly 'src_compile'
 *   environment, line  287:  Called enable_cmake-utils_src_compile
 *   environment, line 1095:  Called cmake-utils_src_make
 *   environment, line  864:  Called die
 * The specific snippet of code:
 *           emake "$@" || die "Make failed!";
 * 
 * If you need support, post the output of 'emerge --info =app-text/coolreader3-9999-r2',
 * the complete build log and the output of 'emerge -pqv =app-text/coolreader3-9999-r2'.
 * This ebuild is from an overlay named 'x-portage': '/usr/local/portage/'
 * The complete build log is located at '/var/tmp/portage/app-text/coolreader3-9999-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-text/coolreader3-9999-r2/temp/environment'.
 * S: '/var/tmp/portage/app-text/coolreader3-9999-r2/work/coolreader3-9999'
Comment 24 Sergey Torokhov 2011-10-23 00:06:17 UTC
Created attachment 290581 [details]
build.log for coolreader3-9999

Installation of libpng-1.4.8-r2 (after it unmasking) in avalible "1.4" SLOT doesn't help - the same error appears during compilation of coolreader3-9999-r2.
Comment 25 Sergey Torokhov 2011-10-23 00:07:00 UTC
Created attachment 290583 [details]
build.log for coolreader3-3.0.36

P.S. for coolreader3-3.0.36 error are the same but with other codes:
Comment 26 Sergey S. Starikoff 2011-10-24 09:28:45 UTC
(In reply to comment #24)
> Installation of libpng-1.4.8-r2 (after it unmasking) in avalible "1.4" SLOT
> doesn't help - the same error appears during compilation of
> coolreader3-9999-r2.
It's not enough.
You must at least update coolreader3-9999-r2 ebuild changing dependency on libpng from simple to 1.4 slot (also I recommend to backup libpng-1.4 build in local overlay).

BTW, the build log as available in /var/tmp/portage/...

3.0.36 is rather old (current versions are at least about 3.0.49; for test purposes I'm using live version).

P.S. A'll ask upstream, but it will tale a time (weer or two or even more).
Comment 27 Sergey S. Starikoff 2011-11-29 15:54:39 UTC
Created attachment 294187 [details]
coolreader3-lipng-1.5.patch

Thanks to MyRuLib developer for this patch!
Comment 28 Sergey S. Starikoff 2011-11-29 16:49:07 UTC
Created attachment 294201 [details]
coolreader3 live ebuild, using patch for compillation with current (1.5) version of libpng

Please, mark outdated build failure logs.
Comment 29 Sergey S. Starikoff 2012-04-18 14:38:26 UTC
Created attachment 309417 [details]
updated version of live ebuild

Patch for build with libpng-1.5 was included by upstream.
So, patch directive was removed.
Comment 30 lalebarde 2012-11-08 10:43:28 UTC
live ebuild with the patch works for me. Thanks.
Comment 31 Ben de Groot (RETIRED) gentoo-dev 2012-11-14 09:49:41 UTC
I've committed an initial live ebuild to qt overlay, simplified for Qt4 only.
Comment 32 Sergey S. Starikoff 2012-11-21 06:22:46 UTC
(In reply to comment #31)
> I've committed an initial live ebuild to qt overlay, simplified for Qt4 only.

To my mind the deprecated (but still oprable) option of build with WX GUI should be mentioned as a comment in simplified version of ebuild.

Could you put in qt overlay also the live ebuild for fb2edit?
https://bugs.gentoo.org/show_bug.cgi?id=439294
Comment 33 Sergey S. Starikoff 2013-03-08 07:34:05 UTC
Created attachment 341284 [details]
up to date on 2013-03-07 version of live ebuild

Update dependencies accordingly to rename and moving qt libs from x11-libs category to dev-qt.
Comment 34 Alexei Ababilov 2013-08-08 08:31:36 UTC
http://alreader.kms.ru/AlReader/AlReader2.Hyphen.zip is not accessible anymore, but its *.pdb files can be taken from http://alreader.kms.ru/sites/default/files/program-files/alreader2.win32.ru__0.zip

Let's set

HYP_ARCH="alreader2.win32.ru__0.zip"
SRC_URI="hyphen? ( http://alreader.kms.ru/sites/default/files/program-files/${HYP_ARCH} )"
Comment 35 Alexei Ababilov 2013-08-08 08:32:50 UTC
Created attachment 355380 [details]
Updates for moved alreader
Comment 36 yury fedorchenko 2016-02-20 10:54:22 UTC
Created attachment 425978 [details]
coolreader3-3.0.56.ebuild

ebuild for coolreader3-3.0.56 (only qt4 gui tests)
Comment 37 yury fedorchenko 2016-02-20 10:54:56 UTC
Created attachment 425980 [details, diff]
freetype2 patch
Comment 38 Sergey S. Starikoff 2016-02-20 17:27:40 UTC
(In reply to yury fedorchenko from comment #37)
> Created attachment 425980 [details, diff] [details, diff]
> freetype2 patch

You aren't right!
The current version of CoolReader3 is 3.1.2-52. Upstream for long ago doesn't provide sources archives.
The attached patch is rather ugly. I's just a quick workaround.

Together with sources distribution miss, build system needs the complete review.
Maybe we should try to make a some kind of fork to fix it?
Comment 39 Davide Pesavento gentoo-dev 2016-05-04 00:16:22 UTC
There is clearly not enough interest in this package from the qt team.
Re-assigning to maintainer-wanted, and CC'ing yngwin who might still be interested.
Comment 40 Sergey S. Starikoff 2016-05-08 19:23:12 UTC
Incorrect bug title!
app-text/coolreader3 is not ONLY a «reader of fictionbook texts», but a «ebook reader», it supports far not only fictionbook (fb2) and epub formats.
For some time ago I've tried, but failed to disable bundled doc format support (coolreader3's build system still is rather awful).
Comment 41 Sergey Torokhov 2016-10-22 22:13:21 UTC
(In reply to Alessio Ababilov from comment #34)
> http://alreader.kms.ru/AlReader/AlReader2.Hyphen.zip is not accessible
> anymore, but its *.pdb files can be taken from
> http://alreader.kms.ru/sites/default/files/program-files/alreader2.win32.
> ru__0.zip
> 
> Let's set
> 
> HYP_ARCH="alreader2.win32.ru__0.zip"
> SRC_URI="hyphen? (
> http://alreader.kms.ru/sites/default/files/program-files/${HYP_ARCH} )"

"AlReader2.Hyphen.zip" could be downloaded directrly from http://www.alreader.com/download.php?file=AlReader2.Hyphen.zip (section "Templates" of "Downloads" page ) or just from
http://www.alreader.com/downloads/AlReader2.Hyphen.zip
Comment 42 Sergey Torokhov 2016-10-22 22:36:03 UTC
(In reply to yury fedorchenko from comment #37)
> Created attachment 425980 [details, diff] [details, diff]
> freetype2 patch

I recently tried to install some old version of coolreader3 by using "coolreader3-3.0.56.ebuild" mentioned above with "media-libs/freetype-2.6.3-r1" installed and encountered the bug described here: https://sourceforge.net/p/crengine/bugs/377/ 

So I have to modify coolreader3-3.0.56.ebuild and cr3.0.56.ft2.diff for successfull installation (attached coolreader3-3.0.56-r1.ebuild and cr3.0.56-r1.ft2.diff).

The one problem also takes place: after installation the users are not able to write into "/usr/share/cr3" directory while after coolreader3 starts by user it tries to create cr3.ini file with user settings and olso tries to save other preferences changes, So it's need to create /usr/share/cr3/cr3.ini manually and allow some user group to write into this file. 

Setting full access to this directory by .ebuild rule during installation is not a good idea. The same problem occurs after installation from official cr3_3.0.56-7_amd64.deb in DEB-based Linux distributives (I used Mint for testing the .deb-file).
Comment 43 Sergey Torokhov 2016-10-22 22:37:21 UTC
Created attachment 451078 [details]
coolreader3-3.0.56-r1.ebuild for freetype-2.6.3-r1
Comment 44 Sergey Torokhov 2016-10-22 22:38:06 UTC
Created attachment 451080 [details, diff]
cr3.0.56-r1.ft2.diff for freetype-2.6.3-r1
Comment 45 Amy Liffey gentoo-dev 2016-12-12 11:06:14 UTC
Hello,
Would you be willing to maintain this package through Proxy Maintainers project?

https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers

Thank you for your contribution.
Comment 46 Sergey S. Starikoff 2016-12-12 14:13:50 UTC
Please, note, tha 3.0.56 is not latest version in 3.0 branch. AFAIR, the latest one is 3.0.57.

The actual development branch is 3.1 with latest version about 3.1.52.

And, prior to get it into portage tree, probably we should do something with it's build system.
Possibly as semi-independent fork, like GNU IceCat for Mozilla FireFox.

P.S. What is the idea of last path changes in media-libs/freetype?
Previous build with path /usr/include/freetype2/ became insufficinet and requires path correction to /usr/include/freetype2/freetype/
Comment 47 Sergey Torokhov 2017-07-12 13:58:15 UTC
Created attachment 483354 [details, diff]
Patch to allow to save cr3.ini file in the user home directory after first run

Patch to allow creating cr3.ini file in the home directory of user instead to trying save it in /usr/share/cr3/cr3.ini
Bug: https://sourceforge.net/p/crengine/bugs/179/
Patch was proposed by "Olexandr" (see bug report)

Path is for coolreader3-3.1.2.71.ebuild but also is applicable for coolreader3-3.0.56-r1.ebuild
Comment 48 Sergey Torokhov 2017-07-12 14:04:55 UTC
Created attachment 483356 [details, diff]
cr3.1.2.71.cr3version.diff

Patch to correct Coolreader version information in "Help - About Coolreader" window from 3.1.2-52 to "3.1.2-71 (2015-07-02)" that corresponds to actual branch associated with coolreader3-3.1.2.71.ebuild

and change 
(c) 1998-2010 Vadim Lopatin
to
(c) 1998-2015 Vadim Lopatin
Comment 49 Sergey Torokhov 2017-07-12 14:17:08 UTC
Created attachment 483358 [details]
coolreader3-3.1.2.71.ebuild

coolreader3-3.1.2.71.ebuild (slight modification of coolreader3-3.0.56-r1.ebuild) that install Coolreader3 associated with cr3.1.2.-71 "branch" (https://sourceforge.net/p/crengine/crengine/ci/cr3.1.2-71/tree/)

This "build" contains commit[1be42e]: Add Catalan hyphenation dictionary 2015-05-21.

Coolreader3-3.1.2-71 successfully merge and works with "qt4" USE-flag and no need the patch for "freetype2" anymore.

But it failed to merge with "wxwidgets" USE-flag during "Linking CXX executable cr3" (maybe it's the same bug: https://sourceforge.net/p/crengine/bugs/371/):


[100%] Linking CXX executable cr3
cd /var/tmp/portage/app-text/coolreader3-3.1.2.71/work/coolreader3-3.1.2.71_build/cr3wx && /usr/bin/cmake -E cmake_link_script CMakeFiles/cr3.dir/link.txt --verbose=1
/usr/bin/x86_64-pc-linux-gnu-g++   -O2 -pipe -Wall -Wno-long-long -pedantic -pthread -O3 -DNDEBUG  -Wl,-O1 -Wl,--as-needed CMakeFiles/cr3.dir/src/cr3.cpp.o CMakeFiles/cr3.dir/src/histlist.cpp.o CMakeFiles/cr3.dir/src/optdlg.cpp.o CMakeFiles/cr3.dir/src/toc.cpp.o CMakeFiles/cr3.dir/src/view.cpp.o CMakeFiles/cr3.dir/src/wolopt.cpp.o CMakeFiles/cr3.dir/src/resources/cr3_def_cover.cpp.o  -o cr3 -rdynamic ../crengine/libcrengine.a ../tinydict/libtinydict.a -L/usr/lib64 -pthread -Wl,-O1 -Wl,--as-needed -L/usr/lib64 -lwx_baseu-2.8 -lwx_gtk2u_core-2.8 -ljpeg -lfreetype -lpng -lz -lz ../thirdparty/chmlib/libchmlib.a -lz ../thirdparty/antiword/libantiword.a 
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../crengine/libcrengine.a(lvfntman.cpp.o): undefined reference to symbol 'FcObjectSetBuild'
/usr/lib64/libfontconfig.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [cr3wx/CMakeFiles/cr3.dir/build.make:261: cr3wx/cr3] Error 1
make[2]: Leaving directory '/var/tmp/portage/app-text/coolreader3-3.1.2.71/work/coolreader3-3.1.2.71_build'
make[1]: *** [CMakeFiles/Makefile2:309: cr3wx/CMakeFiles/cr3.dir/all] Error 2
make[1]: Leaving directory '/var/tmp/portage/app-text/coolreader3-3.1.2.71/work/coolreader3-3.1.2.71_build'
make: *** [Makefile:128: all] Error 2


Before trying to emerge coolreader3 with "wxwidgets" I use to "eselect wxwidgets set" to 2.8 version otherwise it's failed to emerge early.
Comment 50 Sergey Torokhov 2017-07-13 23:22:55 UTC
(In reply to Amy Liffey from comment #45)
> Hello,
> Would you be willing to maintain this package through Proxy Maintainers
> project?
> 
> https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
> 
> Thank you for your contribution.

Hello,
if this messsage was addressed to me than sorry for silence.

As for maintaining this package I'm afraid I don't understand sufficiently good how to write ".ebuilds" to maintain any package on a regular basis. 

In addition the Coolreader3 has not been updated since 2015 even for it's Android version. Apparently the development of this project is currently frozen.

Currently I have no idea how to repair building coolreader3 with "wxwidgets" USE-flag .I don't know is there the way to make the ".ebuild" to use appropriate "eselect wxwidgets profile" without manual switching of it before "emerge"? The linking error maybe relates to order of the linking of libraries.
Comment 51 Sergey S. Starikoff 2017-07-17 11:04:31 UTC
(In reply to Sergey Torokhov from comment #49)
> Coolreader3-3.1.2-71 successfully merge and works with "qt4" USE-flag and no
> need the patch for "freetype2" anymore.

What about qt5-build (see https://sourceforge.net/p/crengine/bugs/370/)?
Comment 52 Sergey Torokhov 2017-08-23 07:48:32 UTC
(In reply to Sergey S. Starikoff from comment #51)
> (In reply to Sergey Torokhov from comment #49)
> > Coolreader3-3.1.2-71 successfully merge and works with "qt4" USE-flag and no
> > need the patch for "freetype2" anymore.
> 
> What about qt5-build (see https://sourceforge.net/p/crengine/bugs/370/)?

Sorry, I don't know how to fix compilation errors with wxwidgets and qt5 builds. As for qt5 compilation error maybe it's due to newer version of Qt in system versus that was used by author of program.
Comment 53 Sergey Torokhov 2017-08-25 20:40:59 UTC
(In reply to Sergey S. Starikoff from comment #51)
> (In reply to Sergey Torokhov from comment #49)
> > Coolreader3-3.1.2-71 successfully merge and works with "qt4" USE-flag and no
> > need the patch for "freetype2" anymore.
> 
> What about qt5-build (see https://sourceforge.net/p/crengine/bugs/370/)?

I tried to build package without portage package manager and got the same error about error:

"You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC (-fPIE is not enough)."
error "You must build your code with position independent code if Qt was built with -reduce-relocations. "

But before I got many errors that current compiller std is incompatible with code. So I had to set "-std=c++11" for some of CMAKE_CXX_FLAGS_RELEASE.

After setting in CMakeLists.txt additional options like CMAKE_CXX_FLAGS_RELEASE="std=c++11" compiling was successful but linking of the resulting objects files failed at the end.
Comment 54 Sergey Torokhov 2017-08-26 00:47:00 UTC
Finally I managed to build coolreader3 with WX and with QT5 GUI options.

I need some time (sorry but not on this weekend) to prepare patches for several CMakeLists.txt and to modify ebuild. I tested only application launching and don't try to open any e-book.

The only strange thing is that with Qt5 version starts rotated right 90 degrees. Maybe it is due to default config in build directory. I don't try to install package into system yet.

Unfortunately I don't how to make CMake use appropriate version of wxGTK (2.8) and search include and other paths for this version while 3.0 is eselected. So wxwidgets2.8 is needed to eselect "wxgtk 2.8" before build.

P.S.
Sergey S. Starikoff, thank you for bug reporting.
Comment 55 Sergey Torokhov 2017-08-28 00:48:34 UTC
Created attachment 490934 [details]
coolreader3-3.1.2.71-r1.ebuild

See comment to patch "cr3.1.2.71-r1_qt5_wx.diff"
Comment 56 Sergey Torokhov 2017-08-28 00:50:57 UTC
Created attachment 490936 [details, diff]
cr3.1.2.71-r1_qt5_wx.diff

# Patch that allows to build Coolreader3 with Qt5 or wxWindgets GUI.
# Qt5 build related bug : https://sourceforge.net/p/crengine/bugs/370
# => absence of "-std=c++11 -fPIC" options in ../cr3qt/CMakeLIsts.txt
# and absence of Qt5 libraries in linking library list of ../cr3qt/CMakeLIsts.txt;
# wxWidgets build related bug : https://sourceforge.net/p/crengine/bugs/371
# => absence of "fonconfig" in linking library list of ../cr3wx/CMakeLIsts.txt

# Add chages to years of cr3wx about dialog and merge with cr3qt about dialog patch.


P.S.
Ebuild uses "mycmakeargs" as variable and warning message:
"Declaring mycmakeargs as a variable is deprecated. Please use an array instead."
Please help to fix it.
Comment 57 Sergey Torokhov 2017-08-28 12:12:42 UTC
Created attachment 490970 [details, diff]
cr3.1.2.71-r1_qt5_wx.diff

Change: 
Adding installation of cr3.{desktop, png, xmp} files to add CoolReader3 icon to application menu.
Comment 58 Sergey Torokhov 2017-08-28 12:18:56 UTC
Created attachment 490972 [details, diff]
cr3.1.2.71_wxGTK3.diff

Info:
Patch to build CoolReader3 with active wxGTK-3.0 profile 
(eselect wxwidgets is set to "gtk2-unicode-3.0" instead of "gtk2-inicode-release-2.8")
Comment 59 Sergey Torokhov 2017-08-28 12:36:35 UTC
Created attachment 490976 [details]
coolreader3-3.1.2.71-r1.ebuild

Main changes (.ebuild and by patches) in coolreader3-3.1.2.71-r1.ebuild:

* Qt5 and wxWidgets GUI is supported.
* wxWidgets builds both for wxGTK-2.8 and wxGTK-3.0. Additional patch is applied if wxGTK-3.0 ("gtk2-unicode-3.0") is set to active profile via "eselect wxwidgets" instead of wxGTK-2.8 ("gtk2-unicode-release-2.8").
* for wxWidgets builds cr3.{desktop, png, xmp} files are installing now to add CoolReader3 icon to application menu.
Comment 60 Sergey S. Starikoff 2017-08-28 14:50:33 UTC
(In reply to Sergey Torokhov from comment #54)
> Unfortunately I don't how to make CMake use appropriate version of wxGTK
> (2.8) and search include and other paths for this version while 3.0 is
> eselected. So wxwidgets2.8 is needed to eselect "wxgtk 2.8" before build.

Probably you want to read
man cmake-utils.eclass
from app-portage/eclass-manpages


(In reply to Sergey Torokhov from comment #56)
> Ebuild uses "mycmakeargs" as variable and warning message:
> "Declaring mycmakeargs as a variable is deprecated. Please use an array
> instead."
> Please help to fix it.

In about this Sunday I'll try to time to fix it.
Comment 61 Sergey Torokhov 2017-08-28 15:04:58 UTC
(In reply to Sergey S. Starikoff from comment #60)
> (In reply to Sergey Torokhov from comment #54)
> > Unfortunately I don't how to make CMake use appropriate version of wxGTK
> > (2.8) and search include and other paths for this version while 3.0 is
> > eselected. So wxwidgets2.8 is needed to eselect "wxgtk 2.8" before build.
> 
> Probably you want to read
> man cmake-utils.eclass
> from app-portage/eclass-manpages

> (In reply to Sergey Torokhov from comment #56)
> > Ebuild uses "mycmakeargs" as variable and warning message:
> > "Declaring mycmakeargs as a variable is deprecated. Please use an array
> > instead."
> > Please help to fix it.
> 
> In about this Sunday I'll try to time to fix it.


Thank you. 

I already wrote the patch that allows to build with wxwidgets 3.0 and modify ebuild for it and for avoiding appearing of warning message.

Could you test insrallation of updated coolreader3-3.1.2.71-r1.ebuild with all gui and wxgtk2.8, 3.0. I have already done that but I prefer somebody do it too to check.
Comment 62 Andrey Grozin gentoo-dev 2017-08-30 16:26:26 UTC
commit 8a74b3274e79e045e12caccfe75b300f51bf0b7c (HEAD -> master, origin/master, origin/HEAD)
Author: Andrey Grozin <grozin@gentoo.org>
Date:   Wed Aug 30 23:24:08 2017 +0700

    app-text/coolreader: initial import
    ebuild by  Sergey Torokhov <torokhov_s_a@mail.ru>
    Bug: 269110
    Package-Manager: Portage-2.3.6, Repoman-2.3.3