Bläddra i källkod

Make python a required build dependency (#5784)

* Make python a required build dependency

* Add missing color

* fixup sabayon linux per @BlitzKraft
skullydazed 6 år sedan
förälder
incheckning
99500243e1
6 ändrade filer med 18 tillägg och 4 borttagningar
  1. 2 0
      Makefile
  2. 4 0
      message.mk
  3. 2 1
      util/freebsd_install.sh
  4. 8 1
      util/linux_install.sh
  5. 1 1
      util/macos_install.sh
  6. 1 1
      util/msys2_install.sh

+ 2 - 0
Makefile

@@ -534,6 +534,8 @@ endef
 %:
 	# Check if we have the CMP tool installed
 	cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
+	# Ensure that python3 is installed. This check can be removed after python is used in more places.
+	if ! python3 --version 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
 	# Check if the submodules are dirty, and display a warning if they are
 ifndef SKIP_GIT
 	if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 1 --init lib/chibios; fi

+ 4 - 0
message.mk

@@ -81,3 +81,7 @@ MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT
 MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n
 MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(FREE_SIZE) bytes free)\n
 MSG_FILE_NEAR_LIMIT = The firmware size is approaching the maximum - $(CURRENT_SIZE)/$(MAX_SIZE) ($(FREE_SIZE) bytes free)\n
+MSG_PYTHON_MISSING = $(WARN_COLOR)WARNING:$(NO_COLOR)\n \
+	Python 3 is not installed. It will be required by a future version\n\
+	of qmk_firmware.\n\n\
+	Please run $(BOLD)util/qmk_install.sh$(NO_COLOR) to install all the dependencies QMK requires.\n\n

+ 2 - 1
util/freebsd_install.sh

@@ -15,4 +15,5 @@ pkg install -y \
 	arm-none-eabi-gcc \
 	arm-none-eabi-binutils \
 	arm-none-eabi-newlib \
-	diffutils
+	diffutils \
+	python3

+ 8 - 1
util/linux_install.sh

@@ -25,6 +25,7 @@ if grep ID /etc/os-release | grep -qE "fedora"; then
 		kernel-headers \
 		make \
 		perl \
+		python3 \
 		unzip \
 		wget \
 		zip
@@ -47,6 +48,7 @@ elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then
 		gcc-avr \
 		git \
 		libnewlib-arm-none-eabi \
+		python3 \
 		unzip \
 		wget \
 		zip
@@ -66,6 +68,7 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
 		diffutils \
 		gcc \
 		git \
+		python \
 		unzip \
 		wget \
 		zip
@@ -87,6 +90,7 @@ elif grep ID /etc/os-release | grep -q gentoo; then
 			app-arch/zip \
 			app-mobilephone/dfu-util \
 			dev-embedded/avrdude \
+			dev-lang/python:3.5 \
 			net-misc/wget \
 			sys-devel/gcc \
 			sys-devel/crossdev
@@ -102,6 +106,7 @@ elif grep ID /etc/os-release | grep -q sabayon; then
 		app-arch/zip \
 		app-mobilephone/dfu-util \
 		dev-embedded/avrdude \
+		dev-lang/python \
 		net-misc/wget \
 		sys-devel/gcc \
 		sys-devel/crossdev
@@ -125,6 +130,7 @@ elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then
 		dfu-tool \
 		dfu-programmer \
 		gcc \
+		python3 \
 		unzip \
 		wget \
 		zip
@@ -143,7 +149,8 @@ elif grep ID /etc/os-release | grep -q slackware; then
 			dfu-util \
 			arm-binutils \
 			arm-gcc \
-			newlib
+			newlib \
+			python3
 		echo "Done!"
 	else
 		echo "Quitting..."

+ 1 - 1
util/macos_install.sh

@@ -22,5 +22,5 @@ fi
 brew tap osx-cross/avr
 brew tap PX4/homebrew-px4
 brew update
-brew install avr-gcc@7 gcc-arm-none-eabi dfu-programmer avrdude dfu-util
+brew install avr-gcc@7 gcc-arm-none-eabi dfu-programmer avrdude dfu-util python3
 brew link --force avr-gcc@7

+ 1 - 1
util/msys2_install.sh

@@ -7,7 +7,7 @@ armtools=gcc-arm-none-eabi
 installflip=false
 
 echo "Installing dependencies needed for the installation (quazip)"
-pacman --needed -S msys/unzip msys/p7zip base-devel msys/git mingw-w64-x86_64-toolchain
+pacman --needed -S base-devel mingw-w64-x86_64-toolchain msys/git msys/p7zip msys/python3 msys/unzip
 
 source "$dir/win_shared_install.sh"