From 93261e307bb3255872f57c8322e6ed13d4fa0d5d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 20 Jul 2018 11:52:03 +0200 Subject: [PATCH] build: Drop Python 2 support and require Python 3.4+ See https://mail.gnome.org/archives/desktop-devel-list/2018-July/msg00004.html for a discussion on if/when we can start relying on Python 3 only. Use Python 3.4 as a new requirement because that's the version used in SLES 12 and Debian 8 and there is no good reason to require something newer right now. --- configure.ac | 4 ++-- meson.build | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index bc6000381..8c55bb554 100644 --- a/configure.ac +++ b/configure.ac @@ -338,12 +338,12 @@ AC_PROG_AWK # python.m4 will get the expected input AC_ARG_WITH(python, AS_HELP_STRING([--with-python=PATH], - [Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]), + [Path to Python interpreter; searches $PATH if only a program name, such as "python3" or "python3.4", is given; if not given, searches for a few standard names]), [PYTHON="$withval"], []) if test x"$PYTHON" = xyes; then AC_MSG_ERROR([--with-python option requires a path or program argument]) fi -AM_PATH_PYTHON(2.7,,PYTHON="python2.7") +AM_PATH_PYTHON(3.4,,[AC_MSG_ERROR([Requires Python >=3.4])]) dnl *********************** diff --git a/meson.build b/meson.build index f758365f3..7a5ab0fb2 100644 --- a/meson.build +++ b/meson.build @@ -1804,6 +1804,12 @@ python = import('python').find_installation('python3') # used for '#!/usr/bin/env ' python_name = 'python3' +python_version = python.language_version() +python_version_req = '>=3.4' +if not python_version.version_compare(python_version_req) + error('Requires Python @0@, @1@ found.'.format(python_version_req, python_version)) +endif + # Determine which user environment-dependent files that we want to install have_bash = find_program('bash', required : false).found() # For completion scripts have_m4 = find_program('m4', required : false).found() # For m4 macros