diff options
Diffstat (limited to 'desktop/package/linux/build-appimage.py')
-rwxr-xr-x | desktop/package/linux/build-appimage.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/desktop/package/linux/build-appimage.py b/desktop/package/linux/build-appimage.py new file mode 100755 index 00000000..8fcbda90 --- /dev/null +++ b/desktop/package/linux/build-appimage.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +import os +import inspect +import subprocess +import argparse +import shutil +import glob + +root = os.path.dirname( + os.path.dirname( + os.path.dirname( + os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) + ) + ) +) + + +def run(cmd, cwd=None): + subprocess.run(cmd, cwd=cwd, check=True) + + +def main(): + cli_dir = os.path.join(root, "cli") + desktop_dir = os.path.join(root, "desktop") + + print("○ Building onionshare-cli") + run(["poetry", "install"], cli_dir) + run(["poetry", "build"], cli_dir) + whl_filename = glob.glob(os.path.join(cli_dir, "dist", "*.whl"))[0] + whl_basename = os.path.basename(whl_filename) + shutil.copyfile(whl_filename, os.path.join(desktop_dir, whl_basename)) + + print("○ Clean up from last build") + if os.path.exists(os.path.join(desktop_dir, "linux")): + shutil.rmtree(os.path.join(desktop_dir, "linux")) + + print("○ Create the binary") + run(["briefcase", "create"], desktop_dir) + + print("○ Create the AppImage") + run(["briefcase", "build"], desktop_dir) + + +if __name__ == "__main__": + main()
\ No newline at end of file |