Merge branch 'One_dir_specs'

This commit is contained in:
Marco
2019-08-03 23:35:43 +02:00
3 changed files with 97 additions and 5 deletions

View File

@@ -0,0 +1,40 @@
# -*- mode: python -*-
block_cipher = None
import glob, os
data_file = [(f, '.') for f in glob.glob('*.[pu][yi]') if f != "artemis.py"]
data_file.append(('cacert.pem', '.'))
a = Analysis(['artemis.py'],
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='Artemis',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False)
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='Artemis')

View File

@@ -6,21 +6,33 @@
## ARTEMIS 3 .SPEC FILES
Artemis 3 .spec files are used by the package **pyinstaller** (https://www.pyinstaller.org/) to build a single standalone executable. The extreme versatility of this package is the fact that every external dependency is already embedded into the bundle. The interpreter of Python 3 is also included.
Artemis 3 .spec files are used by the package **pyinstaller** (https://www.pyinstaller.org/) to build a single standalone executable (or a one-dir package). The extreme versatility of this package is the fact that every external dependency is already embedded into the bundle. The interpreter of Python 3 is also included.
## Requirements
- Python 3.7.0+
- Pyinstaller
-
**IMPORTANT:** *To generate the standalone and the one-dir package, you must use an operating system that coincides with the target one (pyinstaller doesn't allow cross-compilation).*
## Package Building
**IMPORTANT:** *To generate the standalone, you must use an operating system that coincides with the target one (pyinstaller doesn't allow cross-compilation).*
## Package Building (standalone aka one-file, high portability, **suggested**)
1. Download a fresh copy of the git repository.
2. Choose the target OS in `spec_files` folder and copy the whole content into `src`
2. Choose the target OS in `spec_files` folder and copy the whole content (except the Artemis_onedir.spec file) into `src`
3. Open a terminal into `src` and run:
```
pyinstaller Artemis.spec
```
4. The ready-to-use compiled software is now present into `src/dist` folder.
4. Copy the `src/theme` folder into `src/dist`.
5. The ready-to-use compiled software is now present into `src/dist` folder.
## Package Building (one-dir, shorter startup time, low portability)
1. Download a fresh copy of the git repository.
2. Choose the target OS in `spec_files` folder and copy the whole content (except the Artemis.spec file) into `src`
3. Open a terminal into `src` and run:
```
pyinstaller Artemis_onedir.spec
```
4. Copy the `src/theme` folder into `src/dist/Artemis`.
5. The ready-to-use compiled software is now present into `src/dist` folder as a bundle. All the libraries are clearly present.
## License
This program (ARTEMIS 3, 2014-2019) is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

View File

@@ -0,0 +1,40 @@
# -*- mode: python -*-
block_cipher = None
import glob,os
data_file = [(f, '.') for f in glob.glob('*.[pu][yi]') if f != "artemis.py"]
data_file.append(('cacert.pem', '.'))
a = Analysis(['artemis.py'],
pathex=[os.getcwd()],
binaries=[],
datas=data_file,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='Artemis',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False , icon='Artemis3.ico')
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='Artemis')