comment Makefile

pull/16/head
Lex Neva 2018-01-11 22:04:14 -05:00
rodzic 0d89d803f8
commit 5fd1c3091a
1 zmienionych plików z 32 dodań i 5 usunięć

Wyświetl plik

@ -3,22 +3,49 @@ VERSION:=$(shell git tag -l | grep ^v | tail -n 1)
TARBALL:=inkstitch-$(VERSION)-$(shell uname)-$(shell uname -m).tar.gz
WX_PATH:=$(shell python -c 'import wx; print wx.__path__[0]')
dist: distclean
dist: distcleanhttps://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
mkdir -p dist/inkstitch/bin
for extension in $(EXTENSIONS); do \
\
`# without this, it seems that pyinstaller can't find all of wxpython's shared libraries` \
LD_LIBRARY_PATH="$WX_PATH" \
pyinstaller \
--add-binary /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so:. \
\
`# pyinstaller misses these two` \
--add-binary /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so:. \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
--add-binary /usr/lib/x86_64-linux-gnu/libproxy.so.1:. \
\
\https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
`# This one's tricky. ink/stitch doesn't actually _use_ gi.repository.Gtk, ` \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
`# but it does use GTK (through wxPython). pyinstaller has some special ` \
`# logic to handle GTK apps that is engaged when you import ` \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
`# gi.repository.Gtk that pulls in things like themes, icons, etc. Without ` \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
`# that, the Params dialog is unthemed and barely usable. This hidden ` \
`# import option is actually the only reason we had to install python-gi ` \
`# above! ` \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
--hidden-import gi.repository.Gtk \
-p /usr/share/inkscape/extensions \
$${extension}.py; \
cp -a dist/$${extension}/* dist/inkstitch/bin; \
\
`# This lets pyinstaller see inkex.py, etc. ` \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8dhttps://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34597e37/PyInstaller/hooks/hook-shapely.py#L34
-p /usr/share/inkscape/extensions \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
$${extension}.py; \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
\
`# By default, pyinstaller will treat each of ink/stitch's extensions ` \
`# separately. This means it packages a lot of the same shared libraries (like ` \
`# wxPython) multiple times. Turns out that we can just copy the contents of ` \
https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34 `# the directories pyinstaller creates into one and it works fine, eliminating ` \
`# the duplication. This significantly decreases the size of the inkstitch ` \
`# tarball/zip. ` \
cp -a dist/$${extension}/* dist/inkstitch/bin; \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
rm -rf dist/$${extension}; \
\https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
`# Inkscape doesn't let us run native binaries as extensions(?!). Instead we ` \
`# add this stub script which executes the binaries that pyinstaller creates. ` \https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
cp stub.py dist/$${extension}.py; \
done;
cp *.inx dist
cd dist; tar zcf ../$(TARBALL) *
# This is only here for debugging the build.
tar zcf build.tar.gz build
distclean: