summaryrefslogtreecommitdiffstats
path: root/avr_setup.sh
blob: cd7412d748478d0e1ca7d00c4a8fb91eaa76b281 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env bash
# This script will attempt to setup the Linux dependencies for compiling QMK/TMK

# This could probably go much lower, but since we are including an Arch vagrant,
# making it the first match makes sense

if [[ -n "$(type -P pacman )" ]]; then
  # Arch linux and derivatives like Apricity
  # Future improvements:
  # Allow user to speed up package installs using powerpill/wget tweaks
  # Always run the pacman mirror update script if possible when vagrant comes up
  # This will ensure that users never get stalled on a horribly slow mirror
  pacman -Syyu --needed --noconfirm
  pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-util

elif [[ -n "$(type -P apt-get)" ]]; then
  # Debian and derivatives
  apt-get update -y && apt-get upgrade -y
  apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc
  
elif [[ -n "$(type -P yum)" ]]; then
  # Fedora, CentOS or RHEL and derivatives
  yum -y makecache && yum -y update
  yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget

elif [[ -n "$(type -P zypper)" ]]; then
  # openSUSE
  zypper refresh --non-interactive && zypper update --non-interactive
  zypper --non-interactive install git make gcc kernel-devel patch wget

fi