mirror of
https://github.com/ciromattia/kcc
synced 2025-12-11 08:46:25 +00:00
build windows command line versions directly using faster Python 3.11 (#1134)
* draft CLI * fix windows c2e * fix typos * update github workflows
This commit is contained in:
15
.github/workflows/package-windows.yml
vendored
15
.github/workflows/package-windows.yml
vendored
@@ -23,6 +23,16 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
entry: [ kcc, kcc-c2e, kcc-c2p ]
|
||||
include:
|
||||
- entry: kcc
|
||||
command: build_binary
|
||||
- entry: kcc-c2e
|
||||
command: build_c2e
|
||||
- entry: kcc-c2p
|
||||
command: build_c2p
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
@@ -40,12 +50,12 @@ jobs:
|
||||
pip install certifi pyinstaller --no-binary pyinstaller
|
||||
- name: build binary
|
||||
run: |
|
||||
python setup.py build_binary
|
||||
python setup.py {{ matrix.command }}
|
||||
- name: upload-unsigned-artifact
|
||||
id: upload-unsigned-artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: windows-build
|
||||
name: windows-build-{{ matrix.entry }}
|
||||
path: dist/*.exe
|
||||
- id: optional_step_id
|
||||
uses: signpath/github-action-submit-signing-request@v1.3
|
||||
@@ -65,5 +75,4 @@ jobs:
|
||||
prerelease: true
|
||||
generate_release_notes: true
|
||||
files: |
|
||||
LICENSE.txt
|
||||
dist/*.exe
|
||||
|
||||
67
setup.py
67
setup.py
@@ -8,6 +8,8 @@ Install as Python package:
|
||||
|
||||
Create EXE/APP:
|
||||
python3 setup.py build_binary
|
||||
python3 setup.py build_c2e
|
||||
python3 setup.py build_c2p
|
||||
"""
|
||||
|
||||
import os
|
||||
@@ -57,10 +59,75 @@ class BuildBinaryCommand(setuptools.Command):
|
||||
else:
|
||||
sys.exit(0)
|
||||
|
||||
# noinspection PyUnresolvedReferences
|
||||
class BuildC2ECommand(setuptools.Command):
|
||||
description = 'build binary c2e release'
|
||||
user_options = []
|
||||
|
||||
def initialize_options(self):
|
||||
pass
|
||||
|
||||
def finalize_options(self):
|
||||
pass
|
||||
|
||||
# noinspection PyShadowingNames
|
||||
def run(self):
|
||||
VERSION = __version__
|
||||
if sys.platform == 'darwin':
|
||||
os.system('pyinstaller --hidden-import=_cffi_backend -y -D -i icons/comic2ebook.icns -n "KCC C2E" -c -s kcc-c2e.py')
|
||||
# TODO /usr/bin/codesign --force -s "$MACOS_CERTIFICATE_NAME" --options runtime dist/Applications/Kindle\ Comic\ Converter.app -v
|
||||
sys.exit(0)
|
||||
elif sys.platform == 'win32':
|
||||
if os.getenv('WINDOWS_7'):
|
||||
os.system('pyinstaller --hidden-import=_cffi_backend -y -F -i icons\\comic2ebook.ico -n kcc_c2e_win7_legacy_' + VERSION + ' -c --noupx kcc-c2e.py')
|
||||
else:
|
||||
os.system('pyinstaller --hidden-import=_cffi_backend -y -F -i icons\\comic2ebook.ico -n kcc_c2e_' + VERSION + ' -c --noupx kcc-c2e.py')
|
||||
sys.exit(0)
|
||||
elif sys.platform == 'linux':
|
||||
os.system(
|
||||
'pyinstaller --hidden-import=_cffi_backend --hidden-import=queue -y -F -i icons/comic2ebook.ico -n kcc_c2e_linux_' + VERSION + ' kcc-c2e.py')
|
||||
sys.exit(0)
|
||||
else:
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
# noinspection PyUnresolvedReferences
|
||||
class BuildC2PCommand(setuptools.Command):
|
||||
description = 'build binary c2p release'
|
||||
user_options = []
|
||||
|
||||
def initialize_options(self):
|
||||
pass
|
||||
|
||||
def finalize_options(self):
|
||||
pass
|
||||
|
||||
# noinspection PyShadowingNames
|
||||
def run(self):
|
||||
VERSION = __version__
|
||||
if sys.platform == 'darwin':
|
||||
os.system('pyinstaller --hidden-import=_cffi_backend -y -n "KCC C2P" -c -s kcc-c2p.py')
|
||||
# TODO /usr/bin/codesign --force -s "$MACOS_CERTIFICATE_NAME" --options runtime dist/Applications/Kindle\ Comic\ Converter.app -v
|
||||
sys.exit(0)
|
||||
elif sys.platform == 'win32':
|
||||
if os.getenv('WINDOWS_7'):
|
||||
os.system('pyinstaller --hidden-import=_cffi_backend -y -F -i icons\\comic2ebook.ico -n kcc_c2p_win7_legacy_' + VERSION + ' -c --noupx kcc-c2p.py')
|
||||
else:
|
||||
os.system('pyinstaller --hidden-import=_cffi_backend -y -F -i icons\\comic2ebook.ico -n KCC_C2P_' + VERSION + ' -c --noupx kcc-c2p.py')
|
||||
sys.exit(0)
|
||||
elif sys.platform == 'linux':
|
||||
os.system(
|
||||
'pyinstaller --hidden-import=_cffi_backend --hidden-import=queue -y -F -i icons/comic2ebook.ico -n kcc_c2p_linux_' + VERSION + ' kcc-c2p.py')
|
||||
sys.exit(0)
|
||||
else:
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
setuptools.setup(
|
||||
cmdclass={
|
||||
'build_binary': BuildBinaryCommand,
|
||||
'build_c2e': BuildC2ECommand,
|
||||
'build_c2p': BuildC2PCommand,
|
||||
},
|
||||
name=NAME,
|
||||
version=VERSION,
|
||||
|
||||
Reference in New Issue
Block a user