From 40b8aa7c8142d52a29f69163c61a306c38c9825d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Deuchnord?= Date: Wed, 7 Sep 2022 13:34:04 +0200 Subject: [PATCH] dist: fix AppImage build --- .github/workflows/appimage.yml | 11 +++++++---- AppImageBuilder.yml | 33 ++++++++++++++------------------- Makefile | 4 +--- kosmorro/__main__.py | 6 ++++++ kosmorro/utils.py | 6 +----- pyproject.toml | 1 - 6 files changed, 29 insertions(+), 32 deletions(-) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index df9ab8c..4dfa3ec 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -9,18 +9,20 @@ on: jobs: build-appimage: name: Build - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Prepare environment + env: + PYTHON_KEYRING_BACKEND: keyring.backends.null.Keyring run: | - sudo gem install ronn - wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool - sudo chmod +x /usr/local/bin/appimagetool + sudo apt install libfuse2 pip install -U pip poetry appimage-builder poetry install + sudo mkdir -p /usr/share/icons/hicolor/scalable/apps/kosmorro.svg + sudo cp -r kosmorro/assets/svg/kosmorro-icon.svg /usr/share/icons/hicolor/scalable/apps/kosmorro.svg - name: Build wheel run: | @@ -29,6 +31,7 @@ jobs: - name: Build AppImage run: | make appimage + tree build - name: Upload AppImage uses: actions/upload-artifact@v2 diff --git a/AppImageBuilder.yml b/AppImageBuilder.yml index 244017e..4e36289 100644 --- a/AppImageBuilder.yml +++ b/AppImageBuilder.yml @@ -1,10 +1,11 @@ # appimage-builder recipe see https://appimage-builder.readthedocs.io for details version: 1 -script: | - mkdir -p build/AppDir build/AppDir/usr/share/icons/hicolor/scalable/apps - cp kosmorro/assets/svg/kosmorro-icon.svg build/AppDir/usr/share/icons/hicolor/scalable/apps/kosmorro.svg - pip3 install --isolated --root="./build/AppDir" ./dist/kosmorro-*.whl +script: + - rm -rf build/AppDir | true + - mkdir -p build/AppDir AppDir/usr/share/icons/hicolor/scalable/apps/ + - cp -r kosmorro/assets/svg/kosmorro-icon.svg AppDir/usr/share/icons/hicolor/scalable/apps/kosmorro.svg + - python3 -m pip install --ignore-installed --prefix=/usr --root=build/AppDir dist/kosmorro-*.whl AppDir: path: build/AppDir @@ -14,30 +15,24 @@ AppDir: icon: kosmorro version: latest exec: usr/bin/python3 - exec_args: $APPDIR/usr/local/bin/kosmorro $@ + exec_args: -m kosmorro $@ + + runtime: + env: + PYTHONPATH: '$APPDIR/usr/local/lib/python3.10/site-packages' apt: arch: amd64 - allow_unauthenticated: true sources: - - sourceline: deb http://archive.ubuntu.com/ubuntu/ focal main restricted - - sourceline: deb http://archive.ubuntu.com/ubuntu/ focal universe restricted + - sourceline: 'deb http://archive.ubuntu.com/ubuntu/ jammy main restricted' + key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf6ecb3762474eda9d21b7022871920d1991bc93c' include: - python3 - - python3-certifi - - python3-dateutil + exclude: [] files: include: - - /usr/bin/sh - - /usr/bin/bash - - /usr/bin/env - exclude: - - usr/share/man - - usr/share/doc/*/README.* - - usr/share/doc/*/changelog.* - - usr/share/doc/*/NEWS.* - - usr/share/doc/*/TODO.* + - '/usr/bin/env' test: fedora-30: diff --git a/Makefile b/Makefile index b2e1c15..1d8994e 100644 --- a/Makefile +++ b/Makefile @@ -27,12 +27,10 @@ prepare-release: messages changelog @echo @echo "Before tagging, don't forget to update version number in CHANGELOG" -appdir: +appimage: appimage-builder --skip-tests mv *.AppImage dist/ mv *.zsync dist/ -appimage: appdir - clean: rm -rf build dist appimage-builder-cache kosmorro.egg-info manpage/kosmorro.{1,7}{,.html} diff --git a/kosmorro/__main__.py b/kosmorro/__main__.py index 5660cb4..3db4041 100644 --- a/kosmorro/__main__.py +++ b/kosmorro/__main__.py @@ -20,6 +20,8 @@ import argparse import sys import os.path +print(sys.path) + from babel.dates import format_date from kosmorrolib import Position, get_ephemerides, get_events, get_moon_phase from kosmorrolib.exceptions import OutOfRangeDateError @@ -344,3 +346,7 @@ def get_args(output_formats: [str]): def main(): sys.exit(run()) + + +if __name__ == '__main__': + main() diff --git a/kosmorro/utils.py b/kosmorro/utils.py index c952e2e..0e90bb8 100644 --- a/kosmorro/utils.py +++ b/kosmorro/utils.py @@ -2,11 +2,7 @@ from termcolor import colored as do_color from sys import stderr - -try: - from importlib.metadata import version -except ImportError: - from importlib_metadata import version +from importlib.metadata import version KOSMORRO_VERSION = version("kosmorro") KOSMORROLIB_VERSION = version("kosmorrolib") diff --git a/pyproject.toml b/pyproject.toml index 391cce7..261311c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,6 @@ termcolor = "^1.1" kosmorrolib = "^1.0" python-dateutil = "^2.8" Babel = "^2.9" -importlib-metadata = "^4.11" openlocationcode = "^1.0" [tool.poetry.dev-dependencies]