aboutsummaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-08-11 04:50:55 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2018-08-11 04:50:55 +0530
commit86298f2109d215ad6b26d3462af7b685d52d0dd7 (patch)
treeb4f05a99c5c788caf428cc938d14e26b2b5dcc2e /setup.py
parent2ee28029f945d74d01e63d6efd8802c9df03b28f (diff)
downloadmeson-86298f2109d215ad6b26d3462af7b685d52d0dd7.zip
meson-86298f2109d215ad6b26d3462af7b685d52d0dd7.tar.gz
meson-86298f2109d215ad6b26d3462af7b685d52d0dd7.tar.bz2
setup: Require setuptools and entry_points:
This gives us a consistent experience and a simpler setup across all operating systems. Setuptools is available everywhere these days.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py44
1 files changed, 4 insertions, 40 deletions
diff --git a/setup.py b/setup.py
index d8a614b..b11d8a2 100644
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import os
import sys
from mesonbuild.coredata import version
@@ -24,44 +23,11 @@ if sys.version_info < (3, 5, 0):
'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
+from setuptools import setup
-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)
-
-entries = {}
-if sys.platform == 'win32':
- # This will create Scripts/meson.exe and Scripts/meson-script.py
- # Can't use this on all platforms because distutils doesn't support
- # entry_points in setup()
- entries = {'console_scripts': ['meson=mesonbuild.mesonmain:main']}
+# On windows, will create Scripts/meson.exe and Scripts/meson-script.py
+# Other platforms will create bin/meson
+entries = {'console_scripts': ['meson=mesonbuild.mesonmain:main']}
setup(name='meson',
version=version,
@@ -78,8 +44,6 @@ setup(name='meson',
'mesonbuild.modules',
'mesonbuild.scripts',
'mesonbuild.wrap'],
- scripts=['meson.py'],
- cmdclass={'install_scripts': install_scripts},
entry_points=entries,
data_files=[('share/man/man1', ['man/meson.1']),
('share/polkit-1/actions', ['data/com.mesonbuild.install.policy'])],