Ejemplo n.º 1
0
def freeze_fedora(extra_pyinstaller_args=None, debug=False):
    freeze_linux(extra_pyinstaller_args, debug)
    # Force Fedora to use the system's Gnome libraries. This avoids warnings
    # when starting the app on the command line.
    remove_shared_libraries('libgio-2.0.so.*', 'libglib-2.0.so.*')
    # Fix for Fedora 29:
    remove_shared_libraries('libfreetype.so.*')
Ejemplo n.º 2
0
def freeze_arch():
    freeze_linux()
    # Our apps normally ship with eg. libQt5Core.so.5. This loads other .so
    # files, if present, from /usr/lib. If those libraries are Qt libraries of a
    # different Qt version, errors occur.
    # For this reason, on systems with pacman, we don't include Qt. Instead, we
    # declare it as a dependency and leave it up to pacman to fetch it.
    remove_shared_libraries('libicudata.so.*', 'libQt*.so.*')
Ejemplo n.º 3
0
def freeze_fedora(debug=False):
    freeze_linux(debug)
    # Force Fedora to use the system's Gnome libraries. This avoids warnings
    # when starting the app on the command line.
    remove_shared_libraries('libgio-2.0.so.*', 'libglib-2.0.so.*')
    # Fixes for Fedora 29:
    remove_shared_libraries('libfreetype.so.*', 'libssl.so.*')
    # PyInstaller 3.4 includes the library below when on Python 3.6.
    # (Interestingly, it does not package it on Python 3.5.) This leads to a lot
    # of Fontconfig-related errors when starting the frozen app. Further,
    # starting the app takes ages. Removing the library fixes this:
    remove_shared_libraries('libfontconfig.so.*')
Ejemplo n.º 4
0
def freeze_ubuntu(debug=False):
    freeze_linux(debug)
    # When we build on Ubuntu on 14.04 and run on 17.10, the app fails to start
    # with the following error:
    #
    #  > This application failed to start because it could not find or load the
    #  > Qt platform plugin "xcb" in "". Available platform plugins are:
    #  > eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
    #
    # Interestingly, the error does not occur when building on Ubuntu 16.04.
    # The difference between the two build outputs seems to be
    # libgpg-error.so.0. Removing it fixes the problem:
    remove_shared_libraries('libgpg-error.so.*')
    # libgtk-3.so is present on every Ubuntu system. Make sure we don't ship it
    # to avoid incompatibilities. In particular, running the frozen app with
    # libgtk-3.so from Ubuntu 14 on Ubuntu 16 produces many Gtk warnings
    # "Theme parsing error".
    remove_shared_libraries('libgtk-3.so.*')
    # We also don't want to ship libgio-2.0.so because it is usually present.
    # What's more, if we ship libgio without libgtk, then segmentation faults
    # occur when freezing on Ubuntu 14 and running on Ubuntu 16. The reason for
    # this is that libgio depends on libgtk. Because we don't ship libgtk, this
    # loads the user's libgtk, which is incompatible between Ubuntu 14 and 16.
    remove_shared_libraries('libgio-2.0.so.*')