summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Naumeiko2017-11-26 22:50:04 +0100
committerIvan Naumeiko2017-11-26 22:50:04 +0100
commit47e83583770fb351232ea01a11b524ff3cbf7c2c (patch)
tree3c2efbbd59dc0abe68541472a9489f8e37ba661e
downloadaur-47e83583770fb351232ea01a11b524ff3cbf7c2c.tar.gz
package preparation
-rw-r--r--.SRCINFO31
-rw-r--r--PKGBUILD41
-rw-r--r--coolreader.install11
-rw-r--r--cr.install11
-rw-r--r--cr3.1.2.71-r1_qt5_wx.diff242
-rw-r--r--cr3ini.diff35
-rw-r--r--lvstsheet.diff22
7 files changed, 393 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..ff415b8a39f4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,31 @@
+pkgbase = coolreader
+ pkgdesc = E-book reader for Linux
+ pkgver = 3.1.2.71
+ pkgrel = 1
+ url = http://sourceforge.net/projects/crengine/
+ install = coolreader.install
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ makedepends = git
+ makedepends = cmake
+ depends = zlib
+ depends = libpng
+ depends = libjpeg
+ depends = freetype2
+ depends = qt5
+ provides = coolreader3
+ conflicts = coolreader3
+ source = https://dev.gentoo.org/~grozin/coolreader-3.1.2.71.tar.bz2
+ source = cr3.1.2.71-r1_qt5_wx.diff
+ source = cr3ini.diff
+ source = lvstsheet.diff
+ source = coolreader.install
+ sha256sums = 746345984be549284713a450686f0c8b04f1485f9a28bedc457940ea1b52f7d1
+ sha256sums = 54090908b2e20a33888a85cf8d5a371b624c54a002ea164b1a01ff5cfe856838
+ sha256sums = 8028aaf8bb1b3dbf0d48333240f83bbb9ef1b71a344b1ddce4bbe47cd9c35f29
+ sha256sums = 108881fa591be677d4a78444557d543d47b3ec8fd22f6c665a764edcf3fb25e6
+ sha256sums = e84837cb485712690df4e0034e2d402d259813aae1b58b411919afc8df3b7c97
+
+pkgname = coolreader
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..90964da2ee07
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Ivan Naumeiko wildhorror AT gmail DOT com
+pkgname=coolreader
+pkgver=3.1.2.71
+pkgrel=1
+pkgdesc="E-book reader for Linux"
+arch=("i686" "x86_64")
+url="http://sourceforge.net/projects/crengine/"
+license=("GPL2")
+depends=("zlib" "libpng" "libjpeg" "freetype2" "qt5")
+makedepends=("git" "cmake")
+provides=("coolreader3")
+conflicts=("coolreader3")
+install="${pkgname}.install"
+source=("https://dev.gentoo.org/~grozin/coolreader-3.1.2.71.tar.bz2" "cr3.1.2.71-r1_qt5_wx.diff" "cr3ini.diff" "lvstsheet.diff" "coolreader.install")
+sha256sums=("746345984be549284713a450686f0c8b04f1485f9a28bedc457940ea1b52f7d1"
+ "54090908b2e20a33888a85cf8d5a371b624c54a002ea164b1a01ff5cfe856838"
+ "8028aaf8bb1b3dbf0d48333240f83bbb9ef1b71a344b1ddce4bbe47cd9c35f29"
+ "108881fa591be677d4a78444557d543d47b3ec8fd22f6c665a764edcf3fb25e6"
+ "e84837cb485712690df4e0034e2d402d259813aae1b58b411919afc8df3b7c97")
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/cr3ini.diff"
+ patch -Np1 -i "${srcdir}/cr3.1.2.71-r1_qt5_wx.diff"
+ patch -Np1 -i "${srcdir}/lvstsheet.diff"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ mkdir build
+ cd build
+
+ cmake -DGUI=QT5 -DCMAKE_BUILD_TOQYPE=Release -DMAX_IMAGE_SCALE_MUL=2 -DDOC_DATA_COMPRESSION_LEVEL=3 -DDOC_BUFFER_SIZE=0x1400000 -DCMAKE_INSTALL_PREFIX=/usr ..
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+} \ No newline at end of file
diff --git a/coolreader.install b/coolreader.install
new file mode 100644
index 000000000000..f8d47ca11489
--- /dev/null
+++ b/coolreader.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+} \ No newline at end of file
diff --git a/cr.install b/cr.install
new file mode 100644
index 000000000000..f8d47ca11489
--- /dev/null
+++ b/cr.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+} \ No newline at end of file
diff --git a/cr3.1.2.71-r1_qt5_wx.diff b/cr3.1.2.71-r1_qt5_wx.diff
new file mode 100644
index 000000000000..434d4556da94
--- /dev/null
+++ b/cr3.1.2.71-r1_qt5_wx.diff
@@ -0,0 +1,242 @@
+diff -Naur old/CMakeLists.txt new/CMakeLists.txt
+--- 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)
+ # Update if necessary
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -std=c++11 -fPIC")
+ endif()
+
+ if (NOT DEFINED GUI)
+@@ -323,7 +323,7 @@
+ message("Will make CR3/WX")
+ ADD_DEFINITIONS( ${DESKTOP_DEFS} -DCR_WX_SUPPORT=1 )
+ SET(wxWidgets_USE_LIBS base core )
+- FIND_PACKAGE(wxWidgets)
++ FIND_PACKAGE(wxWidgets 2.8)
+ IF (wxWidgets_FOUND)
+ INCLUDE(${wxWidgets_USE_FILE})
+ include_directories( ${wxWidgets_INCLUDE_DIRS} )
+diff -Naur old/cr3qt/CMakeLists.txt new/cr3qt/CMakeLists.txt
+--- 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}
+ ELSEIF (UNIX)
+- SET (EXTRA_LIBS ${QT_LIBRARIES} fontconfig ${STD_LIBS} )
++ IF( ${GUI} STREQUAL QT )
++ SET (EXTRA_LIBS ${QT_LIBRARIES} fontconfig ${STD_LIBS} )
++ ELSE()
++ SET (EXTRA_LIBS fontconfig ${STD_LIBS} ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES})
++ ENDIF()
+ 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 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})
+ ADD_EXECUTABLE(cr3 ${CR3_SOURCES})
+-SET (EXTRA_LIBS ${wxWidgets_LIBRARIES} ${STD_LIBS})
++SET (EXTRA_LIBS ${wxWidgets_LIBRARIES} fontconfig ${STD_LIBS})
+ TARGET_LINK_LIBRARIES(cr3 crengine tinydict ${EXTRA_LIBS})
+
+ IF (UNIX)
+@@ -22,6 +22,9 @@
+ INSTALL( DIRECTORY ../cr3qt/data/hyph DESTINATION share/cr3
+ FILES_MATCHING PATTERN "*.pattern" )
+ INSTALL( DIRECTORY ../cr3qt/data/skins DESTINATION share/cr3/skins )
++ INSTALL( FILES ../cr3qt/src/desktop/cr3.desktop DESTINATION share/applications )
++ INSTALL( FILES ../cr3qt/src/desktop/cr3.png DESTINATION share/pixmaps )
++ INSTALL( FILES ../cr3qt/src/desktop/cr3.xpm DESTINATION share/pixmaps )
+ ELSE()
+ INSTALL( TARGETS cr3 RUNTIME DESTINATION . )
+ INSTALL( DIRECTORY ../cr3qt/data/ DESTINATION .
+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\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/cr3ini.diff b/cr3ini.diff
new file mode 100644
index 000000000000..66562aa836a7
--- /dev/null
+++ b/cr3ini.diff
@@ -0,0 +1,35 @@
+# 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)
+diff --git a/cr3qt/src/mainwindow.cpp b/cr3qt/src/mainwindow.cpp
+index 142242a..0401f71 100644
+--- a/cr3qt/src/mainwindow.cpp
++++ b/cr3qt/src/mainwindow.cpp
+@@ -77,8 +77,8 @@ MainWindow::MainWindow(QWidget *parent)
+ #endif
+ QString cacheDir = homeDir + "cache";
+ QString bookmarksDir = homeDir + "bookmarks";
+- QString histFile = exeDir + "cr3hist.bmk";
+- QString histFile2 = homeDir + "cr3hist.bmk";
++ QString histFile2 = exeDir + "cr3hist.bmk";
++ QString histFile = homeDir + "cr3hist.bmk";
+ QString iniFile2 = exeDir + "cr3.ini";
+ QString iniFile = homeDir + "cr3.ini";
+ QString cssFile = homeDir + "fb2.css";
+@@ -92,9 +92,13 @@ MainWindow::MainWindow(QWidget *parent)
+ ldomDocCache::init( qt2cr( cacheDir ), DOC_CACHE_SIZE );
+ ui->view->setPropsChangeCallback( this );
+ if ( !ui->view->loadSettings( iniFile ) )
+- ui->view->loadSettings( iniFile2 );
++ if ( !ui->view->loadSettings( iniFile2 ) )
++ ui->view->saveSettings( iniFile );
++
+ if ( !ui->view->loadHistory( histFile ) )
+- ui->view->loadHistory( histFile2 );
++ if ( !ui->view->loadHistory( histFile2 ) )
++ ui->view->saveHistory( histFile );
++
+ if ( !ui->view->loadCSS( cssFile ) )
+ ui->view->loadCSS( cssFile2 );
+ #if ENABLE_BOOKMARKS_DIR==1
diff --git a/lvstsheet.diff b/lvstsheet.diff
new file mode 100644
index 000000000000..8ba9bcd0a695
--- /dev/null
+++ b/lvstsheet.diff
@@ -0,0 +1,22 @@
+--- old/crengine/src/lvstsheet.cpp 2017-08-30 17:48:31.000000000 +0200
++++ new/crengine/src/lvstsheet.cpp 2017-11-25 22:17:10.000000000 +0100
+@@ -967,7 +967,7 @@
+ for (;;)
+ {
+ node = node->getParentNode();
+- if (node->isNull())
++ if (node->isNull()||node->isRoot())
+ return false;
+ if (node->getNodeId() == _id)
+ return true;
+@@ -1045,8 +1045,8 @@
+ {
+ lString16 val = node->getAttributeValue(attr_class);
+ val.lowercase();
+-// if ( val.length() != _value.length() )
+-// return false;
++ if ( val.length() != _value.length() )
++ return false;
+ //CRLog::trace("attr_class: %s %s", LCSTR(val), LCSTR(_value) );
+ return val == _value;
+ }