]> git.donarmstrong.com Git - qmk_firmware.git/blob - avr_setup.sh
Add KC_L[LR]ABK to top-level README
[qmk_firmware.git] / avr_setup.sh
1 #!/usr/bin/env bash
2 # This script will attempt to setup the Linux dependencies for compiling QMK/TMK
3
4 # This could probably go much lower, but since we are including an Arch vagrant,
5 # making it the first match makes sense
6
7 if [[ -n "$(type -P pacman )" ]]; then
8   # Arch linux and derivatives like Apricity
9   # Future improvements:
10   # Allow user to speed up package installs using powerpill/wget tweaks
11   # Always run the pacman mirror update script if possible when vagrant comes up
12   # This will ensure that users never get stalled on a horribly slow mirror
13   pacman -Syyu --needed --noconfirm
14   pacman -S --needed --noconfirm \
15     base-devel \
16     avr-gcc \
17     avr-binutils \
18     avr-libc \
19     dfu-util
20
21 elif [[ -n "$(type -P apt-get)" ]]; then
22   # Debian and derivatives
23   # This block performs completely non-interactive updates {{
24   export DEBIAN_FRONTEND=noninteractive
25   export DEBCONF_NONINTERACTIVE_SEEN=true
26   echo "grub-pc hold" | dpkg --set-selections
27   apt-get -y update
28   apt-get -y --allow-unauthenticated upgrade \
29           -o Dpkg::Options::="--force-confdef" \
30           -o Dpkg::Options::="--force-confold"
31   # }}
32   apt-get install -y \
33     build-essential \
34     gcc \
35     unzip \
36     wget \
37     zip \
38     gcc-avr \
39     binutils-avr \
40     avr-libc \
41     dfu-util
42   
43 elif [[ -n "$(type -P yum)" ]]; then
44   # Fedora, CentOS or RHEL and derivatives
45   yum -y makecache && yum -y update
46   yum -y install \
47     gcc \
48     glibc-headers \
49     kernel-devel \
50     kernel-headers \
51     make \
52     perl \
53     git \
54     wget \
55     avr-binutils \
56     avr-gcc \
57     avr-libc \
58     dfu-util
59
60 elif [[ -n "$(type -P zypper)" ]]; then
61   # openSUSE
62   zypper --non-interactive refresh  && zypper --non-interactive update
63   zypper --non-interactive install \
64     git \
65     make \
66     gcc \
67     kernel-devel \
68     patch \
69     wget \
70     dfu-programmer
71
72 fi