On 14/03/2010 07:04, Joost Verburg wrote:
Hi all,
Today I've looked at some of the upcoming features for LyX 2.0. It
looks really impressive and I think it creates an opportunity to
improve the Windows releases. Let me explain.
Currently in LyX 1.6, the language features are provided using
Aspell/Aiksaurus, which is a bit of a dead end. With the introduction
of Enchant/MyThes support
Forget about Enchant on Windows it brings in gtk dependency and we don't
want to maintain that. I've specifically introduced libhunspell so that
we can reuse OpenOffice and/or Firefox dictionaries. I have created an
hunspell MSVC solution to generate a dll a while ago, I will send that
to you privately. Or we can port that to CMake, more on that later.
we can start using OpenOffice dictionaries and thesaurus lists, which
are much better and more up-to-date. We won't have to worry anymore
about maintaining our own language packs.
The OpenOffice language files can simply be installed in the LyX
directory.
Or LyX could directly use those installed dictionaries if they are
already installed. We should have this dictionaries detection in the
NSIS script for initial installation and/or in the configure script
(better). This way, we can just tell the user to install the firfox
addon and run reconfigure again and voilà, no need to maintain this
anymore :-)
Also, some time ago I figured out a way to create completely
self-contained versions of ImageMagick and Ghostscript, which are in
the LyX program directory and only used by LyX. They don't require any
installation or registry keys to be set and therefore work reliably,
independent of other applications and without administrator
privileges. This has already been included in all recent installers I
created.
Combining these two things, it's possible to create a very simple and
portable LyX release. We could put all the binaries in a zip file and
the user can extract this and immediately run LyX with all features.
The only thing that needs to done manually is to run the installer for
the LaTeX system and the Metafile to EPS Converter printer if desired.
And there are the LaTeX classes bundled with LyX that would have to be
copied to the MiKTeX directory.
Of course the user shouldn't have to do this manually; we can also
build a normal installer. But the point is that the installer code
would become much more simple. We could write a script that takes the
zip file release and converts this into a nice NSIS installer. And if
you need to quickly edit a LyX file on somebody else's computer, the
zip file itself is also a nice addition.
For the alpha releases the zip file is probably enough. In the
meanwhile we could work on the script that converts the zip to an
installer. This would include a setting to either generate an
installer with or without MikTeX included. Even the update installer
that Uwe currently maintains manually could be automatically generated
by comparing the new zip with the previous one and excluding unchanged
files.
This script can be written from scratch with all the relevant people
involved, so finally we would have a consistent way to release Windows
binaries. This would allow any developer to generate the official
builds and there would be only one set of official installers.
I'm just interested to hear your opinions.
That sounds very good. Additional point: except for Uwe, we all use
CMake, not Scons; it's very easy to tell CMake to put compiled files in
some common directories. Also CMake has NSIS integration when used with
Cpack, which can also be used to generate zip files. So please it would
be a good time to standardize Windows developper (and MAC too!) on CMake.
Abdel.