+ sudo apt-get -yq install \
+ build-essential \
+ avr-libc \
+ binutils-arm-none-eabi \
+ binutils-avr \
+ dfu-programmer \
+ dfu-util \
+ diffutils \
+ gcc \
+ gcc-arm-none-eabi \
+ gcc-avr \
+ git \
+ libnewlib-arm-none-eabi \
+ python3 \
+ unzip \
+ wget \
+ zip
+
+elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
+ # install avr-gcc 8.1 until 8.3 is available. See #3657 for details of the bug.
+ sudo pacman -U https://archive.archlinux.org/packages/a/avr-gcc/avr-gcc-8.1.0-1-x86_64.pkg.tar.xz
+ sudo pacman -S \
+ arm-none-eabi-binutils \
+ arm-none-eabi-gcc \
+ arm-none-eabi-newlib \
+ avr-binutils \
+ avr-libc \
+ avr-gcc \
+ base-devel \
+ dfu-util \
+ diffutils \
+ gcc \
+ git \
+ python \
+ unzip \
+ wget \
+ zip
+ git clone https://aur.archlinux.org/dfu-programmer.git /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
+ printf "\nProceed (y/N)? "
+ read -r answer
+ if echo "$answer" | grep -iq "^y"; then
+ sudo touch /etc/portage/package.use/qmkfirmware
+ # 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
+ sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
+ echo "Done!"
+ else
+ echo "Quitting..."
+ fi
+
+elif grep ID /etc/os-release | grep -q sabayon; then
+ sudo equo install \
+ app-arch/unzip \
+ app-arch/zip \
+ app-mobilephone/dfu-util \
+ dev-embedded/avrdude \
+ dev-lang/python \
+ net-misc/wget \
+ sys-devel/gcc \
+ sys-devel/crossdev
+ sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
+ echo "Done!"
+
+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
+
+elif grep ID /etc/os-release | grep -q slackware; then
+ printf "$SLACKWARE_WARNING\n"
+ printf "\nProceed (y/N)? "
+ read -r answer
+ if echo "$answer" | grep -iq "^y" ;then
+ sudo sboinstall \
+ avr-binutils \
+ avr-gcc \
+ avr-libc \
+ avrdude \
+ dfu-programmer \
+ dfu-util \
+ arm-binutils \
+ arm-gcc \
+ newlib \
+ python3
+ echo "Done!"
+ else
+ echo "Quitting..."
+ fi
+