| #!/usr/bin/env python3 | 
 |  | 
 | # Copyright 2016 The Meson development team | 
 |  | 
 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | # you may not use this file except in compliance with the License. | 
 | # You may obtain a copy of the License at | 
 |  | 
 | #     http://www.apache.org/licenses/LICENSE-2.0 | 
 |  | 
 | # Unless required by applicable law or agreed to in writing, software | 
 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | # See the License for the specific language governing permissions and | 
 | # limitations under the License. | 
 |  | 
 | import os | 
 | import sys | 
 |  | 
 | from mesonbuild.coredata import version | 
 |  | 
 | if sys.version_info < (3, 5, 0): | 
 |     print('Tried to install with an unsupported version of Python. ' | 
 |           'Meson requires Python 3.5.0 or greater') | 
 |     sys.exit(1) | 
 |  | 
 | # We need to support Python installations that have nothing but the basic | 
 | # Python installation. Use setuptools when possible and fall back to | 
 | # plain distutils when setuptools is not available. | 
 | try: | 
 |     from setuptools import setup | 
 |     from setuptools.command.install_scripts import install_scripts as orig | 
 | except ImportError: | 
 |     from distutils.core import setup | 
 |     from distutils.command.install_scripts import install_scripts as orig | 
 |  | 
 | class install_scripts(orig): | 
 |     def run(self): | 
 |         if sys.platform == 'win32': | 
 |             super().run() | 
 |             return | 
 |  | 
 |         if not self.skip_build: | 
 |             self.run_command('build_scripts') | 
 |         self.outfiles = [] | 
 |         if not self.dry_run: | 
 |             self.mkpath(self.install_dir) | 
 |  | 
 |         # We want the files to be installed without a suffix on Unix | 
 |         for infile in self.get_inputs(): | 
 |             infile = os.path.basename(infile) | 
 |             in_built = os.path.join(self.build_dir, infile) | 
 |             in_stripped = infile[:-3] if infile.endswith('.py') else infile | 
 |             outfile = os.path.join(self.install_dir, in_stripped) | 
 |             # NOTE: Mode is preserved by default | 
 |             self.copy_file(in_built, outfile) | 
 |             self.outfiles.append(outfile) | 
 |  | 
 | setup(name='meson', | 
 |       version=version, | 
 |       description='A high performance build system', | 
 |       author='Jussi Pakkanen', | 
 |       author_email='jpakkane@gmail.com', | 
 |       url='http://mesonbuild.com', | 
 |       license=' Apache License, Version 2.0', | 
 |       python_requires='>=3.5', | 
 |       packages=['mesonbuild', | 
 |                 'mesonbuild.backend', | 
 |                 'mesonbuild.compilers', | 
 |                 'mesonbuild.dependencies', | 
 |                 'mesonbuild.modules', | 
 |                 'mesonbuild.scripts', | 
 |                 'mesonbuild.wrap'], | 
 |       scripts=['meson.py'], | 
 |       cmdclass={'install_scripts': install_scripts}, | 
 |       data_files=[('share/man/man1', ['man/meson.1']), | 
 |                   ('share/polkit-1/actions', ['data/com.mesonbuild.install.policy'])], | 
 |       classifiers=['Development Status :: 5 - Production/Stable', | 
 |                    'Environment :: Console', | 
 |                    'Intended Audience :: Developers', | 
 |                    'License :: OSI Approved :: Apache Software License', | 
 |                    'Natural Language :: English', | 
 |                    'Operating System :: MacOS :: MacOS X', | 
 |                    'Operating System :: Microsoft :: Windows', | 
 |                    'Operating System :: POSIX :: BSD', | 
 |                    'Operating System :: POSIX :: Linux', | 
 |                    'Programming Language :: Python :: 3 :: Only', | 
 |                    'Topic :: Software Development :: Build Tools', | 
 |                    ], | 
 |       long_description='''Meson is a cross-platform build system designed to be both as | 
 | fast and as user friendly as possible. It supports many languages and compilers, including | 
 | GCC, Clang and Visual Studio. Its build definitions are written in a simple non-turing | 
 | complete DSL.''') |