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 | |
7 | if [[ -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 | |
21 | elif [[ -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 | |
43 | elif [[ -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 | |
60 | elif [[ -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 | |
72 | fi |