Add source files for Windows AIO
This commit is contained in:
44
aio/build.sh
Normal file
44
aio/build.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
# install prerequisites :
|
||||
## prerequisites in msys packages :
|
||||
pacman -S --needed --noconfirm mingw-w64-x86_64-python-pip mingw-w64-x86_64-python3-bsddb3 mingw-w64-x86_64-gexiv2 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 perl-XML-Parser intltool mingw-w64-x86_64-python3-lxml mingw-w64-x86_64-python3-jsonschema mingw-w64-x86_64-gtkspell3 mingw-w64-x86_64-geocode-glib mingw-w64-x86_64-python3-pillow git mingw-w64-x86_64-graphviz mingw-w64-x86_64-goocanvas mingw-w64-x86_64-osm-gps-map base-devel mingw-w64-x86_64-toolchain subversion mingw-w64-x86_64-db mingw-w64-x86_64-python-bsddb3 mingw-w64-x86_64-graphviz mingw-w64-x86_64-python-graphviz mingw-w64-x86_64-osm-gps-map mingw-w64-x86_64-nsis mingw-w64-x86_64-python-cx-freeze mingw-w64-x86_64-python3-requests mingw-w64-x86_64-enchant mingw-w64-x86_64-adwaita-icon-theme mingw-w64-x86_64-python-networkx mingw-w64-x86_64-python-psycopg2 upx mingw-w64-x86_64-python-packaging unzip mingw-w64-x86_64-python3-nose mingw-w64-x86_64-python-wheel
|
||||
python3 -m pip install --upgrade pip
|
||||
## prerequisites in pip packages
|
||||
pip3 install --upgrade pydot pydotplus requests asyncio
|
||||
## berkeley db, from sources (6.0.30 wanted, msys2 provides actually 6.0.19)
|
||||
mkdir ../build
|
||||
cd ../build
|
||||
if [ ! -f mingw-w64-x86_64-db-6.0.30-1-any.pkg.tar.xz ] ; then
|
||||
wget https://github.com/bpisoj/MINGW-packages/releases/download/v5.0/mingw-w64-x86_64-db-6.0.30-1-any.pkg.tar.xz
|
||||
fi
|
||||
pacman -U --noconfirm mingw-w64-x86_64-db-6.0.30-1-any.pkg.tar.xz
|
||||
pacman -S --noconfirm mingw-w64-x86_64-python3-bsddb3
|
||||
## pygraphviz, from sources
|
||||
if [ ! -f Pygraphviz-1.4rc1.zip ] ; then
|
||||
wget https://gramps-project.org/wiki/images/2/2b/Pygraphviz-1.4rc1.zip
|
||||
fi
|
||||
mkdir pygraphviz-1.4rc1
|
||||
cd pygraphviz-1.4rc1
|
||||
unzip -u ../Pygraphviz-1.4rc1.zip
|
||||
MINGW_INSTALLS=mingw64 makepkg-mingw -sLf
|
||||
pacman -U --noconfirm mingw-w64-x86_64-python3-pygraphviz-1.4rc1-0.0-any.pkg.tar.zst
|
||||
## add some icons and dictionaries not easy to install
|
||||
cd ../../aio
|
||||
tar --directory /mingw64/share/ -zxf share.tgz
|
||||
|
||||
# build gramps
|
||||
cd ..
|
||||
rm -rf dist aio/dist
|
||||
python3 setup.py bdist_wheel
|
||||
appbuild="r$(git rev-list --count HEAD)-$(git rev-parse --short HEAD)"
|
||||
appversion=$(grep "^VERSION_TUPLE" gramps/version.py|sed 's/.*(//;s/, */\./g;s/).*//')
|
||||
unzip -d aio/dist dist/*.whl
|
||||
cd aio
|
||||
|
||||
# create nsis script
|
||||
cat grampsaio64.nsi.template|sed "s/yourVersion/$appversion/;s/yourBuild/$appbuild/">grampsaio64.nsi
|
||||
# build cx_freeze executables
|
||||
python3 setup.py build_exe --no-compress
|
||||
# build installer
|
||||
makensis mingw64/src/grampsaio64.nsi
|
||||
# result is in mingw64/src
|
||||
|
Reference in New Issue
Block a user