MobileRead Forums

MobileRead Forums (https://www.mobileread.com/forums/index.php)
-   Sigil (https://www.mobileread.com/forums/forumdisplay.php?f=203)
-   -   Sigil v0.1.2 (https://www.mobileread.com/forums/showthread.php?t=53331)

Valloric 08-11-2009 09:04 PM

Sigil v0.1.2
 
Sigil v0.1.2 has been released. The ChangeLog (live version here) for this release follows:
Quote:

Sigil v0.1.2 2009.08.12.
- added the ability to specify the main publication identifier directly,
through the "CustomID" basic metadata property (issue #3)
- fixed a bug with warning dialog not informing the user of unsaved changes
when editing in code view (issue #30)
- Sigil is now a universal Mac application (ppc and i386, in 32bit) (issue #5)
- implemented a workaround for a bug in QTextCodec causing bad HTML codec detection (issue #74)
- SVG elements are not removed anymore (issue #24)
- inter-document HTML links are now fully supported (issue #53)
- fixed rare issue where CSS style rules could get duplicated when changing views
- fixed issue with inline style tags in OPS documents not being loaded (issue #58)
- Sigil can now accept a file to load as the first command line argument; this also
provides support for "Open With..." operating system features (issue #63)
- fixed an issue where the reported build time in the About dialog was actually the execution
time (issue #65)
- loading of missing files in the recent files list is now improved (issue #57)
- fixed a rare issue where the wrong view could be sent to the printer on print actions
- Sigil now creates a guide element with a cover page in the OPF if the content of the first
OPS document is less than 1000 characters long (issue #48)
- support for importing UTF-16 encoded documents (not just UTF-8)
- provided install target for linux; the binary is now also named "sigil"
(lower case 's') on Unix systems (except Mac) for the sake of convention (issue #46)
- removed dependency on "data" directory (issue #51)
There is no binary build for the Linux version, and this is final. The build system is now trivial to use, and it has a shiny new "install" target (for Linux).

The next release should come with an installer for the Windows platform. Mac users already have a prepackaged DMG, and from what Mac users tell me (and the Apple developer website), this is the preferred way of deploying applications for that platform.

I will not be providing DEB and RPM (and whatever else package type) packages for Linux systems simply because there are too many. 32bit & 64bit DEB's and 32bit & 64bit RPM's alone make up four, and this is simply too much work for what Google Analytics and the download counts specify as 10-15% ~9% of the Sigil user base. Providing just some package types and not others would be unfair. And when/if package repository maintainers of the various distros decide to include Sigil, they will be making their own packaged versions either way. So there's really little point.

Sorry guys. But as I've said, building Sigil is trivial, and now you have an install target too. From what I can tell from other native-code, multi-platform OSS projects, an installer for Windows, a DMG for Macs and a source package for Linux people is a common way of doing things. And their build procedures are a lot more involved.

Now let's get back to "Yaaay, Sigil is 0.1.2! Why haven't you done the search dialogs and view syncing yet? You sooo suck." :)

zelda_pinwheel 08-11-2009 09:08 PM

0.1.2 !! woot !! thank you valloric !!! 0.1.2 karma coming.

-added the ability to specify the main publication identifier directly,
through the "CustomID" basic metadata property (issue #3)

woot woot !!!! special thanks and karma for that too ! :2thumbsup

ShortNCuddlyAm 08-11-2009 09:14 PM

Grabbed it, will have a play as soon as I get a mo!

Moejoe 08-12-2009 01:05 AM

Excellent :) And don't fret over debs and such, it is trivial to build on Linux, even for me :)

mtravellerh 08-12-2009 01:33 AM

Quote:

"Yaaay, Sigil is 0.1.2! Why haven't you done the search dialogs and view syncing yet? You sooo suck."
:rofl:

No, but seriously. Great effort, Valloric!

acidzebra 08-12-2009 05:26 AM

That is pretty sweet, Valloric! Awesome initiative!

K-Thom 08-12-2009 07:10 AM

"With Sigil I get my eBooks created much more easily than with all other products. And for that price! It's a real bargain! Even my kids love my eBooks now. When I showed Sigil to my neighbor he was totally flabbergasted. ePub editing never was that easy!"

Sorry, couldn't hold me back ... :D Really, Valloric, great effort! I didn't even wait for an adavnced beta version, but gave it a try, and I really like it. :)

zelda_pinwheel 08-12-2009 02:06 PM

Quote:

Originally Posted by K-Thom (Post 551399)
"With Sigil I get my eBooks created much more easily than with all other products. And for that price! It's a real bargain! Even my kids love my eBooks now. When I showed Sigil to my neighbor he was totally flabbergasted. ePub editing never was that easy!"

Sorry, couldn't hold me back ... :D Really, Valloric, great effort! I didn't even wait for an adavnced beta version, but gave it a try, and I really like it. :)

i nominate K-Thom as the official Sigil marketing rep. :D

Teyrnon 08-12-2009 11:06 PM

I couldn't get it to build in linux.

Errors:
/sigilcode/src/Sigil/Headings.cpp: In static member function ‘static QList<Headings::Heading> Headings::GetFlattenedHeadings(const QList<Headings::Heading>&)’:
/sigilcode/src/Sigil/Headings.cpp:197: error: no matching function for call to ‘QList<Headings::Heading>::append(QList<Headings:: Heading>)’
/usr/include/qt4/QtCore/qlist.h:414: note: candidates are: void QList<T>::append(const T&) [with T = Headings::Heading]
/sigilcode/src/Sigil/Headings.cpp: In static member function ‘static QList<Headings::Heading> Headings::FlattenHeadingNode(Headings::Heading)’:
/sigilcode/src/Sigil/Headings.cpp:214: error: no matching function for call to ‘QList<Headings::Heading>::append(QList<Headings:: Heading>)’
/usr/include/qt4/QtCore/qlist.h:414: note: candidates are: void QList<T>::append(const T&) [with T = Headings::Heading]
make[2]: *** [src/Sigil/CMakeFiles/sigil.dir/Headings.cpp.o] Error 1
make[1]: *** [src/Sigil/CMakeFiles/sigil.dir/all] Error 2
make: *** [all] Error 2

Slite 08-13-2009 07:05 AM

Extremely nice piece of software.

Very easy to use :)

Now, if only it could import PDF's :)

But that may show up in later versions? (I hope)

mtravellerh 08-13-2009 08:43 AM

Quote:

Originally Posted by Slite (Post 552866)
Extremely nice piece of software.

Very easy to use :)

Now, if only it could import PDF's :)

But that may show up in later versions? (I hope)

There never ever will be a decent import function for PDFs. Please DO convert your PDFs to text and edit those manually before importing them into Sigil!

Slite 08-13-2009 09:08 AM

Quote:

Originally Posted by mtravellerh (Post 552963)
There never ever will be a decent import function for PDFs. Please DO convert your PDFs to text and edit those manually before importing them into Sigil!


M'kay... I hate PDF anywho, just hoped for an easy way to not have to fiddle around with them :)

Valloric 08-13-2009 09:18 AM

Quote:

Originally Posted by Teyrnon (Post 552459)
I couldn't get it to build in linux.

I built this on Ubuntu Jaunty just fine before release. Try building from trunk. If that doesn't work, the problem must be at your end.

Please do notice that you provided basically no information about your system: which version of Qt is installed, which distro you are running, which version of GCC you are using, which version of Sigil you are trying to compile etc. All of those (and more) would be very helpful.

Teyrnon 08-13-2009 09:40 AM

Quote:

Originally Posted by Valloric (Post 553000)
I built this on Ubuntu Jaunty just fine before release. Try building from trunk. If that doesn't work, the problem must be at your end.

Please do notice that you provided basically no information about your system: which version of Qt is installed, which distro you are running, which version of GCC you are using, which version of Sigil you are trying to compile etc. All of those (and more) would be very helpful.

Sorry, I'm running Ubuntu Intrepid with what the package manager says are the latest versions of everything. That's likely my problem. Thanks. I've been meaning to move to Jaunty shortly.

mtravellerh 08-13-2009 10:51 AM

Quote:

Originally Posted by Slite (Post 552989)
M'kay... I hate PDF anywho, just hoped for an easy way to not have to fiddle around with them :)

Don't we all? But there is no chance that there will ever be a tool like that. PDF is so locked in that easy conversion is just not viable without losing a lot of the formatting.

HarryT 08-13-2009 11:07 AM

Quote:

Originally Posted by mtravellerh (Post 553140)
Don't we all? But there is no chance that there will ever be a tool like that. PDF is so locked in that easy conversion is just not viable without losing a lot of the formatting.

The fundamental problem with PDF files is that they do not contain things like paragraphs, lines, or even words. They simply have drawing command for placing individual letters at certain coordinates on the page. A conversion program can attempt to "reconstruct" the text from that, but it's a damned difficult job.

The best way to "convert" PDFs is often to print them and OCR the printed output.

roger64 08-13-2009 11:12 AM

Installing Sigil

I am one of these ugly pesky Linux Ubuntu jaunty users who failed in his "trivial" task. But I will not trouble you with my problems. :D

My guess is just that the percentage of your Linux users will very probably soon drop from 9% to much less. So, don't bother about it...:rolleyes:

I wish you good luck.

Valloric 08-13-2009 11:47 AM

Quote:

Originally Posted by roger64 (Post 553179)
I am one of these ugly pesky Linux Ubuntu jaunty users who failed in his "trivial" task. But I will not trouble you with my problems. :D

Feel free to trouble me with your problems, I will be glad to help. I never said I wouldn't be. If the build process can be improved / streamlined / simplified in any way, I will do my best to do that.

Again, if you have some specific problem with building Sigil, I'd be happy to help... but you will have to provide more information than just "I failed".

Quote:

Originally Posted by roger64 (Post 553179)
My guess is just that the percentage of your Linux users will very probably soon drop from 9% to much less. So, don't care...:rolleyes:

I wish you good luck.

Excuse me, but when exactly did I say I didn't care about my Linux users? The entire build system was simplified for them specifically. The install target is also present only on Linux systems.

If what you are complaining about is the lack of packaged binaries, then I'm sorry, but I do not have the time, resources or even the desire to package 10 - 15 different versions for all possible package managers, distros and architectures.

The practice of providing installers for Windows, DMG's for Mac and source archives for Linux is very widespread. I'll just name a few of the major applications, ok?

Inkscape, GIMP, Wireshark... Hell, even GCC. All of these are provided for Linux in source form only, and are provided as packages by your distribution's package maintainers, not by the developers. And they are all applications with years of history and tens if not hundereds of developers behind them.

There are many, many more examples. So spare me the sarcasm.

roger64 08-13-2009 11:59 AM

Quote:

Originally Posted by roger64 (Post 553179)
Installing Sigil

My guess is just that the percentage of your Linux users will very probably soon drop from 9% to much less.

Sorry. Sarcasm spared. Thanks for your reply.

zelda_pinwheel 08-13-2009 12:07 PM

hi roger,
i'm very sorry you're having trouble installing sigil, but let's not forget that valloric is spending unbelievable amounts of his own free time and effort to make a brilliant application for us for free. that is an incredibly generous initiative and i think it's worth a bit of appreciation and understanding, and maybe trying to meet him halfway so that he can spend more time making big improvements to sigil which will benefit everyone.

not only is he making the extra effort to make sigil cross-plateform (not a negligeable task !), he has already said he is more than willing to try to talk you through the installation process on linux. in addition there are several linux users here who have apparently managed to install it without trouble, and i'm sure they'd also be more than willing to help you if you give more information about your problem (like the precise disto you're using, etc.).

in any case i think valloric is to be applauded, and perhaps we can try to keep the appreciation to snark ratio a little more reasonable when posting here. it seems like the least we can do, under the circumstances.

Jellby 08-13-2009 12:21 PM

In a computer where I don't have recent enough Qt libraries, I was able to compile and run Sigil in this way:

1. Download and compile the latest Qt libraries. No need to actually install them, but then I used "./configure -prefix .", so that qmake would use the libraries from that directory, and not the system installed ones.

2. Dowload the binary cmake

3. Download the Sigil sources. Now I have under a single directory, these subdirectories:
qt-x11-opensource-src-4.5.2, cmake-2.6.4-Linux-i386, Sigil_code_0.1.2

4. Switch into Sigil_code_0.1.2 and run:
Code:

PATH=../qt-x11-opensource-src-4.5.2/bin:$PATH LD_LIBRARY_PATH=../qt-x11-opensource-src-4.5.2/lib/ ../cmake-2.6.4-Linux-i386/bin/cmake -G "Unix Makefiles"
(that's to make it pick the "right" Qt libraries and binaries).

5. Run make.

6. If I didn't miss anything, now I have a working sigil binary under Sigil_code_0.1.2/bin.

Valloric 08-13-2009 12:27 PM

Quote:

Originally Posted by Jellby (Post 553294)
In a computer where I don't have recent enough Qt libraries, I was able to compile and run Sigil in this way
<long process>

I'd just like to mention that this is a very unconventional way of building Sigil. As Jellby said, he has to jump through hoops a bit because he uses an old system with old Qt libraries.

On any modern distro this process is greatly simplified. Detailed instructions are in the source package and on the website.

Usually it boils down to this:
Code:

sudo apt-get install libqt4-gui libqt4-svg libqt4-webkit libqt4-xml libqt4-dev
cmake -G "Unix Makefiles" /path/to/source/folder
make
sudo make install

That's it. Four lines in terminal. 10 seconds of work.

Teyrnon 08-13-2009 12:35 PM

Quote:

Originally Posted by Teyrnon (Post 553026)
Sorry, I'm running Ubuntu Intrepid with what the package manager says are the latest versions of everything. That's likely my problem. Thanks. I've been meaning to move to Jaunty shortly.

Okay, it builds fine in Ubuntu Jaunty. My problem was that I was running Intrepid and the latest versions in the repository were not the latest versions available.

Valloric 08-13-2009 12:39 PM

Quote:

Originally Posted by Teyrnon (Post 553304)
Okay, it builds fine in Ubuntu Jaunty. My problem was that I was running Intrepid and the latest versions in the repository were not the latest versions available.

I'm glad you got it all sorted out.

Teyrnon 08-13-2009 01:21 PM

Quote:

Originally Posted by Valloric (Post 553307)
I'm glad you got it all sorted out.

I can be an imbecile sometimes. I should have figured it out last night. I've gotten too dependent on the package manager. It's been a long time since I've tried to build someone else's code.

It looks very nice. Great work, I've got a small project I can test it with and I'll do that this evening. Thanks!

Valloric 08-13-2009 01:30 PM

Quote:

Originally Posted by Teyrnon (Post 553356)
I've gotten too dependent on the package manager. It's been a long time since I've tried to build someone else's code.

Hopefully the package maintainers will pick up on it soon. There's already a package on MacPorts.

roger64 08-13-2009 04:31 PM

@Valloric

Sorry for giving you trouble.

Quote:

Originally Posted by Valloric (Post 553297)
Code:

sudo apt-get install libqt4-gui libqt4-svg libqt4-webkit libqt4-xml libqt4-dev
cmake -G "Unix Makefiles" /path/to/source/folder
make
sudo make install

That's it. Four lines in terminal. 10 seconds of work.

Thank you for providing this evening the name of the last two libraries that i did not have installed. After adding them, compilation went smoothly on Ubuntu jaunty 32 bits.

I replaced the last command (sudo make install), by sudo checkinstall to get a deb to be able to do a clean uninstall if needed, or allow a future smooth upgrade.

I hope to be able soon to provide you with comments on the use of your software.

Thanks (and karma ) for providing a tool which will be of the greatest use to a PRS-505 owner.:thanks::)

Valloric 08-13-2009 05:12 PM

Quote:

Originally Posted by roger64 (Post 553629)
Thank you for providing this evening the name of the last two libraries that i did not have installed. After adding them, compilation went smoothly on Ubuntu jaunty 32 bits.

Now I can't help but ask: why didn't you read the building instructions before trying to build Sigil from source? The lines I provided in my previous post are present both in the INSTALL.txt file that is provided in the source distribution (in the archive and in the repository, and is also explicitly referenced in the README.txt file) and on the Sigil website as a wiki page linked to directly from the home page of Sigil (in two places I believe).

So all of your build problems stemmed from the fact that you didn't read the very specific and easy to follow instructions, that you flat-out can't miss.

Valloric 08-13-2009 05:17 PM

Quote:

Originally Posted by roger64 (Post 553629)
I replaced the last command (sudo make install), by sudo checkinstall to get a deb to be able to do a clean uninstall if needed, or allow a future smooth upgrade.

You are free to do so, but this is rather unnecessary. Making a deb with checkinstall is useful when the install process puts many different files in many different places. Sigil's install process installs only one file: "sigil", which is placed in /usr/local/bin (this path can be changed, see the build instructions for more info).

roger64 08-13-2009 06:20 PM

1 Attachment(s)
Quote:

Originally Posted by Valloric (Post 553671)

So all of your build problems stemmed from the fact that you didn't read the very specific and easy to follow instructions, that you flat-out can't miss.

You're right.

I just read the google code page here which is the first hit when you type on google "sigil install linux". I thought it was enough. Maybe, it could also be completed with libqt4-dev.
http://code.google.com/p/sigil/wiki/...onInstructions

roger64 08-13-2009 06:21 PM

cancelled

Valloric 08-13-2009 06:44 PM

Quote:

Originally Posted by roger64 (Post 553740)
You're right.

I just read the google code page here which is the first hit when you type on google "sigil install linux". I thought it was enough. Maybe, it could also be completed with libqt4-dev.
http://code.google.com/p/sigil/wiki/...onInstructions

Am I the only one who sees the word "run" bolded? Or the link to the exact page with building instructions: "Instructions on compiling Sigil can be found on the BuildingFromSource wiki page."? It's the very next sentence after the list of libraries required to run Sigil. "libqt4-dev" is not required to run Sigil, but is required to build it. This would be the reason why it's not listed in the libraries required for running, but is listed in the libraries required for building.

Also, none of this text is in the INSTALL.txt file included in the source package you downloaded. That file only has the text from the BuildingFromSource page, since with the source package you'll be... building from source.

I honestly don't know how to make all of this more explicit for new users. I guess I'll have to try.

Teyrnon 08-13-2009 06:56 PM

Quote:

Originally Posted by Valloric (Post 553769)
I honestly don't know how to make all of this more explicit for new users. I guess I'll have to try.

It's very clear from the README.txt and INSTALL.txt. If someone can't be bothered to review the files included in the zip file I don't know that there's anything that can be done to help that person short of binary packages.

krischik 08-14-2009 03:31 AM

MacPorts progress.
 
Quote:

Originally Posted by Valloric (Post 553372)
Hopefully the package maintainers will pick up on it soon. There's already a package on MacPorts.

But there is a little problem here - MacPorts is not universal by default - which means that MacPorts users usually don't have the ppc version of QT installed.

Now it seems that Sigil v0.1.2 tries to create a universal-binary by default. I had not have the time to look for a No-Universal option yet - so this is not a bug report - it's just an progress info.

Martin

Jellby 08-14-2009 06:18 AM

Quote:

Originally Posted by Valloric (Post 553674)
You are free to do so, but this is rather unnecessary. Making a deb with checkinstall is useful when the install process puts many different files in many different places. Sigil's install process installs only one file: "sigil", which is placed in /usr/local/bin (this path can be changed, see the build instructions for more info).

The advantage is that of using the distribution's package system, which means you have a centralized database of installed packages, a centralized way of installing and uninstalling, of querying the version installed, etc.

At the moment you may have a single file (which I just copy in ~/bin, by the way), but later on you may want to install man pages, samples, templates, HTML help pages, command-line helper apps... It's a good practice to use "sudo checkinstall" rather than "sudo make install".

Valloric 08-14-2009 09:04 AM

Quote:

Originally Posted by Jellby (Post 554280)
The advantage is that of using the distribution's package system, which means you have a centralized database of installed packages, a centralized way of installing and uninstalling, of querying the version installed, etc.

At the moment you may have a single file (which I just copy in ~/bin, by the way), but later on you may want to install man pages, samples, templates, HTML help pages, command-line helper apps... It's a good practice to use "sudo checkinstall" rather than "sudo make install".

Oh I agree, it's good practice. But currently for Sigil I think there is little point. Of course, no harm would come from using it.

Although in general I have heard that checkinstall instills one very bad practice in users: the distribution of packages created with it, when those packages are meant for the machine where it was first run. People think that the created package is just like those from the repos, and this creates problems.

Valloric 08-14-2009 09:07 AM

Quote:

Originally Posted by krischik (Post 554169)
But there is a little problem here - MacPorts is not universal by default - which means that MacPorts users usually don't have the ppc version of QT installed.

Now it seems that Sigil v0.1.2 tries to create a universal-binary by default. I had not have the time to look for a No-Universal option yet - so this is not a bug report - it's just an progress info.

If you want the build process to create just the architecture type of the machine it is running on, remove this line from the root CMakeLists.txt file:
Code:

set( CMAKE_OSX_ARCHITECTURES "ppc;i386" )

krischik 08-14-2009 10:04 AM

Quote:

Originally Posted by Valloric (Post 554430)
If you want the build process to create just the architecture type of the machine it is running on, remove this line from the root CMakeLists.txt file:

Thanks - that saves me a lot of searching.

roger64 08-14-2009 12:22 PM

1 Attachment(s)
@Valloric

Producing a deb package for Sigil

I send you a zip file including:

1- a rtf file called "Compilation" which is the exact text log of the first two commands. You may note one explicit error at 19%, which seems to have no importance, but who knows?
2- a rtf file called "checkinstall" which is the exact text log of the checkinstall command I used. Please note that I included the four needed dependencies to run the program (but not the last one, libqt4-dev, which is not needed afaik)
3- a deb package which should run fine on 32 bits systems for distros using debs like Debian, all Ubuntus, Mint...

The checkinstall program is also able to produce rpm or slack packages but I have not enough experience with these distros to dare produce it.

My distro is Ubuntu jaunty 32 bits.

Hope this may be of use to you.

Valloric 08-14-2009 01:35 PM

Quote:

Originally Posted by roger64 (Post 554723)
Hope this may be of use to you.

Thank you for trying to help roger64, but for security and quality assurance reasons I will not distribute binaries from random people on the internet.

And checkinstall is not meant to be used to produce packages that are to be installed on computers other than the one used to make the package. The deb and rpm packages you normally install from your distribution's package repository are created with a lot more care and precision. It is not an easy or simple process by any means. For more information on creating distributable debs, take a look here. Just creating debs alone is rather complicated. Rpms AFAIK have their own complex procedures.

Those things aside, just providing deb and rpm packages would not be fair to the other Linux users whose distributions do not use them. There are many other package types. Providing some and not others would still leave a lot of people unhappy, and I just don't have the resources or the time to make a dozen different package types.

As I've noted in (several) previous posts, many (major) software projects provide only source archives for Linux. From GCC, GIMP, Inkscape etc. These people have met the same hurdles I have met, and have a lot more manpower available. Their solution is to provide sources, which users can then compile themselves or leave it to the package maintainers to handle for them.

Sigil will do so as well. This is final.

This decision is not the product of laziness, lack of skill or malice. Simply a consequence of Sigil being a one-man-project, and a hobby project at that. That being said, many larger projects still provide only source archives for Linux. I've said this too many times now, and I'm starting to sound like a broken record.

I hope I've made my point clear. If I haven't, well... I gave it my best shot.


All times are GMT -4. The time now is 06:40 PM.

Powered by: vBulletin
Copyright ©2000 - 3.8.5, Jelsoft Enterprises Ltd.
MobileRead.com is a privately owned, operated and funded community.