Updating my entry in the README
[jackhill/qmk/firmware.git] / avr_setup.sh
CommitLineData
ab7d6dca 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
7if [[ -n "$(type -P pacman )" ]]; then
8 # Arch linux and derivatives like Apricity
ee424f86 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
71ee3eb2 14 pacman -S --needed --noconfirm \
15 base-devel \
16 avr-gcc \
17 avr-binutils \
18 avr-libc \
19 dfu-util
ab7d6dca 20
21elif [[ -n "$(type -P apt-get)" ]]; then
22 # Debian and derivatives
67f7507d 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 # }}
71ee3eb2 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
ab7d6dca 42
43elif [[ -n "$(type -P yum)" ]]; then
44 # Fedora, CentOS or RHEL and derivatives
ee424f86 45 yum -y makecache && yum -y update
71ee3eb2 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
ab7d6dca 59
60elif [[ -n "$(type -P zypper)" ]]; then
61 # openSUSE
987ac16a 62 zypper --non-interactive refresh && zypper --non-interactive update
71ee3eb2 63 zypper --non-interactive install \
64 git \
65 make \
66 gcc \
67 kernel-devel \
68 patch \
69 wget \
987ac16a 70 dfu-programmer
ab7d6dca 71
72fi