Gramps for Windows with MSYS2

From Gramps
Revision as of 22:08, 21 March 2017 by Sam888 (talk | contribs) (Install Python pip)
Jump to: navigation, search

How to use MSYS2 to run latest Gramps development version from source in 64bit Windows.

In similar way you can build the 32bit version

Install MSYS2

Gramps-notes.png
Installation restrictions

MSYS2 can't be installed on FAT* partitions.
Current MSYS2 can't be installed on Windows XP anymore.

From the MSYS2 home page http://www.msys2.org download MSYS2 64bit installer and run it.

Install it in short path like C:\MSYS2

At the end of install select to run mingw64 shell eg: use the MSYS2 MinGW 64-bit shortcut.

Update MSYS2

First keep running the following command(multiple times) until it has updated the list of packages and updated all core packages nothing else to do:

pacman -Syuu

If core packages are updated close the mingw64 shell and restart it.

Install Gramps dependencies

Start mingw64 shell and use pacman package manager to download and install Gramps dependencies

pacman -S mingw-w64-x86_64-python3-bsddb3 mingw-w64-x86_64-gexiv2 mingw-w64-x86_64-osmgpsmap-git mingw-w64-x86_64-ghostscript mingw-w64-x86_64-python3-cairo mingw-w64-x86_64-python3-gobject mingw-w64-x86_64-python3-icu mingw-w64-x86_64-iso-codes mingw-w64-x86_64-hunspell mingw-w64-x86_64-hunspell-en mingw-w64-x86_64-enchant

To handle the following warning No intltool or version < 0.25.0, build_intl is aborting install:

 pacman -S intltool

You will also need the following to run the test:

pacman -S mingw-w64-x86_64-python3-lxml
pacman -S mingw-w64-x86_64-python3-jsonschema

To use the Graph reports follow the alternate instructions to install Graphviz and to run the Graph View addon also install:

pacman -S mingw-w64-x86_64-goocanvas

Install Git

pacman -S msys/git

Install Gramps

Prepare source

Create directory to store Gramps source in and go to it

mkdir ~/grampsdev
cd ~/grampsdev

Download source

Download Gramps master branch from source repository

git init
git remote add -t master -f origin https://github.com/gramps-project/gramps.git
git checkout master

Check which Gramps version is used

git describe

it should return something like:

v5.0.0-alpha1-1024-g0919763f1

Setup source

Before using Gramps you must set-it up.
You just use setup build command not install one

python3 setup.py build

Run Gramps

Start mingw64 shell and go to directory where Gramps source reside

cd ~/grampsdev

Use python3 to start Gramps
To check gramps version use "v" flag

python3 Gramps.py -v

It should return something like:

Gramps Settings:
----------------
 python    : 3.5.3
 gramps    : 5.0.0-alpha1-0919763f1
 gtk++     : 3.22.9
 pygobject : 3.22.0
 pango     : 1.40.3
 cairo     : 1.15.4
 pycairo   : 1.1.10
 osmgpsmap : 1.0
 GExiv2    : 0.10
 ICU       : 57.1
 PyICU     : 1.9.3
 o.s.      : win32

Non-python dependencies:
------------------------
 Graphviz  : Graphviz not in system PATH
 Ghostscr. : 9.20

Run Gramps

python3 Gramps.py

Issue

Tested alternate method to use Windows version of Graphviz[1]

Download the current GraphViz ZIP archive from http://www.graphviz.org/Download_windows.php and extract it to C:\graphviz, so that it directly contains the directories bin, lib, share and so on.

From the msys2 prompt type:

echo 'export PATH=/c/graphviz/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Then type:

python3 Gramps.py -v

and Graphviz will be listed.

Non-python dependencies:
------------------------
 Graphviz  : 2.38

Install Python pip

To install a working version of pip use the following steps:

 
mkdir ~/scripts
cd ~/scripts
curl -O 'https://bootstrap.pypa.io/get-pip.py'
./get-pip.py

Test that it works:

 pip3 --version

If that succeeds you can now remove the installation script if wanted:

 rm get-pip.py

Keep your GRAMPSHOME separate

To keep your test family trees separate from your personal family trees you may want to use your MSYS2 home directory which you can set from mingw64 shell on either:

On each run like:

  GRAMPSHOME=~ python3 Gramps.py

If you want it persistent:

  echo 'export GRAMPSHOME=~' >> ~/.profile
  source ~/.profile