Description
zveryga
2009-05-09 10:42:25 UTC
It's a windows app. Are you kidding? 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 http://sourceforge.net/project/showfiles.php?group_id=191284 source of last version 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. Created attachment 200845 [details]
My ebuild, both x86 and amd64 works
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.
(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" Created attachment 236203 [details]
CoolReader3-3.0.18, crengine-3.0.23
Corrected usage of cmake-eclass.
Excuse me, current version of crengine in coolreader3-3.0.18.ebuild is 3.0.22. Created attachment 236205 [details]
files/README for coolreader3-3.0.18-r1.ebuild
Created attachment 236311 [details]
ebuild installing last version from git repository
Created attachment 236401 [details]
ebuild for last release
Also added the check on value of eselect-wxwidgets.
Created attachment 236407 [details]
building last version from git tree
Some improvements in ebuild.
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 Created attachment 236493 [details]
the description/declaration of package-specific USE-flag
Created attachment 236495 [details]
fixed ebuild for CoolReader3-3.0.32 release
Created attachment 236497 [details]
fixed ebuild for building LIVEVCS-version of CoolReader3
Created attachment 239825 [details]
ebuild for CoolReader3-3.0.35 release
Created attachment 239977 [details]
fixed compilation error with actual at 07.2010 versions of libpng
Created attachment 239979 [details]
patfch for coolreader3-3.0.35-r1.ebuild
Created attachment 249187 [details]
coolreader3-3.0.36.ebuild
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.
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' 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.
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:
(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). Created attachment 294187 [details]
coolreader3-lipng-1.5.patch
Thanks to MyRuLib developer for this patch!
Created attachment 294201 [details]
coolreader3 live ebuild, using patch for compillation with current (1.5) version of libpng
Please, mark outdated build failure logs.
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.
live ebuild with the patch works for me. Thanks. I've committed an initial live ebuild to qt overlay, simplified for Qt4 only. (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 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.
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} )" Created attachment 355380 [details]
Updates for moved alreader
Created attachment 425978 [details]
coolreader3-3.0.56.ebuild
ebuild for coolreader3-3.0.56 (only qt4 gui tests)
Created attachment 425980 [details, diff]
freetype2 patch
(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? 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. 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). (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 (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). Created attachment 451078 [details]
coolreader3-3.0.56-r1.ebuild for freetype-2.6.3-r1
Created attachment 451080 [details, diff]
cr3.0.56-r1.ft2.diff for freetype-2.6.3-r1
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. 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/ 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 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
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. (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. (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/)? (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. (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. 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. Created attachment 490934 [details]
coolreader3-3.1.2.71-r1.ebuild
See comment to patch "cr3.1.2.71-r1_qt5_wx.diff"
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. 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.
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")
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.
(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. (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. 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 |