Building from sourceΒΆ
To build the wxIconSaver
package from source using setuptools
, run the following command:
$ python3 setup.py sdist bdist_wheel
setuptools
is configured using the file setup.py
.
Different formats are available for built distributions
Format | Description | Notes |
---|---|---|
gztar |
gzipped tar file (.tar.gz ) |
default on Unix |
bztar |
bzipped tar file (.tar.bz2 ) |
|
xztar |
bzipped tar file (.tar.bz2 ) |
|
tar |
tar file (.tar ) |
|
zip |
zip file (.zip ) |
default on Windows |
wininst |
self-extracting ZIP file for Windows | |
msi |
Microsoft Installer |
setup.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #!/usr/bin/env python
"""Setup script"""
from __pkginfo__ import (
author, author_email, # install_requires,
license, long_description, classifiers,
entry_points, modname, py_modules,
short_desc, VERSION, web, data_files
)
from setuptools import setup
# Create .desktop file
with open("wxIconSaver.desktop", "w") as desktop:
desktop.write(f"""[Desktop Entry]
Version={VERSION}
Name={modname}
Comment=A GUI utility for saving wxPython icons to files
Exec=wxIconSaver
Icon=document-save
Terminal=false
Type=Application
Categories=Utility;Application;
""")
setup(
author=author,
author_email=author_email,
classifiers=classifiers,
description=short_desc,
entry_points=entry_points,
# install_requires=install_requires,
license=license,
long_description=long_description,
name=modname,
# packages = find_packages(),
py_modules=py_modules,
url=web,
version=VERSION,
data_files=data_files,
)
|
__pkginfo__.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | # Copyright (C) 2019-2020 Dominic Davis-Foster <dominic@davis-foster.co.uk>
#
# This program 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.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This script based on https://github.com/rocky/python-uncompyle6/blob/master/__pkginfo__.py
import pathlib
copyright = """
2019 Dominic Davis-Foster <dominic@davis-foster.co.uk>
"""
VERSION = "0.1.7"
modname = "wxIconSaver"
py_modules = ['wxIconSaver']
entry_points = {
'console_scripts': [
'wxIconSaver=wxIconSaver:main',
'wxiconsaver=wxIconSaver:main',
]
}
license = 'GPL3'
short_desc = 'wxPython GUI for saving icons to files'
classifiers = [
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
]
# TODO: add tag for GUI
author = "Dominic Davis-Foster"
author_email = "dominic@davis-foster.co.uk"
github_username = "domdfcoding"
web = github_url = f"https://github.com/{github_username}/{modname}"
# Get info from files; set: long_description
if pathlib.Path.cwd().name == "doc-source":
print(pathlib.Path.cwd().parent / "README.rst")
# install_requires = (pathlib.Path.cwd().parent / "requirements.txt").read_text().split("\n")
long_description = (pathlib.Path.cwd().parent / "README.rst").read_text() + '\n'
else:
print(pathlib.Path("README.rst"))
# install_requires = pathlib.Path("requirements.txt").read_text().split("\n")
long_description = pathlib.Path("README.rst").read_text() + '\n'
data_files = [
('share/applications', ['wxIconSaver.desktop']),
]
|