commit:     9be972a8c6dcf63f4fd0768479f9ed73104737c4
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Thu Sep  7 11:40:29 2017 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Thu Sep  7 11:40:29 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9be972a8

app-text/coolreader: Various improvements

Thanks to  Sergey Torokhov <torokhov_s_a <AT> mail.ru>
Bug: 629720
Package-Manager: Portage-2.3.6, Repoman-2.3.3

 app-text/coolreader/coolreader-3.1.2.71-r1.ebuild  |  71 +++++++
 .../coolreader/files/cr3.1.2.71-r1_qt5_wx.diff     | 216 +++++++++++++++++----
 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 00000000000..9c28f6c2e25
--- /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 2acbd4512e0..434d4556da9 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 0d1bc31e137..4676fdbdc32 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>

Reply via email to