]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - util/linux_install.sh
Make python a required build dependency (#5784)
[qmk_firmware.git] / util / linux_install.sh
index 971d4c543c05d3fae63a1c8797580be64d98e1c9..5e2afe9998e431898e420ca017ec27f5a00e51c1 100755 (executable)
@@ -25,6 +25,7 @@ if grep ID /etc/os-release | grep -qE "fedora"; then
                kernel-headers \
                make \
                perl \
+               python3 \
                unzip \
                wget \
                zip
@@ -32,9 +33,9 @@ if grep ID /etc/os-release | grep -qE "fedora"; then
 elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then
        DEBIAN_FRONTEND=noninteractive
        DEBCONF_NONINTERACTIVE_SEEN=true
-        export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
+       export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
        sudo apt-get update
-       sudo apt-get install \
+       sudo apt-get -yq install \
                build-essential \
                avr-libc \
                binutils-arm-none-eabi \
@@ -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
@@ -61,34 +63,34 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
                avr-binutils \
                avr-libc \
                avr-gcc \
-    base-devel \
+               base-devel \
                dfu-util \
-               diff-utils \
+               diffutils \
                gcc \
                git \
+               python \
                unzip \
                wget \
                zip
        git clone https://aur.archlinux.org/dfu-programmer.git /tmp/dfu-programmer
-       cd /tmp/dfu-programmer
+       cd /tmp/dfu-programmer || exit 1
        makepkg -sic
        rm -rf /tmp/dfu-programmer/
 
 elif grep ID /etc/os-release | grep -q gentoo; then
-       echo GENTOO_WARNING | fmt
-       echo -n "Proceed (y/N)? "
-       old_stty_cfg=$(stty -g)
-       stty raw -echo
-       answer=$( while ! head -c 1 | grep -i '[ny]' ;do true ;done )
-       stty $old_stty_cfg
-       if echo "$answer" | grep -iq "^y" ;then
+       echo "$GENTOO_WARNING" | fmt
+       printf "\nProceed (y/N)? "
+       read -r answer
+       if echo "$answer" | grep -iq "^y"; then
                sudo touch /etc/portage/package.use/qmkfirmware
-               echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware > /dev/null
+               # tee is used here since sudo doesn't apply to >>
+               echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware >/dev/null
                sudo emerge -auN \
                        app-arch/unzip \
                        app-arch/zip \
                        app-mobilephone/dfu-util \
                        dev-embedded/avrdude \
+                       dev-lang/python:3.5 \
                        net-misc/wget \
                        sys-devel/gcc \
                        sys-devel/crossdev
@@ -104,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
@@ -112,18 +115,22 @@ elif grep ID /etc/os-release | grep -q sabayon; then
 
 elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then
        CROSS_AVR_GCC=cross-avr-gcc8
+       CROSS_ARM_GCC=cross-arm-none-gcc8
        if grep ID /etc/os-release | grep -q "15.0"; then
                CROSS_AVR_GCC=cross-avr-gcc7
+               CROSS_ARM_GCC=cross-arm-none-gcc7
        fi
        sudo zypper install \
                avr-libc \
                $CROSS_AVR_GCC \
+               $CROSS_ARM_GCC \
                cross-avr-binutils \
                cross-arm-none-newlib-devel \
                cross-arm-binutils cross-arm-none-newlib-devel \
                dfu-tool \
                dfu-programmer \
                gcc \
+               python3 \
                unzip \
                wget \
                zip
@@ -142,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..."