#!/usr/bin/env sh # arch script: installs build dependencies for Arch Linux # # Copyright (C) 2021 Melissa Goad <mszoopers@protonmail.com> # Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com> # Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com> # Copyright (C) 2023 Andreas Hartmann <andreas@ohok.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/>. # if [ "$(id -u)" -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 Tianocore and iPXE # TODO: check whether this is the full list pacman -S --needed --noconfirm nasm perl-libwww python 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 python # 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 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 # Management engine extraction dependencies # ------------------------------------------------------------ pacman -S --needed --noconfirm innoextract p7zip # U-Boot build dependencies # ------------------------------------------------------------ pacman -S --needed --noconfirm swig dtc printf "You also need unifont and bdf-unifont from AUR, to build GRUB:\n" printf "https://aur.archlinux.org/pkgbase/unifont\n" printf "https://aur.archlinux.org/pkgbase/bdf-unifont\n"