diff options
| author | 2016-10-18 12:42:02 -0700 | |
|---|---|---|
| committer | 2016-10-18 12:42:02 -0700 | |
| commit | 55b8b8477cc6aee82dfe6792eea4e589cac433d5 (patch) | |
| tree | ce5bfbd1b0ee59dbffdc2044bcf90c89614392ed /util/install_dependencies.sh | |
| parent | d1c70328f8d8ded6ce1e5422b468fc41ef315e7d (diff) | |
| parent | 04df74f6360464661bcc1e6794e9fd3549084390 (diff) | |
| download | qmk_firmware-55b8b8477cc6aee82dfe6792eea4e589cac433d5.tar.gz | |
Merge remote-tracking branch 'upstream/master'
* upstream/master: (1239 commits)
Update ez.c
removes planck/rev3 temporarily
Move hand_swap_config to ez.c, removes error for infinity
Update Makefile
ergodox: Update algernon's keymap to v1.9
Added VS Code dir to .gitignore
Support the Pegasus Hoof controller.
[Jack & Erez] Simplifies and documents TO
add readme
use wait_ms instead of _delay_ms
add messenger
init keymap
Add example keymap
Adding whiskey_tango_foxtrot_capslock ergodox keymap
Unicode map framework. Allow unicode up to 0xFFFFF using separate mapping table
CIE 1931 dim curve
Apply the dim curve to the RGB output
Update the Cluecard readme files
Tune snake and knight intervals for Cluecard
Tunable RGB light intervals
...
Diffstat (limited to 'util/install_dependencies.sh')
| -rwxr-xr-x | util/install_dependencies.sh | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/util/install_dependencies.sh b/util/install_dependencies.sh new file mode 100755 index 000000000..936a86593 --- /dev/null +++ b/util/install_dependencies.sh @@ -0,0 +1,95 @@ +#!/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 \ + arm-none-eabi-gcc \ + arm-none-eabi-binutils \ + arm-none-eabi-newlib \ + git \ + diffutils + +elif [[ -n "$(type -P apt-get)" ]]; then + # Debian and derivatives + # This block performs completely non-interactive updates {{ + export DEBIAN_FRONTEND=noninteractive + export DEBCONF_NONINTERACTIVE_SEEN=true + echo "grub-pc hold" | dpkg --set-selections + apt-get -y update + apt-get -y --allow-unauthenticated upgrade \ + -o Dpkg::Options::="--force-confdef" \ + -o Dpkg::Options::="--force-confold" + # }} + apt-get install -y \ + build-essential \ + gcc \ + unzip \ + wget \ + zip \ + gcc-avr \ + binutils-avr \ + avr-libc \ + dfu-programmer \ + dfu-util \ + gcc-arm-none-eabi \ + binutils-arm-none-eabi \ + libnewlib-arm-none-eabi \ + git \ + diffutils + +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 \ + avr-binutils \ + avr-gcc \ + avr-libc \ + dfu-programmer \ + dfu-util \ + arm-none-eabi-gcc-cs \ + arm-none-eabi-newlib \ + git \ + diffutils + # The listed eabi pacackes do unfortunately not exist for CentOS, + # But at least in Fedora they do, so try to install them anyway + # TODO: Build them from sources, if the installation fails + +elif [[ -n "$(type -P zypper)" ]]; then + # openSUSE + zypper --non-interactive refresh && zypper --non-interactive update + zypper --non-interactive install \ + git \ + make \ + gcc \ + kernel-devel \ + patch \ + wget \ + dfu-programmer \ + git \ + diffutils + # TODO: The avr and eabi tools are not available as default packages, so we need + # another way to install them + +fi |