FBReader (E-book reader for Linux PDAs and desktop) Main features: * Supported formats are o fb2 e-book format (style attributes are not supported yet). o Html format (tables are not supported). o plucker format (embedded images are supported, tables are not supported). o Palmdoc (aportis doc). o zTxt (Weasel format). o Plain text format. * Direct reading from tar, zip and gzip archives. (Multiple books in one archive are supported). * Supported encodings: utf-8, us-ascii, windows-1251, windows-1252, koi8-r, ibm866, iso-8859-*, Big5, GBK. Automatic encoding detection is supported. * Automatically generated contents table. * Embedded images support. * Footnotes/hyperlinks support. * Position indicator. * Keeps the last open book and the last read positions for all opened books between runs. * List of last opened books. * Automatic hyphenations. Liang's algorithm is used. The same algorithm is used in TeX, and TeX hyphenation patterns are used in FBReader. Patterns for English, French, German and Russian are included in the current version. * Text search. * Full-screen mode. * Screen rotation. Features, planned for future versions: * Dictionary integration. * Automatic scrolling. * Bookmarks. * Tables support. * Support for other e-book formats.
Created attachment 75688 [details] fbreader-0.7.1b.ebuild
Thank you Anton!
new version released 0.7.2 For me bzip2 was a great feature. Changes: * Added bzip2 archives support. * Added screen rotation by 90, 180 and 270 degrees. (All versions except of Qtopia.) * Added Esperanto hyphenation patterns. * Added TCR file format support. * Minor bug fixes.
just renaming 0.7.1b ebuild works with 0.7.2
I just thought I'd mention that in order to get it to compile you need to unmask and upgrade enca (the latest stable won't allow me to compile). Just thought I'd mention it in case anyone else runs into it. This assumes you compile against gtk. When I compile against qt it seems it can't find it. Compiling ZLUnixTime.o ... OK make[2]: Leaving directory `/var/tmp/portage/fbreader-0.7.2/work/fbreader-0.7.2/zlibrary/unix/time' make[2]: Entering directory `/var/tmp/portage/fbreader-0.7.2/work/fbreader-0.7.2/zlibrary/qt/dialogs' Calculating dependencies ...QDialogManager.cpp:21:26: qapplication.h: No such file or directory QDialogManager.cpp:22:25: qmessagebox.h: No such file or directory QDialogManager.cpp:23:25: qfiledialog.h: No such file or directory In file included from QDialogManager.cpp:26: QOptionsDialog.h:26:21: qwidget.h: No such file or directory QOptionsDialog.h:27:21: qdialog.h: No such file or directory QOptionsDialog.h:28:22: qptrlist.h: No such file or directory In file included from QDialogManager.cpp:27: QOpenFileDialog.h:28:23: qlistview.h: No such file or directory In file included from QDialogManager.cpp:28: QWaitMessage.h:27:21: qcursor.h: No such file or directory QOpenFileDialog.cpp:21:19: qvbox.h: No such file or directory QOpenFileDialog.cpp:22:23: qlineedit.h: No such file or directory QOpenFileDialog.cpp:23:21: qheader.h: No such file or directory QOpenFileDialog.cpp:24:21: qpixmap.h: No such file or directory In file included from QOpenFileDialog.cpp:26: QOpenFileDialog.h:27:21: qdialog.h: No such file or directory QOpenFileDialog.h:28:23: qlistview.h: No such file or directory QOptionView.cpp:23:23: qcheckbox.h: No such file or directory QOptionView.cpp:24:23: qcombobox.h: No such file or directory QOptionView.cpp:25:20: qlabel.h: No such file or directory QOptionView.cpp:26:26: qbuttongroup.h: No such file or directory QOptionView.cpp:27:26: qradiobutton.h: No such file or directory QOptionView.cpp:28:25: qpushbutton.h: No such file or directory QOptionView.cpp:29:22: qspinbox.h: No such file or directory QOptionView.cpp:30:23: qlineedit.h: No such file or directory QOptionView.cpp:31:21: qslider.h: No such file or directory QOptionView.cpp:32:21: qlayout.h: No such file or directory In file included from QOptionView.cpp:37: QOptionView.h:24:21: qobject.h: No such file or directory In file included from QOptionView.cpp:38: QOptionsDialog.h:26:21: qwidget.h: No such file or directory QOptionsDialog.h:27:21: qdialog.h: No such file or directory QOptionsDialog.h:28:22: qptrlist.h: No such file or directory QOptionsDialog.cpp:23:24: qtabwidget.h: No such file or directory QOptionsDialog.cpp:25:21: qlayout.h: No such file or directory QOptionsDialog.cpp:26:25: qpushbutton.h: No such file or directory QOptionsDialog.cpp:27:26: qbuttongroup.h: No such file or directory In file included from QOptionsDialog.cpp:32: QOptionsDialog.h:26:21: qwidget.h: No such file or directory QOptionsDialog.h:27:21: qdialog.h: No such file or directory QOptionsDialog.h:28:22: qptrlist.h: No such file or directory In file included from QOptionsDialog.cpp:33: QOptionView.h:24:21: qobject.h: No such file or directory QWaitMessage.cpp:23:26: qapplication.h: No such file or directory QWaitMessage.cpp:24:21: qcursor.h: No such file or directory QWaitMessage.cpp:25:21: qwidget.h: No such file or directory QWaitMessage.cpp:26:20: qlabel.h: No such file or directory QWaitMessage.cpp:27:21: qlayout.h: No such file or directory I have not tried unmasking and ugrading qt yet. gtk is good enough for me for now.
This ebuild also works against 0.7.2a
Not compiled my system (In reply to comment #6) > This ebuild also works against 0.7.2a .... Calculating dependencies ... OK Compiling main.o ...main.cpp:22:26: qapplication.h: No such file or directory In file included from main.cpp:29: /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h:25:20: qimage.h: No such file or directory In file included from main.cpp:29: /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h:31: error: expected class-name before '{' token /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h: In constructor `ZLQImageData::ZLQImageData()': /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h:34: error: class `ZLQImageData' does not have any field named `QImage' /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h: In member function `virtual unsigned int ZLQImageData::width() const': /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h:37: error: `QImage' has not been declared /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h: In member function `virtual unsigned int ZLQImageData::height() const': /var/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/../zlibrary/include/qt/QImageManager.h:38: error: `QImage' has not been declared In file included from main.cpp:32: QFBReader.h:27:25: qmainwindow.h: No such file or directory In file included from main.cpp:32: QFBReader.h: At global scope: QFBReader.h:31: error: expected class-name before ',' token QFBReader.h:34: error: ISO C++ forbids declaration of `Q_OBJECT' with no type QFBReader.h:34: error: expected `;' before "public" QFBReader.h:42: error: `QCloseEvent' has not been declared QFBReader.h:42: error: ISO C++ forbids declaration of `event' with no type QFBReader.h:43: error: `QKeyEvent' has not been declared QFBReader.h:43: error: ISO C++ forbids declaration of `event' with no type QFBReader.h:44: error: `QWheelEvent' has not been declared QFBReader.h:44: error: ISO C++ forbids declaration of `event' with no type QFBReader.h:58: error: expected `:' before "slots" QFBReader.h:59: error: expected primary-expression before "void" QFBReader.h:59: error: ISO C++ forbids declaration of `slots' with no type QFBReader.h:59: error: expected `;' before "void" QFBReader.h: In member function `virtual void QFBReader::setWindowCaption(const std::string&)': QFBReader.h:47: error: `QString' has not been declared QFBReader.h:47: error: `fromUtf8' was not declared in this scope QFBReader.h:47: error: `setCaption' was not declared in this scope QFBReader.h:47: warning: unused variable 'fromUtf8' QFBReader.h:47: warning: unused variable 'setCaption' main.cpp: In function `int main(int, char**)': main.cpp:36: error: `QApplication' was not declared in this scope main.cpp:36: error: expected `;' before "application" main.cpp:43: error: `ImageDirectory' is not a member of `QFBReader' main.cpp:48: error: `application' was not declared in this scope main.cpp:49: error: 'class QFBReader' has no member named 'show' main.cpp:36: warning: unused variable 'QApplication' make[2]: *** [main.o] Ошибка 1 make[2]: Leaving directory `/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader/desktop/qt' make[1]: *** [all] Ошибка 1 make[1]: Leaving directory `/tmp/portage/fbreader-0.7.2a/work/fbreader-0.7.2a/fbreader' make: *** [.app] Ошибка 2 !!! ERROR: app-misc/fbreader-0.7.2a failed. Call stack: ebuild.sh, line 1531: Called dyn_compile ebuild.sh, line 931: Called src_compile fbreader-0.7.2a.ebuild, line 42: Called die !!! emake failed !!! If you need support, post the topmost build error, and the call stack if relevant.
Wow, deja vu! Look at comment 5. Basically I cannot even with the current 0.7.4 version get it to compile against qt without that error so the solution for now is the put USE="-qt" before your emerge command then it will compile against gtk and you can use it.
I see where you may have misunderstood, in comment 6 I just meant that I could compile and use the ebuild for the newer version (now even to 0.7.4) and get it to work. I never got qt to work, sorry for the confusion.
(In reply to comment #9) Yes, 0.7.4 compiled and work with USE="-qt". Gomen-gomen ^__^. But, I like KDE ;)
大丈夫ですよ。 On the QT problem, I don't believe it's a problem with the ebuild Anton kindly provided. You'll find if you decompress the source yourself and edit edit the target.mk file for desktop and qt that you will get the same errors. What I suggest is going over to http://groups.google.com/group/fbreader in with the author is very active on and posting the issue there. You can also join it from the main fbreader page http://only.mawhrin.net/fbreader/ I tested 0.7.4a today to be sure that it was still the case when compiling from source manually and indeed it seems to be the case that it can't compile against qt. I also like KDE but compiling against gtk doesn't mean it won't work in KDE, you'll find the icon under other in the menu.
Actually I'll eat my hat now. What I found is fbreade is looking for /usr/include/qt3 (like when gentoo instealls qt4 we get /usr/include/qt4) however we don't have this we have /usr/qt/3/include so we need a line in the ebuild for makefiles/arch/desktop.mk This will get you past the first problem you will then run into a problem with it finding moc-qt3 which is is also looking for from makefiles/arch/desktop.mk but we have /usr/qt/3/bin/moc (do not mix this up with /usr/bin/moc which is a different program) not moc-qt3 so we need another line in the ebuild to change that. Once that is done you'll get past the moc-qt3 not found and end up with another error which is cannot find -lqt-mt this is also controlled by this same desktop.mk file I have libqt-mt.so in /ust/qt/3/lib which is in my /etc/ld.so.conf so I haven't quite figured out how to fix this one yet.
Created attachment 88013 [details] fbreader-0.7.4a.ebuild This ebuild works with qt but it needs to be cleaned up. Much to my embarrasment my sed line for qt-mt didn't work so I used a stupid echo statement so that needs to be fixed. Also I believe there's a better way than specifying an exact file for qt-mt but I'm not sure what the proper solution is (I am not much of a "hacker") so while this works fine it still needs to be corrected.
Comment on attachment 88013 [details] fbreader-0.7.4a.ebuild # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils DESCRIPTION="FBReader (E-book reader for Linux PDAs and desktop)" HOMEPAGE="http://only.mawhrin.net/fbreader/" SRC_URI="http://only.mawhrin.net/fbreader/${PN}-sources-${PV}.tgz" LICENSE="GPL-2" SLOT="0" KEYWORDS="x86" IUSE="qt" DEPEND="dev-libs/expat app-i18n/enca qt? (=x11-libs/qt-3*) !qt? (=x11-libs/gtk+-2*)" RDEPEND=${DEPEND} S=${WORKDIR}/${P} src_compile () { cd ${S} sed -i "s:INSTALLDIR=/usr/local:INSTALLDIR=/usr:" makefiles/arch/desktop.mk || die "setting prefix failed" echo "TARGET_ARCH = desktop" > makefiles/target.mk if use qt; then echo "UI_TYPE = qt" >> makefiles/target.mk sed -i "s:MOC = moc-qt3:MOC = /usr/qt/3/bin/moc:" makefiles/arch/desktop.mk || die "setting moc failed" sed -i "s:QTINCLUDE = -I /usr/include/qt3:QTINCLUDE = -I /usr/qt/3/include:" makefiles/arch/desktop.mk || die "setting include failed" sed -i "s:UILIBS = -lqt-mt:UILIBS = /usr/qt/3/lib/libqt-mt.so:" makefiles/arch/desktop.mk || die "setting libqt-mt failed" else echo "UI_TYPE = gtk" >> makefiles/target.mk fi if use debug; then echo "TARGET_STATUS = debug" >> makefiles/target.mk else echo "TARGET_STATUS = release" >> makefiles/target.mk fi emake || die "emake failed" } src_install() { emake DESTDIR=${D} install || die "install failed" doicon ${D}/usr/share/FBReader/icons/FBReader.png make_desktop_entry "FBReader" "FBReader" FBReader.png }
Created attachment 88022 [details] fbreader-0.7.4a.ebuild This ebuild fixes the stupid sed problem (that's what I get for doing this as soon as I wake up ^_^;;) however there still must be a better way of setting the library line for qt-mt than when I did.
Created attachment 88493 [details] fbreader-0.7.4b.ebuild correction in qt-mt line.
Created attachment 89013 [details] fbreader-0.7.4c.ebuild added minimum version enca if cjk flag is used so Chinese encoding can be detected.
Created attachment 89405 [details] fbreader-0.7.4d.ebuild Marked unstable on x86 as it should be.
After installing fbreader-0.7.4d.ebuild with USE="qt", there are no icons displayed in the menubar, there are just blank spaces which can be clicked. Is it a known problem? By the way, did you consider trying to get fbreader ebuild into http://gentoo-sunrise.org/ ?
I am using it with qt (currently 0.7.4.f, dont it since 0.7.4a) and I don't see the icon problem you describe. Works on my system, ship it :) Anyone else running with qt and seeing this icon problem? On sunrise I haven't read much on it yet. I'm not sure the changes I made to Anton's ebuild are the best way of doing things either so they may reject it.
Let's be more general, is anyone using this compiled with qt?
On Siarhei's problem, I'm wondering if libpng, qt, and fbreader were all compiled with the same version of the compiler (gcc).
Created attachment 91485 [details] fbreader-0.7.4g.ebuild Changed to requirement for expat to make sure it's expat 1.x as fbreader will not start with expat2 in my testing. I also added bzip2 as I believe fbreader uses libbzip2 to open bzip2 files.
> Changed to requirement for expat to make sure it's expat 1.x as fbreader will > not start with expat2 in my testing. I also added bzip2 as I believe fbreader > uses libbzip2 to open bzip2 files. > Not compile with stable enca package (version 1.0). With 1.9 it's compile.
(In reply to comment #21) > Let's be more general, is anyone using this compiled with qt? > I'm menu is blank.
Sorry, I don't have much time recently so I'm slow. I'm wondering what KDE theme are you using? If you're not using the default, would you test the default? I heard word of a possible issue of fbreader and themes other than default, on my machine I switched themes and indeed my menu, while it still has the icons they do not work and often when I click on them I get a segfault. Unfortunately I don't think I have the knowledge to fix this. So basically we need a more knowledgable person to fix this for us.
Created attachment 96007 [details] fbreader-0.7.4h.ebuild possible fix for qt theme problem where buttons do not function. when compiling with USE=qt and using a theme other than default KDE theme.
Created attachment 96220 [details] fbreader-0.7.4i.ebuild revert makefile change from 0.7.4h ebuild as the changes have been made in the package. This is supposed to fix qt problems with some themes (USE=qt) and add unencrypted mobipocket support.
While I never saw the "no button" issue, I was able to reproduce the issue of the buttons crashing or just not working under various KDE themes. I have tried the current version and so far the buttons all work fine on the themes I've tried so there is certainly an improvement. QT users should give it a try.
Created attachment 96301 [details] fbreader-0.7.4i-r1.ebuild No functional changes. This version incorporates some format changes suggested to get it more in line with the Gentoo guidelines for a possible future input into sunrise.
Created attachment 96306 [details] /fbreader-0.7.4i-r2.ebuild formatting correction.
Created attachment 98273 [details] fbreader-0.7.4j.ebuild Upstream qt and makefile changes made a couple of the makefile changes from the ebuild obsolete so they were removed.
Created attachment 101395 [details] fbreader-0.7.4m.ebuild Version 0.7.4m is released Changes: * Segmentation fault at start has been fixed. (0.7.4k) * Book series support has been added. (0.7.4k) * In fb2 files, cover image is now visible. (0.7.4k) * The table of contents now looks as tree (for fb2 files). (0.7.4l) * Bugfixes.(0.7.4l) * Segmentation fault at start has been fixed. (0.7.4m)
Created attachment 114820 [details] fbreader-0.8.1b.ebuild A quick ebuild update to take advantage of qt4 support not introduced in fbreader 0.8.1b. Now you must have gtk, qt, or qt4 as a USE variable for this ebuild to function. The previous ebuild 0.7.4j will still work for current fbreader but will only use qt3 or gtk. Feel free to modify it or whatnot. Please feel free to let me know what this breaks.
Please, change flag qt to qt3, because portage lack qt useflag now
Created attachment 116578 [details] fbreader-0.8.2a.ebuild Changed qt use flag to qt3 and incorporated some of Sergey's qt3 changes from the fbreader-0.7.4m.ebuild
Thanks. Also I have a problem with qt4 - make break with error "cant't find qt4-moc" and I also cant't find it. But I have /usr/bin/moc, which is from qt4. When I symlinked moc to qt4-moc, make break with error "cant find QtGui.so", but i have it in /usr/lib/qt4/ !!! Please, help with those issues. qt-4.2.3-r1.
Also, please, add qt4,gtk,cjk flags to IUSE, because portage warning me of this issue.
Created attachment 117658 [details] fbreader-0.8.2b.ebuild Updated site to fbreader.org and fixed qt4 moc. However this still needs work on qt4, don't have time to figure it out yet.
Thanks. Do you plan to add this to sunrise overlay?
Created attachment 118080 [details] fbreader-0.8.2c.ebuild Seems to fix qt4 issue. Probably a better way to fix but I think this works.
Yaroslav please post if this works for you.
Yes, it works with +qt4 Thanks for great work!
To be honest, I use it to compile svn snapshot
I'm not so sure qt4 buttons work well. Probably need someone more skilled like Sergey to do a better qt4 fix.
*** Bug 180746 has been marked as a duplicate of this bug. ***
Created attachment 121045 [details] fbreader-0.8.3d.ebuild
Created attachment 121063 [details] fbreader-0.8.3d.ebuild Incorporated better qt4 code from Dmitry. However I still have a lot of trouble with the buttons in qt4 (not so in qt3). Dmitry do the buttons work for you when USE="-qt3 qt4"?
For me, buttons work fine with qt4.
Weird, well if it works for others in qt4 then maybe your ebuild should go in sunrise if you get motivated enough.
0.8.3d builds and works on ppc system using expat-2 instead of =expat-1*.
Created attachment 121300 [details] fbreader-0.8.4.ebuild David, I just tested on AMD64 (32bit) and found I could now use expat-2 as well. In the past it would not compile but it seems upstream made some changes. I went ahead and changed Dmitry's ebuild to just want expat
David are you using just plain ppc or ppc64? Maybe we should add the keyword to the ebuild as you've tested it.
Created attachment 121573 [details] fbreader-0.8.4a.ebuild Corrected site from Dmitry's ebuild.
Installed and works ok with latest fbreader-0.8.4a.ebuild (renamed to fbreader-0.8.6a.ebuild and removed last two lines from src_install() because makefile installs menu entry by default) using qt4 gui.
Created attachment 138192 [details] fbreader-0.8.8.ebuild
Created attachment 138223 [details] fbreader-0.8.8.ebuild
Created attachment 140312 [details] fbreader-0.8.9.ebuild
Created attachment 140315 [details] fbreader-0.8.9.ebuild
Created attachment 140316 [details] fbreader-0.8.10.ebuild
(In reply to comment #60) The default .desktop file included in FBReader distribution has some fields translated to Russian. Why you drop that version and write your own?
(In reply to comment #61) Just because more suitable run program by typing in lower case. Also added MimeType. I have no more reason. Ok, In next version ebuld will be patch desktop file included in FBReader distribution
Created attachment 144748 [details] Ebuild for FBreader 0.8.15, without patch from Ilya Kashirin Quite wide gap occured between current version and version for which last ebuild was written.
I've hacked together an ebuild for liblinebreak (which is needed for fbreader 0.8.16 and above) in bug #216311. I'm not attaching my own ebuild for fbreader-0.8.17 here since it's based on early ebuilds from this bug and has significant differences from the recent 0.8.15 ebuild and I don't feel that my version is more "right" than it. So to use it try bumping fbreader-0.8.15.ebuild and adding a dependency to dev-libs/liblinebreak.
I bump http://bugs.gentoo.org/attachment.cgi?id=144748 to 0.10.0 (make this with 'svn up' and './build-packages.sh source-tarball', install liblinebreak and fribidi) and after successful merging I have libzlcore.so.0.10.0 with size = 0
I can successfuly compile fbreader-0.10.0 with bumped ebuild from roslin overlay, official archive from fbreader.org, and installed fribidi. Without it, there is another compile problem, so i think that it must be added to depends.
New FBReader has new dependencies so ebuild needs a bit of adjustment. FBReader 0.10.0 is released. * This release is sponsored by Intel(R) Learning Series. * Version 0.10.0 is released for Desktop/Netbook computers only (for both Linux and Windows platforms). * Packages for Nokia Internet Tablet and other platforms will be released soon. Changes: * Network libraries integration has been added. FBReader can search and download books from Feedbooks.com and LitRes libraries. We plan to add more libraries in future releases. Short guide for this new feature is available online. Privacy notice: FBReader does not send any information to libraries without user request (and never sends any information about user's library or other user's information). * Partial CSS support for epub files has been added. CSS support in html and fb2 is coming soon. * Epub and Mobipocket book formats support has been substantially improved. * Library view usability has been improved: you can now organize the tree either by author or by tag. * You can now select a word by double-click and a paragraph by triple-click. * Right-to-left languages and bidirectional texts support has been added (GNU FriBidi library is used). * Support for Arabic, Hebrew, Greek and Turkish has been added. * Czech localization has been added (many thanks to Lubomír Čevela). * FBReader now has a new set of icons. * It's now possible to use OS scrollbar for navigating through the text (this is now default and if you would like to continue using old variant, you can change it in the preferences dialog.) * Various bugs have been fixed. Changes important for package builders: * 2 new library dependencies have been added: lubcurl and libfribidi * liblinebreak 1.0 is used in this release (see http://vimgadgets.sourceforge.net/liblinebreak/) for details
Created attachment 178675 [details] Ebuild for v 0.10 Here is my suggestion for ebuild for v 0.10. It's based on fbreader-0.8.15.ebuild.
Created attachment 178795 [details] Ebuild for v 0.10.1 Hm, I might as well do an ebuild for 0.10.1, especially since one of sed's, that I've thrown into the 0.10.0 ebuild was doing nothing.
in fbreader-0.10.1.ebuild: Why duplicate qt3 and gtk sections in src_prepare()? No sense in those, really.
Created attachment 178808 [details] Ebuild for v 0.10.1 take two I take full responsibility for that brainfart. I must have had those two if-blocks selected and wanted to paste something else at some point.
Created attachment 178810 [details] Ebuild for v 0.10.1 take three Uh... put echo "TARGET_ARCH = desktop" > makefiles/target.mk back, else it won't compile. Actually, let me attach a fixed version
Added to tree