diff options
author | Andrey Grozin <grozin@gentoo.org> | 2017-09-07 18:40:29 +0700 |
---|---|---|
committer | Andrey Grozin <grozin@gentoo.org> | 2017-09-07 18:40:29 +0700 |
commit | 9be972a8c6dcf63f4fd0768479f9ed73104737c4 (patch) | |
tree | a0c8338d9e10b544796922c1f0184c053872b5fa /app-text/coolreader | |
parent | dev-db/slony1: Clean up (diff) | |
download | gentoo-9be972a8c6dcf63f4fd0768479f9ed73104737c4.tar.gz gentoo-9be972a8c6dcf63f4fd0768479f9ed73104737c4.tar.bz2 gentoo-9be972a8c6dcf63f4fd0768479f9ed73104737c4.zip |
app-text/coolreader: Various improvements
Thanks to Sergey Torokhov <torokhov_s_a@mail.ru>
Bug: 629720
Package-Manager: Portage-2.3.6, Repoman-2.3.3
Diffstat (limited to 'app-text/coolreader')
-rw-r--r-- | app-text/coolreader/coolreader-3.1.2.71-r1.ebuild | 71 | ||||
-rw-r--r-- | app-text/coolreader/files/cr3.1.2.71-r1_qt5_wx.diff | 216 | ||||
-rw-r--r-- | app-text/coolreader/metadata.xml | 1 |
3 files changed, 254 insertions, 34 deletions
diff --git a/app-text/coolreader/coolreader-3.1.2.71-r1.ebuild b/app-text/coolreader/coolreader-3.1.2.71-r1.ebuild new file mode 100644 index 000000000000..9c28f6c2e25f --- /dev/null +++ b/app-text/coolreader/coolreader-3.1.2.71-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +if [ "${PV}" == 9999 ] +then + inherit git-r3 + # github mirror has some new commits to fix page margins settings + # sourceforge mirror saved as backup + #EGIT_REPO_URI="git://git.code.sf.net/p/crengine/crengine" + EGIT_REPO_URI="https://github.com/buggins/coolreader.git" + SRC_URI="" +else + # git tag cr3.1.2-71 + SRC_URI="https://dev.gentoo.org/~grozin/${P}.tar.bz2" +fi + +DESCRIPTION="CoolReader - reader of eBook files (fb2,epub,htm,rtf,txt)" +HOMEPAGE="https://sourceforge.net/projects/crengine/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="qt4 qt5 wxwidgets corefonts liberation-fonts" +REQUIRED_USE="^^ ( qt4 qt5 wxwidgets ) + wxwidgets? ( + || ( corefonts liberation-fonts ) )" + +DEPEND="sys-libs/zlib + media-libs/libpng:0 + virtual/jpeg:0 + media-libs/freetype + wxwidgets? ( + || ( x11-libs/wxGTK:3.0 x11-libs/wxGTK:2.8 ) ) + qt4? ( dev-qt/qtcore:4 + dev-qt/qtgui:4 ) + qt5? ( dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 )" +RDEPEND="${DEPEND} + corefonts? ( media-fonts/corefonts ) + liberation-fonts? ( media-fonts/liberation-fonts )" + +# 1st patch: To save cr3.ini to ~homedir. +# 2nd patch: To build QT5 and WX GUI version of coolreader3; +# setting correct vesrion number and years of cr3qt/cr3wx; +# internal switching between wxGTK 2.8 or 3.0 version; +# show wxWidgets version in "About" dialog window; +# disabling "iCCP: known incorrect sRGB profile" warning popup window for wxwidgets GUI + +PATCHES=( "${FILESDIR}/cr3ini.diff" "${FILESDIR}/cr3.1.2.71-r1_qt5_wx.diff" ) + +src_configure() { + CMAKE_USE_DIR="${S}" + CMAKE_BUILD_TYPE="Release" + if use qt4; then + local mycmakeargs=(-D GUI=QT) + elif use qt5; then + local mycmakeargs=(-D GUI=QT5) + elif use wxwidgets; then + . "${ROOT}/var/lib/wxwidgets/current" + if [[ "${WXCONFIG}" -eq "none" ]]; then + die "The wxGTK profile should be selected!" + fi + local mycmakeargs=(-D GUI=WX) + fi + cmake-utils_src_configure +} diff --git a/app-text/coolreader/files/cr3.1.2.71-r1_qt5_wx.diff b/app-text/coolreader/files/cr3.1.2.71-r1_qt5_wx.diff index 2acbd4512e03..434d4556da94 100644 --- a/app-text/coolreader/files/cr3.1.2.71-r1_qt5_wx.diff +++ b/app-text/coolreader/files/cr3.1.2.71-r1_qt5_wx.diff @@ -1,14 +1,6 @@ -# 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. - diff -Naur old/CMakeLists.txt new/CMakeLists.txt ---- old/CMakeLists.txt 2015-07-13 11:23:37.000000000 +0300 -+++ new/CMakeLists.txt 2017-08-28 00:34:39.000000000 +0300 +--- old/CMakeLists.txt 2017-08-30 18:31:28.000000000 +0300 ++++ new/CMakeLists.txt 2017-09-02 23:43:38.000000000 +0300 @@ -29,7 +29,7 @@ endif() elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) @@ -28,8 +20,8 @@ diff -Naur old/CMakeLists.txt new/CMakeLists.txt INCLUDE(${wxWidgets_USE_FILE}) include_directories( ${wxWidgets_INCLUDE_DIRS} ) diff -Naur old/cr3qt/CMakeLists.txt new/cr3qt/CMakeLists.txt ---- old/cr3qt/CMakeLists.txt 2015-07-13 11:23:37.000000000 +0300 -+++ new/cr3qt/CMakeLists.txt 2017-08-26 03:25:55.000000000 +0300 +--- old/cr3qt/CMakeLists.txt 2017-08-30 18:31:28.000000000 +0300 ++++ new/cr3qt/CMakeLists.txt 2017-09-03 00:53:38.000000000 +0300 @@ -173,7 +173,11 @@ SET (EXTRA_LIBS ${QT_LIBRARIES} ${STD_LIBS} ) #${QT_LIBRARIES} @@ -43,9 +35,21 @@ diff -Naur old/cr3qt/CMakeLists.txt new/cr3qt/CMakeLists.txt ELSE() SET (EXTRA_LIBS ${STD_LIBS} ${QT_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES} ) ENDIF(MAC) +diff -Naur old/cr3qt/src/aboutdlg.ui new/cr3qt/src/aboutdlg.ui +--- old/cr3qt/src/aboutdlg.ui 2017-08-30 18:31:28.000000000 +0300 ++++ new/cr3qt/src/aboutdlg.ui 2017-09-03 00:56:14.000000000 +0300 +@@ -56,7 +56,7 @@ + <item> + <widget class="QLabel" name="label_2"> + <property name="text"> +- <string notr="true">(c) 1998-2010 Vadim Lopatin</string> ++ <string notr="true">(c) 1998-2015 Vadim Lopatin</string> + </property> + </widget> + </item> diff -Naur old/cr3wx/CMakeLists.txt new/cr3wx/CMakeLists.txt ---- old/cr3wx/CMakeLists.txt 2015-07-13 11:23:37.000000000 +0300 -+++ new/cr3wx/CMakeLists.txt 2017-08-26 01:22:53.000000000 +0300 +--- old/cr3wx/CMakeLists.txt 2017-08-30 18:31:28.000000000 +0300 ++++ new/cr3wx/CMakeLists.txt 2017-09-03 00:54:59.000000000 +0300 @@ -10,7 +10,7 @@ ) LINK_DIRECTORIES(${wxWidgets_LIBRARY_DIRS}) @@ -65,30 +69,174 @@ diff -Naur old/cr3wx/CMakeLists.txt new/cr3wx/CMakeLists.txt ELSE() INSTALL( TARGETS cr3 RUNTIME DESTINATION . ) INSTALL( DIRECTORY ../cr3qt/data/ DESTINATION . - -# Change the dates in About program dialogs: ---- a/crengine/include/cr3version.h 2015-07-13 11:23:37.000000000 +0300 -+++ b/crengine/include/cr3version.h 2017-07-12 11:09:49.000000000 +0300 -@@ -1,2 +1,2 @@ --#define CR_ENGINE_VERSION "3.1.2-52" --#define CR_ENGINE_BUILD_DATE "2014-11-19" -+#define CR_ENGINE_VERSION "3.1.2-71" -+#define CR_ENGINE_BUILD_DATE "2015-07-02" - ---- a/cr3qt/src/aboutdlg.ui -+++ b/cr3qt/src/aboutdlg.ui -@@ -59 +59 @@ -- <string notr="true">(c) 1998-2010 Vadim Lopatin</string> -+ <string notr="true">(c) 1998-2015 Vadim Lopatin</string> - ---- old/cr3wx/src/cr3.cpp 2015-07-13 11:23:37.000000000 +0300 -+++ new/cr3wx/src/cr3.cpp 2017-08-28 02:29:32.000000000 +0300 -@@ -1479,7 +1479,7 @@ +diff -Naur old/cr3wx/src/cr3.cpp new/cr3wx/src/cr3.cpp +--- old/cr3wx/src/cr3.cpp 2017-08-30 18:31:28.000000000 +0300 ++++ new/cr3wx/src/cr3.cpp 2017-09-03 02:30:35.000000000 +0300 +@@ -395,7 +395,11 @@ + + lString16 GetConfigFileName() + { +- lString16 cfgdir( wxStandardPaths::Get().GetUserDataDir().c_str() ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ lString16 cfgdir( wxStandardPaths::Get().GetUserDataDir().wx_str() ); ++ #else ++ lString16 cfgdir( wxStandardPaths::Get().GetUserDataDir().c_str() ); ++ #endif + if ( !wxDirExists( cfgdir.c_str() ) ) + ::wxMkdir( wxString( cfgdir.c_str() ) ); + lChar16 slash = detectSlash( cfgdir ); +@@ -520,6 +524,7 @@ + + wxBitmap cr3Frame::getIcon16x16( const lChar16 * name ) + { ++ wxLogNull logNo; // Temporary disable warnings ( see: http://trac.wxwidgets.org/ticket/15331 ) + lString16 dir; + if ( _toolbarSize==2 ) + dir = "icons/22x22/"; +@@ -531,7 +536,7 @@ + if ( icon.IsOk() ) + return icon; + return wxNullBitmap; +-} ++} // ~wxLogNull called, old log sink restored + + #if (USE_FREETYPE==1) + bool getDirectoryFonts( lString16Collection & pathList, lString16 ext, lString16Collection & fonts, bool absPath ) +@@ -622,7 +627,11 @@ + wxImage::AddHandler(new wxPNGHandler); + resources = new ResourceContainer(); + +- lString16 appname( argv[0] ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ lString16 appname( argv[0].wx_str() ); ++ #else ++ lString16 appname( argv[0] ); ++ #endif + int lastSlash=-1; + lChar16 slashChar = '/'; + for ( int p=0; p<(int)appname.length(); p++ ) { +@@ -777,7 +786,11 @@ + int argc = wxGetApp().argc; + lString16 fnameToOpen; + for ( int i=1; i<argc; i++ ) { +- lString16 param = lString16( wxGetApp().argv[1] ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ lString16 param = lString16( wxGetApp().argv[1].wx_str() ); ++ #else ++ lString16 param = lString16( wxGetApp().argv[1] ); ++ #endif + if ( param[0]!='-' ) + fnameToOpen = param; + } +@@ -1193,7 +1206,11 @@ + lString16 outFile; + bool convert = false; + for ( int i=1; i<argc; i++ ) { +- lString16 param = lString16( wxGetApp().argv[i] ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ lString16 param = lString16( wxGetApp().argv[i].wx_str() ); ++ #else ++ lString16 param = lString16( wxGetApp().argv[i] ); ++ #endif + if ( param[0]!='-' ) + fnameToOpen = param; + else if (param.startsWith("--convert")) +@@ -1470,7 +1487,11 @@ + wxCursor hg( wxCURSOR_WAIT ); + this->SetCursor( hg ); + wxSetCursor( hg ); +- _view->getDocView()->exportWolFile( dlg.GetPath(), opts.getMode()==0, opts.getLevels() ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ _view->getDocView()->exportWolFile( dlg.GetPath().wx_str(), opts.getMode()==0, opts.getLevels() ); ++ #else ++ _view->getDocView()->exportWolFile( dlg.GetPath(), opts.getMode()==0, opts.getLevels() ); ++ #endif + wxSetCursor( wxNullCursor ); + this->SetCursor( wxNullCursor ); + } +@@ -1479,7 +1500,7 @@ void cr3Frame::OnAbout( wxCommandEvent& WXUNUSED( event ) ) { - wxMessageBox( wxT( "Cool Reader " wxT(CR3_VERSION) wxT("\n(c) 1998-2007 Vadim Lopatin\nwxWidgets version\n") ) -+ wxMessageBox( wxT( "Cool Reader " wxT(CR3_VERSION) wxT("\n(c) 1998-2015 Vadim Lopatin\nwxWidgets version\n") ) ++ wxMessageBox( wxT( "Cool Reader " wxT(CR3_VERSION) wxT("\n(c) 1998-2015 Vadim Lopatin\n" wxVERSION_STRING"\n") ) wxT("\nBased on CREngine library " wxT(CR_ENGINE_VERSION) ) wxT("\nThird party libraries used:") wxT("\nzlib, libpng, libjpeg, freetype2,") +diff -Naur old/cr3wx/src/optdlg.cpp new/cr3wx/src/optdlg.cpp +--- old/cr3wx/src/optdlg.cpp 2017-08-30 18:31:28.000000000 +0300 ++++ new/cr3wx/src/optdlg.cpp 2017-09-03 02:36:51.000000000 +0300 +@@ -41,7 +41,11 @@ + if ( v==_choices[i] ) + tb = i; + if ( _storeStringValues ) { +- props->setString( _option, lString16(_choices[tb]) ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ props->setString( _option, lString16(_choices[tb].wx_str()) ); ++ #else ++ props->setString( _option, lString16(_choices[tb]) ); ++ #endif + } else { + props->setInt( _option, tb ); + } +@@ -50,7 +54,11 @@ + { + unsigned tb = _defvalue; + if ( _storeStringValues ) { +- lString8 s8 = UnicodeToUtf8( lString16(_choices[_defvalue]) ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ lString8 s8 = UnicodeToUtf8( lString16(_choices[_defvalue].wx_str()) ); ++ #else ++ lString8 s8 = UnicodeToUtf8( lString16(_choices[_defvalue]) ); ++ #endif + lString16 s16 = props->getStringDef( _option, s8.c_str() ); + wxString v = s16.c_str(); + for ( unsigned i=0; i<_choices.GetCount(); i++ ) +diff -Naur old/cr3wx/src/view.cpp new/cr3wx/src/view.cpp +--- old/cr3wx/src/view.cpp 2017-08-30 18:31:28.000000000 +0300 ++++ new/cr3wx/src/view.cpp 2017-09-03 02:40:42.000000000 +0300 +@@ -353,7 +353,11 @@ + + lString16 cr3view::GetHistoryFileName() + { +- lString16 cfgdir( wxStandardPaths::Get().GetUserDataDir().c_str() ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ lString16 cfgdir( wxStandardPaths::Get().GetUserDataDir().wx_str() ); ++ #else ++ lString16 cfgdir( wxStandardPaths::Get().GetUserDataDir().c_str() ); ++ #endif + if ( !wxDirExists( cfgdir.c_str() ) ) + ::wxMkdir( wxString( cfgdir.c_str() ) ); + lChar16 slash = detectSlash( cfgdir ); +@@ -667,13 +671,21 @@ + //=========================================== + GetParent()->Update(); + //printf(" loading... "); +- bool res = getDocView()->LoadDocument( fname.c_str() ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ bool res = getDocView()->LoadDocument( fname.wx_str() ); ++ #else ++ bool res = getDocView()->LoadDocument( fname.c_str() ); ++ #endif + //printf(" done. \n"); + //DEBUG + //_docview->exportWolFile( "test.wol", true ); + //_docview->SetPos(0); + if ( !res ) +- getDocView()->createDefaultDocument(lString16("File open error"), lString16("Cannot open file ") + fname.c_str() ); ++ #if wxCHECK_VERSION(3, 0, 0) ++ getDocView()->createDefaultDocument(lString16("File open error"), lString16("Cannot open file ") + fname.wx_str() ); ++ #else ++ getDocView()->createDefaultDocument(lString16("File open error"), lString16("Cannot open file ") + fname.c_str() ); ++ #endif + lString16 title = getDocView()->getAuthors(); + if ( !title.empty() && !getDocView()->getTitle().empty() ) + title << L". "; +diff -Naur old/crengine/include/cr3version.h new/crengine/include/cr3version.h +--- old/crengine/include/cr3version.h 2017-08-30 18:31:28.000000000 +0300 ++++ new/crengine/include/cr3version.h 2017-09-03 00:55:28.000000000 +0300 +@@ -1,2 +1,2 @@ +-#define CR_ENGINE_VERSION "3.1.2-52" +-#define CR_ENGINE_BUILD_DATE "2014-11-19" ++#define CR_ENGINE_VERSION "3.1.2-71" ++#define CR_ENGINE_BUILD_DATE "2015-07-02" diff --git a/app-text/coolreader/metadata.xml b/app-text/coolreader/metadata.xml index 0d1bc31e137a..4676fdbdc32e 100644 --- a/app-text/coolreader/metadata.xml +++ b/app-text/coolreader/metadata.xml @@ -10,6 +10,7 @@ </longdescription> <use> <flag name="corefonts">Use <pkg>media-fonts/corefonts</pkg></flag> + <flag name="liberation-fonts">Use <pkg>media-fonts/liberation-fonts</pkg></flag> </use> <upstream> <remote-id type="sourceforge">crengine</remote-id> |