15564
by Eduard Braun
Support for building with MSYS2 |
1 |
#!/usr/bin/env bash
|
2 |
# ------------------------------------------------------------------------------
|
|
3 |
# This script installs all dependecies required for building Inkscape with MSYS2
|
|
4 |
# execute it once on an MSYS shell, i.e.
|
|
5 |
# - use the "MSYS2 MSYS" shortcut in the start menu or
|
|
6 |
# - run "msys2.exe" in MSYS2's installation folder
|
|
7 |
#
|
|
8 |
# MSYS2 and installed libraries can be updated later by executing
|
|
9 |
# pacman -Syu --ignore=mingw-w64-*-imagemagick
|
|
10 |
# in an MSYS shell
|
|
11 |
# ------------------------------------------------------------------------------
|
|
12 |
||
13 |
# select if you want to build 32-bit (i686), 64-bit (x86_64), or both
|
|
14 |
#ARCH=mingw-w64-i686
|
|
15 |
#ARCH=mingw-w64-x86_64
|
|
16 |
ARCH={mingw-w64-i686,mingw-w64-x86_64} |
|
17 |
||
15577
by Eduard Braun
msys2installdeps.sh - Fix broken for loops (thanks for noticing jazzynico!) and avoid repeatedly synchronizing package databases |
18 |
# sync package databases
|
19 |
pacman -Sy |
|
20 |
||
15564
by Eduard Braun
Support for building with MSYS2 |
21 |
# install basic development system, compiler toolchain and build tools
|
15577
by Eduard Braun
msys2installdeps.sh - Fix broken for loops (thanks for noticing jazzynico!) and avoid repeatedly synchronizing package databases |
22 |
eval pacman -S --needed --noconfirm \ |
15564
by Eduard Braun
Support for building with MSYS2 |
23 |
bzr \
|
24 |
intltool \
|
|
25 |
base-devel \
|
|
26 |
$ARCH-toolchain \ |
|
27 |
$ARCH-cmake \ |
|
28 |
$ARCH-ninja
|
|
29 |
||
30 |
# install Inkscape dependecies (required)
|
|
15577
by Eduard Braun
msys2installdeps.sh - Fix broken for loops (thanks for noticing jazzynico!) and avoid repeatedly synchronizing package databases |
31 |
eval pacman -S --needed --noconfirm \ |
15564
by Eduard Braun
Support for building with MSYS2 |
32 |
$ARCH-gc \ |
33 |
$ARCH-gsl \ |
|
34 |
$ARCH-popt \ |
|
35 |
$ARCH-libxslt \ |
|
36 |
$ARCH-boost \ |
|
37 |
$ARCH-gtk2 \ |
|
38 |
$ARCH-gtkmm \ |
|
39 |
$ARCH-gtk3 \ |
|
40 |
$ARCH-gtkmm3 \ |
|
41 |
$ARCH-gdl
|
|
42 |
||
43 |
# install Inkscape dependecies (optional)
|
|
15577
by Eduard Braun
msys2installdeps.sh - Fix broken for loops (thanks for noticing jazzynico!) and avoid repeatedly synchronizing package databases |
44 |
eval pacman -S --needed --noconfirm \ |
15564
by Eduard Braun
Support for building with MSYS2 |
45 |
$ARCH-poppler \ |
46 |
$ARCH-potrace \ |
|
47 |
$ARCH-libcdr \ |
|
48 |
$ARCH-libvisio \ |
|
49 |
$ARCH-libwpg \ |
|
50 |
$ARCH-aspell \ |
|
51 |
$ARCH-aspell-en \ |
|
52 |
$ARCH-gtkspell \ |
|
15699
by Eduard Braun
cmake/MSYS2: Include libyaml for xverb feature |
53 |
$ARCH-gtkspell3 \ |
54 |
$ARCH-libyaml
|
|
15564
by Eduard Braun
Support for building with MSYS2 |
55 |
|
56 |
# install ImageMagick (as Inkscape requires old version ImageMagick 6 we have to specify it explicitly)
|
|
57 |
# to prevent future updates:
|
|
58 |
# add the line
|
|
59 |
# "IgnorePkg = mingw-w64-*-imagemagick"
|
|
60 |
# to
|
|
61 |
# "C:\msys64\etc\pacman.conf"
|
|
62 |
# or (always!) run pacman with the additional command line switch
|
|
63 |
# --ignore=mingw-w64-*-imagemagick
|
|
15577
by Eduard Braun
msys2installdeps.sh - Fix broken for loops (thanks for noticing jazzynico!) and avoid repeatedly synchronizing package databases |
64 |
for arch in $(eval echo $ARCH); do |
15564
by Eduard Braun
Support for building with MSYS2 |
65 |
case ${arch} in |
66 |
mingw-w64-i686)
|
|
67 |
pacman -U --needed --noconfirm https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686/mingw-w64-i686-imagemagick-6.9.3.7-1-any.pkg.tar.xz |
|
68 |
;;
|
|
69 |
mingw-w64-x86_64)
|
|
70 |
pacman -U --needed --noconfirm https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64/mingw-w64-x86_64-imagemagick-6.9.3.7-1-any.pkg.tar.xz |
|
71 |
;;
|
|
72 |
esac
|
|
73 |
done
|
|
74 |
||
75 |
||
76 |
# install Python and modules used by Inkscape
|
|
15577
by Eduard Braun
msys2installdeps.sh - Fix broken for loops (thanks for noticing jazzynico!) and avoid repeatedly synchronizing package databases |
77 |
eval pacman -S --needed --noconfirm \ |
15564
by Eduard Braun
Support for building with MSYS2 |
78 |
$ARCH-python2 \ |
79 |
$ARCH-python2-pip \ |
|
80 |
$ARCH-python2-lxml \ |
|
15717
by Eduard Braun
cmake/MSYS2: install python2-pillow |
81 |
$ARCH-python2-numpy \ |
82 |
$ARCH-python2-pillow
|
|
15577
by Eduard Braun
msys2installdeps.sh - Fix broken for loops (thanks for noticing jazzynico!) and avoid repeatedly synchronizing package databases |
83 |
for arch in $(eval echo $ARCH); do |
15564
by Eduard Braun
Support for building with MSYS2 |
84 |
case ${arch} in |
85 |
mingw-w64-i686)
|
|
86 |
/mingw32/bin/pip install coverage pyserial scour |
|
87 |
;;
|
|
88 |
mingw-w64-x86_64)
|
|
89 |
/mingw64/bin/pip install coverage pyserial scour |
|
90 |
;;
|
|
91 |
esac
|
|
92 |
done
|