doc
This commit is contained in:
parent
65a8a6fb0c
commit
f72bf802f3
9
website/pages/Makefile
Normal file
9
website/pages/Makefile
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
.SUFFIXES: .txt .html
|
||||||
|
|
||||||
|
.txt.html:
|
||||||
|
asciidoc $<
|
||||||
|
|
||||||
|
all: recoll-mingw.html
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.html
|
||||||
185
website/pages/recoll-mingw.txt
Normal file
185
website/pages/recoll-mingw.txt
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
= Building Recoll on Microsoft Windows MinGW
|
||||||
|
|
||||||
|
This document describes building a Recoll distribution, starting from a
|
||||||
|
pristine Windows machine, using the http://www.mingw.org/[MinGW] port of gcc
|
||||||
|
and associated tools.
|
||||||
|
|
||||||
|
The resulting package only needs Python and 7-zip to be installed on the
|
||||||
|
target system.
|
||||||
|
|
||||||
|
== Installing MinGW and MSYS
|
||||||
|
|
||||||
|
Download the installer from http://www.mingw.org/, and run it.
|
||||||
|
|
||||||
|
In the following, a number of commands will use a command window with an
|
||||||
|
MinGW environment. This can be easily created by executing
|
||||||
|
C:\MinGW\msys\1.0\msys.bat from File Explorer.
|
||||||
|
|
||||||
|
== Tortoise HG
|
||||||
|
|
||||||
|
This is needed because there is no source package for recoll or its
|
||||||
|
dependancies for now, you are going to clone Bitbucket repositories.
|
||||||
|
|
||||||
|
Get it from http://tortoisehg.bitbucket.org/download/index.html
|
||||||
|
|
||||||
|
Then clone the repositories for
|
||||||
|
https://medoc@bitbucket.org/medoc/recoll[recoll] to C:/recoll and
|
||||||
|
https://medoc@bitbucket.org/medoc/recoll-windows-deps[some of the
|
||||||
|
dependancies] to C:/recolldeps
|
||||||
|
|
||||||
|
You can change the target names, but there will be more script editing
|
||||||
|
later on then (nothing much).
|
||||||
|
|
||||||
|
== zlib
|
||||||
|
|
||||||
|
Download from http://zlib.net/zlib-1.2.8.tar.gz
|
||||||
|
Then, from an MSYS command window (see above):
|
||||||
|
|
||||||
|
cd c:/temp
|
||||||
|
tar xzf path-to-tar-file
|
||||||
|
cd zlib-1.2.8
|
||||||
|
make -f Win32/Makefile.gcc
|
||||||
|
|
||||||
|
== Xapian
|
||||||
|
|
||||||
|
Download from:
|
||||||
|
http://oligarchy.co.uk/xapian/1.2.21/xapian-core-1.2.21.tar.xz
|
||||||
|
|
||||||
|
cd c:/recolldeps
|
||||||
|
tar xf path-to-tar-file
|
||||||
|
cd xapian-core-1.2.21
|
||||||
|
|
||||||
|
- Edit common/safeunistd.h to neutralize the sleep() function definition as
|
||||||
|
this conflicts with the definition which is part of recent mingw
|
||||||
|
editions. Replace the "#ifdef __WIN32__" with "#if 0". This is
|
||||||
|
already fixed in later Xapian versions
|
||||||
|
|
||||||
|
Then:
|
||||||
|
|
||||||
|
CPPFLAGS=-IC:/temp/zlib-1.2.8 LDFLAGS=-Lc:/temp/zlib-1.2.8 ./configure
|
||||||
|
make
|
||||||
|
|
||||||
|
== Qt
|
||||||
|
|
||||||
|
Download and install Qt 5.5.x (mingw version) from: http://www.qt.io/download/
|
||||||
|
|
||||||
|
Note: it is not possible to build a static webkit, so the installation is
|
||||||
|
necessarily dynamic, which means that the Qt DLLS will need to be copied
|
||||||
|
into the installation directory. This is done by the installation-building
|
||||||
|
script (using `windeployqt`)
|
||||||
|
|
||||||
|
== Recoll
|
||||||
|
|
||||||
|
You need to use the source from the repository, there is no release
|
||||||
|
supporting Windows at the moment.
|
||||||
|
|
||||||
|
- If not already done, clone the recoll repository from:
|
||||||
|
https://medoc@bitbucket.org/medoc/recoll to `C:/recoll`
|
||||||
|
|
||||||
|
- Start qtcreator and open c:/recoll/src/windows/qmkrecoll/librecoll.pro At
|
||||||
|
the bottom of the file, you may need to fix the locations for the xapian
|
||||||
|
and zlib dlls.
|
||||||
|
|
||||||
|
- Build librecoll.pro
|
||||||
|
|
||||||
|
- Do the same (adjust locations and build) for:
|
||||||
|
c:/recoll/src/windows/qmkrecoll/rclstartw.pro
|
||||||
|
c:/recoll/src/windows/qmkrecoll/recollindex.pro
|
||||||
|
c:/recoll/src/windows/qmkrecoll/recollq.pro
|
||||||
|
c:/recoll/src/qtgui/recoll-win.pro
|
||||||
|
|
||||||
|
|
||||||
|
== Helper applications
|
||||||
|
|
||||||
|
There are a number of useful files stored in a BitBucket repository, you
|
||||||
|
will need to clone it on the windows machine (the final script,
|
||||||
|
mkinstdir.sh, expects C:/recolldeps as a cloned location).
|
||||||
|
|
||||||
|
https://medoc@bitbucket.org/medoc/recoll-windows-deps
|
||||||
|
|
||||||
|
== 7-zip
|
||||||
|
|
||||||
|
7-zip is used for all decompression tasks. Install it from
|
||||||
|
http://www.7-zip.org/
|
||||||
|
|
||||||
|
== Python
|
||||||
|
|
||||||
|
All Recoll helper scripts (data extractors) are written in Python, and not
|
||||||
|
yet compatible with Python3. You need to install and download Python 2.7
|
||||||
|
from https://www.python.org/downloads/release/python-2710/
|
||||||
|
|
||||||
|
== Python modules
|
||||||
|
|
||||||
|
Some data formats need library modules not delivered as part of the base
|
||||||
|
Python installation
|
||||||
|
|
||||||
|
=== libxml2/libxslt
|
||||||
|
|
||||||
|
The precompiled binary is from :
|
||||||
|
http://users.skynet.be/sbi/libxml-python/
|
||||||
|
http://users.skynet.be/sbi/libxml-python/binaries/libxml2-python-2.7.7.win32-py2.7.exe
|
||||||
|
|
||||||
|
The useful parts are stored in recoll-windows-deps repo
|
||||||
|
|
||||||
|
Slightly newer dlls, which should be compatible, here:
|
||||||
|
https://www.zlatkovic.com/libxml.en.html
|
||||||
|
|
||||||
|
This will be copied into the installation by the mkinstdir.sh script.
|
||||||
|
|
||||||
|
=== mutagen
|
||||||
|
|
||||||
|
Download and extract mutagen from https://pypi.python.org/pypi/mutagen
|
||||||
|
Then in the mutagen directory (e.g. C:/temp/mutagen-1.31):
|
||||||
|
|
||||||
|
python setup.py build
|
||||||
|
|
||||||
|
=== pyexiv2
|
||||||
|
|
||||||
|
I did not attempt a build (needs boost-python, scons).
|
||||||
|
Used an installer from http://tilloy.net/dev/pyexiv2/download.html
|
||||||
|
|
||||||
|
The resulting site-packages data is stored in the recoll-windows-deps
|
||||||
|
directory and copied into the filters directory by the mkinstdir.sh script
|
||||||
|
|
||||||
|
=== epub
|
||||||
|
|
||||||
|
Download from: http://pypi.python.org/pypi/epub/
|
||||||
|
|
||||||
|
Extract, then execute the following in the extracted directory (e.g.:
|
||||||
|
C:/temp/epub-0.5.2):
|
||||||
|
|
||||||
|
python setup.py
|
||||||
|
|
||||||
|
The module will be copied by mkinstdir.sh
|
||||||
|
|
||||||
|
|
||||||
|
== Non-Python helpers
|
||||||
|
|
||||||
|
== unrtf
|
||||||
|
|
||||||
|
I initially built unrtf with VS 2015, and I was too lazy to do it again
|
||||||
|
with mingw. The project files are in the Windows directory in the official
|
||||||
|
repository:
|
||||||
|
|
||||||
|
hg clone http://hg.savannah.gnu.org/hgweb/unrtf/
|
||||||
|
|
||||||
|
== antiword
|
||||||
|
|
||||||
|
Use the source from recoll-windows-deps (C:/recolldeps/unrtf)
|
||||||
|
|
||||||
|
make -f Makefile.mingw.
|
||||||
|
|
||||||
|
== Poppler
|
||||||
|
|
||||||
|
Did not try to compile. Used the binaries from
|
||||||
|
http://blog.alivate.com.au/poppler-windows/
|
||||||
|
|
||||||
|
There is a copy in the recoll-windows-deps repository, it will be copied by
|
||||||
|
the mkinstdir.sh script.
|
||||||
|
|
||||||
|
== Building the install directory
|
||||||
|
|
||||||
|
|
||||||
|
Once the builds above are performed, edit the mkinstdir.sh script to adjust
|
||||||
|
the locations, and use it to build the installation directory
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user