Hello,
I'm trying to package an app that depends heavily on graphviz and
pygraphviz. The dependencies do not get automatically pulled in as there is
to pygraphviz hook. I would like to write one but need some guidance.
I stared with a simple hook to include the graphviz executables along with
the dynamic libararies (I'm on macos and linux, but will include only the
macos lines here)...
binaries=[
('/usr/local/bin/dot', '.'),
('/usr/local/bin/nop', '.'), #There are others to include
(e.g. neato).
('/usr/local/Cellar/graphviz/*/lib/*.dylib', '.'),
('/usr/local/Cellar/graphviz/*/lib/graphviz/*.dylib', 'graphviz'),
] #+ libs
datas=[
('/usr/local/Cellar/graphviz/*/lib/graphviz/config6', 'graphviz'),
]
This is not sufficient, since graphviz depends on packages like libtool
(that's the name in brew) so I add `
('/usr/local/Cellar/libtool/*/lib/*.dylib', '.'),` to the list of binaries.
Yet there are a ton of dependencies for graphviz:
=> brew deps graphviz
cairo
fontconfig
freetype
fribidi
gd
gdbm
gettext
glib
graphite2
gts
harfbuzz
icu4c
jasper
jpeg
libffi
libpng
libtiff
libtool
lzo
netpbm
[email protected]
pango
pcre
pixman
python
readline
sqlite
webp
xz
I assume that there is a function in pyinstaller that would recursively
include dynamic libraries but I haven't found it. For example, the function
`depend.bindepend.findSystemLibrary`, which I assume would be used by such
a recursive function is only called in gi.py, and nowhere else. Are we
expected to write this function ourselves?
Thanks for the help!
--
You received this message because you are subscribed to the Google Groups
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/pyinstaller/3c0f14ae-56e1-4aea-ab42-c7f03ca18e74o%40googlegroups.com.