diff options
Diffstat (limited to 'resources/scripts/build/dependencies')
-rwxr-xr-x | resources/scripts/build/dependencies/arch | 90 | ||||
-rwxr-xr-x | resources/scripts/build/dependencies/ubuntu2004 | 110 |
2 files changed, 200 insertions, 0 deletions
diff --git a/resources/scripts/build/dependencies/arch b/resources/scripts/build/dependencies/arch new file mode 100755 index 00000000..0a09b75a --- /dev/null +++ b/resources/scripts/build/dependencies/arch @@ -0,0 +1,90 @@ +#!/bin/bash + +# arch script: installs build dependencies for Arch Linux +# +# Copyright (C) 2021 Melissa Goad <mszoopers@protonmail.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +if [ $EUID -ne 0 ]; then + printf "This script must be run as root\n" + exit 1 +fi + +# Duplications are intentional. Please do not re-factor. +# +# This is so that they can moved to separate scripts. +# + +pacman -S --needed --noconfirm wget + +# For downloading source code +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm git + +# For building the documentation +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm pandoc + +# For Tianocore and iPXE +# TODO: check whether this is the full list + +pacman -S --needed --noconfirm nasm perl-libwww python2 subversion + +# For building source code: +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm base-devel + +# for running the crostool script (to get mrc.bin file for t440p) +pacman -S --needed --noconfirm sharutils curl parted e2fsprogs unzip + +# for cross-compiling ARM binaries +pacman -S --needed --noconfirm arm-none-eabi-gcc + +# Memtest86+ build dependencies +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm base-devel python2 + +# i945-pwm build dependencies +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm base-devel perl + +# Coreboot build dependencies (also requires build-essential and git) +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm ncurses doxygen acpica gdb flex bison base-devel git openssl gcc-ada + +# GRUB build dependencies (also requires build-essential, bison and flex) +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm bdf-unifont autogen help2man base-devel bison flex ttf-dejavu texinfo rsync python libusb xz gawk device-mapper fuse2 gettext freetype2 + +# BucTS build dependencies (external script) +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm base-devel + +# Flashrom build dependencies (also requires build-essential) +# ------------------------------------------------------------ + +pacman -S --needed --noconfirm libpciaccess pciutils zlib libftdi base-devel libusb diff --git a/resources/scripts/build/dependencies/ubuntu2004 b/resources/scripts/build/dependencies/ubuntu2004 new file mode 100755 index 00000000..df11b313 --- /dev/null +++ b/resources/scripts/build/dependencies/ubuntu2004 @@ -0,0 +1,110 @@ +#!/bin/bash + +# ubuntu2004 script: installs build dependencies for Ubuntu 20.04 +# +# Copyright (C) 2014, 2015 Leah Rowe <info@minifree.org> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +if [ $EUID -ne 0 ]; then + printf "This script must be run as root\n" + exit 1 +fi + +# Duplications are intentional. Please do not re-factor. +# +# This is so that they can moved to separate scripts. +# + +apt-get -y install wget + +# For downloading source code +# ------------------------------------------------------------ + +apt-get -y install git + +# For building the documentation +# ------------------------------------------------------------ + +apt-get -y install pandoc + +# For Tianocore and iPXE +# TODO: check whether this is the full list + +apt-get -y install uuid-dev nasm + +# For building source code: +# ------------------------------------------------------------ + +apt-get -y install build-essential + +# for running the crostool script (to get mrc.bin file for t440p) +apt-get -y install sharutils curl parted e2fsprogs unzip + +# to use the right software versions and links for compiling +apt-get -y install pkg-config + +# for cross-compiling ARM binaries +apt-get -y install gcc-arm-linux-gnueabi + +[ "$(uname -i)" = x86_64 ] || [ "$(uname -m)" = x86_64 ] +arch=${?} + +# For cross-compiling i686 target on x86_64 host. +if [ "${arch}" -eq 0 ]; then + apt-get -y install gcc-multilib libc6-i386 libc6-dev-i386 + apt-get -y install lib32stdc++6 g++-multilib dh-autoreconf + # recommended, but not sure what for: + apt-get -y install lib32tinfo-dev +fi + +# Memtest86+ build dependencies +# ------------------------------------------------------------ + +apt-get -y install build-essential python2.7 + +# i945-pwm build dependencies +# ------------------------------------------------------------ + +apt-get -y install build-essential perl + +# Coreboot build dependencies (also requires build-essential and git) +# ------------------------------------------------------------ + +apt-get -y install libncurses5-dev doxygen iasl gdb flex bison build-essential git libssl-dev gnat + +# For cross-compiling i686 target on x86_64 host. +[ "${arch}" -eq 0 ] && apt-get -y install lib32ncurses5-dev + +# GRUB build dependencies (also requires build-essential, bison and flex) +# ------------------------------------------------------------ + +apt-get -y install ttf-unifont libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev libfont-freetype-perl automake autotools-dev build-essential bison flex libfuse-dev liblzma-dev gawk libdevmapper-dev libtool libfreetype6-dev + +# BucTS build dependencies (external script) +# ------------------------------------------------------------ + +apt-get -y install build-essential + +# Flashrom build dependencies (also requires build-essential) +# ------------------------------------------------------------ + +apt-get -y install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0 libusb-1.0-0-dev libusb-dev + +# For cross-compiling i686 target on x86_64 host. +[ "${arch}" -eq 0 ] && apt-get -y install lib32z1-dev |