]> git.phdru.name Git - mimedecode.git/blobdiff - setup.py
Build(GHActions): Use `checkout@v4` instead of outdated `v2`
[mimedecode.git] / setup.py
index c91d481cb2ab09805c0ed0cd4e4de64b9e938a11..a9d28cdbbb4d6f2d50691a758c2d61ba080a5570 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -1,35 +1,72 @@
 #! /usr/bin/env python
 
-try:
-    from ez_setup import use_setuptools
-    use_setuptools()
-    from setuptools import setup
-    is_setuptools = True
-except ImportError:
-    from distutils.core import setup
-    is_setuptools = False
+from os.path import abspath, dirname, join
+from setuptools import setup
+import sys
 
-kw = {}
-if is_setuptools:
-    kw['setup_requires'] = ['m_lib']
-    kw['install_requires'] = ['m_lib']
-    kw['dependency_links'] = [
-        'http://phdru.name/Software/Python/#egg=m_lib',
-        'git+http://git.phdru.name/mimedecode.git#egg=m_lib',
-    ]
+versionpath = join(abspath(dirname(__file__)), 'mimedecode', '__version__.py')
+mimedecode_version = {}
 
-from mimedecode_version import __version__, __copyright__, __license__
+if sys.version_info[:2] == (2, 7):
+    execfile(versionpath, mimedecode_version)  # noqa: F821 'execfile' Py3
 
-setup(name = "mimedecode",
-   version = __version__,
-   description = "A program to decode MIME messages",
-   long_description = "A program to decode MIME messages. " + __copyright__,
-   author = "Oleg Broytman",
-   author_email = "phd@phdru.name",
-   url = "http://phdru.name/Software/Python/#mimedecode",
-   license = __license__,
-   platforms = "All",
-   py_modules = ['mimedecode_version'],
-   scripts = ['mimedecode.py'],
-   **kw
+elif sys.version_info >= (3, 4):
+    exec(open(versionpath, 'r').read(), mimedecode_version)
+
+else:
+    raise ImportError("mimedecode requires Python 2.7 or 3.4+")
+
+setup(
+    name="mimedecode",
+    version=mimedecode_version['__version__'],
+    description="A program to decode MIME messages",
+    long_description="A program to decode MIME messages. " +
+    mimedecode_version['__copyright__'],
+    long_description_content_type="text/plain",
+    author="Oleg Broytman",
+    author_email="phd@phdru.name",
+    url="https://phdru.name/Software/Python/#mimedecode",
+    project_urls={
+        'Homepage': 'https://phdru.name/Software/Python/#mimedecode',
+        'Documentation': 'https://phdru.name/Software/Python/mimedecode.html',
+        'Download':
+            'https://phdru.name/Software/Python/'
+            'mimedecode-%s.tar.bz2' % mimedecode_version['__version__'],
+        'Git repo': 'https://git.phdru.name/mimedecode.git',
+        'Github repo': 'https://github.com/phdru/mimedecode',
+        'Issue tracker': 'https://github.com/phdru/mimedecode/issues',
+    },
+    license=mimedecode_version['__license__'],
+    keywords=['email', 'MIME'],
+    platforms="Any",
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Environment :: Console',
+        'Intended Audience :: End Users/Desktop',
+        'License :: OSI Approved :: GNU General Public License (GPL)',
+        'Operating System :: OS Independent',
+        'Programming Language :: Python :: Implementation :: CPython',
+        'Programming Language :: Python :: Implementation :: PyPy',
+        'Programming Language :: Python :: 2',
+        'Programming Language :: Python :: 2.7',
+        'Programming Language :: Python :: 3',
+        'Programming Language :: Python :: 3.4',
+        'Programming Language :: Python :: 3.5',
+        'Programming Language :: Python :: 3.6',
+        'Programming Language :: Python :: 3.7',
+        'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: 3.11',
+        'Programming Language :: Python :: 3.12',
+    ],
+    packages=['mimedecode'],
+    entry_points={
+        'console_scripts': [
+            'mimedecode = mimedecode.__main__:main'
+        ]
+    },
+    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
+    install_requires=['m_lib.defenc>=1.0'],
+    tests_require=['m_lib>=3.1'],
 )