diff options
author | Ivan Naumeiko | 2017-11-26 22:50:04 +0100 |
---|---|---|
committer | Ivan Naumeiko | 2017-11-26 22:50:04 +0100 |
commit | 47e83583770fb351232ea01a11b524ff3cbf7c2c (patch) | |
tree | 3c2efbbd59dc0abe68541472a9489f8e37ba661e | |
download | aur-47e83583770fb351232ea01a11b524ff3cbf7c2c.tar.gz |
package preparation
-rw-r--r-- | .SRCINFO | 31 | ||||
-rw-r--r-- | PKGBUILD | 41 | ||||
-rw-r--r-- | coolreader.install | 11 | ||||
-rw-r--r-- | cr.install | 11 | ||||
-rw-r--r-- | cr3.1.2.71-r1_qt5_wx.diff | 242 | ||||
-rw-r--r-- | cr3ini.diff | 35 | ||||
-rw-r--r-- | lvstsheet.diff | 22 |
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; + } |