1# SPDX-FileCopyrightText: 2021 GNOME Foundation
2# SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later
3
4import sys
5
6if sys.version_info < (3, 6, 0):
7    raise SystemExit('ERROR: GI-DocGen requires Python 3.6.0')
8
9from gidocgen.core import version
10
11from distutils.command.build_py import build_py as _build_py
12from setuptools import setup
13
14
15class BuildCommand(_build_py):
16
17    def generate_pkgconfig_file(self):
18        lines = []
19        with open('gi-docgen.pc.in', 'r') as f:
20            for line in f.readlines():
21                new_line = line.strip().replace('@VERSION@', version)
22                lines.append(new_line)
23        with open('gi-docgen.pc', 'w') as f:
24            f.write('\n'.join(lines))
25
26    def run(self):
27        self.generate_pkgconfig_file()
28        return super().run()
29
30
31def readme_md():
32    '''Return the contents of the README.md file'''
33    return open('README.md').read()
34
35
36entries = {
37    'console_scripts': ['gi-docgen=gidocgen.gidocmain:main'],
38}
39
40packages = [
41    'gidocgen',
42    'gidocgen.gir',
43]
44
45package_data = {
46    'gidocgen': [
47        "templates/basic/basic.toml",
48        "templates/basic/*.css",
49        "templates/basic/*.html",
50        "templates/basic/*.js",
51        "templates/basic/*.png",
52        "templates/basic/*.woff2",
53        "templates/basic/*.woff",
54    ],
55}
56
57data_files = [
58    ('libdata/pkgconfig', ['gi-docgen.pc']),
59    ('share/man/man1', ['docs/gi-docgen.1']),
60]
61
62if __name__ == '__main__':
63    setup(
64        cmdclass={
65            'build_py': BuildCommand,
66        },
67        name='gi-docgen',
68        version=version,
69        license='GPL-3.0-or-later AND Apache-2.0 AND CC0-1.0',
70        long_description=readme_md(),
71        long_description_content_type='text/markdown',
72        include_package_data=True,
73        packages=packages,
74        package_data=package_data,
75        entry_points=entries,
76        data_files=data_files,
77    )
78