# Copyright (C) 2022 Denis 'GNUtoo' Carikli # Copyright (C) 2022 Wael Karram # SPDX-License-Identifier: CC0-1.0 # Maintainers: Parabola hackers pkgname=libreboot-utils pkgrel=15 _upstream_ver=20220710 pkgver=4.15.libreboot${_upstream_ver} pkgdesc="Misc. Coreboot/Libreboot utils (bucts, cbfstool, ECtool, nvramtool, superiotool)" url="https://libreboot.org/" arch=('x86_64' 'i686' 'armv7h') license=('GPL2') makedepends=('pciutils' 'python' 'python-setuptools' 'flex') _mirror="https://mirrors.mit.edu/libreboot" # use a mirror per libreboot's request source=("${_mirror}/stable/${_upstream_ver}/libreboot-${_upstream_ver}_src.tar.xz"{,.sig} "0001-cbfstool-enable-to-disable-Werror-in-standalone-buil.patch") sha256sums=('92439034828aa66d52507c97d8260a7d0335abbeedb1a70e5e1466b92a903645' 'e8afb35e6d9328baa5cee5325c60cb40467559596e93a7ae218883ece3484b8f' 'SKIP') sha512sums=('73fe77983d30997295747e365a363f6fc4897f469d9b24640fc6a7105f0ddb623890e797723077222212695dbbe9abb5186b04d75dad39f99cb62733f4b0de60' 'aa4f35df0da8e93dda169034e906576db291ac2e6fe27b5c9693827ff99ecaa8c45b80892f0792505fb1d9c6d5190517a59309304f93c3e1f504ddacf95684c1' 'SKIP') validpgpkeys=('98CCDDF8E56047F475C044BDD0C62464FA8B4856') # Leah Rowe prepare() { cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/" patch \ -Np1 -i \ "${srcdir}/0001-cbfstool-enable-to-disable-Werror-in-standalone-buil.patch" # Replace sbin with bin in the makefiles. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/bucts/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/cbfstool/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/cbmem/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/ectool/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/inteltool/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/nvramtool/" sed 's#/sbin#/bin#' -i Makefile cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/superiotool/" sed 's#/sbin#/bin#' -i Makefile # Remove uneeded files. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/" rm -rf tests rm -rf spd rm -rf payloads rm -rf Documentation } build() { # Get to the directory. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/" # These tools uses port-mapped I/O which doesn't exist on armv7h, # so they fails to compile when including sys/io.h. They also need # port-mapped I/O to work so it's pointless to try to build them # on armv7h. if [ "${CARCH}" = "i686" -o "${CARCH}" = "x86_64" ] ; then # Build bucts. make -C bucts # Build ECtool. make -C ectool # Build inteltool. make -C inteltool # Build superiotool. make -C superiotool fi # Build bincfg. make -C bincfg WERROR="" # Build cbfstool. make -C cbfstool WERROR='' # Build cbmem. make -C cbmem # Build ifdtool make -C ifdtool # Build me_cleaner. cd me_cleaner python3 setup.py build cd .. # Build nvramtool. make -C nvramtool # Build spkmodem_recv. make -C spkmodem_recv } package() { # Get to the directory. cd "$srcdir/libreboot-${_upstream_ver}_src/coreboot/default/util/" # Set directories up. install -d "${pkgdir}"/usr/bin "${pkgdir}"/usr/share/man/man8 # These tools uses port-mapped I/O which doesn't exist on armv7h, # so they fails to compile when including sys/io.h. So we also need # to skip their installation. if [ "${CARCH}" = "i686" -o "${CARCH}" = "x86_64" ] ; then # Install bucts. install -Dm755 bucts/bucts "${pkgdir}"/usr/bin/bucts # Install ECtool. make -C ectool install PREFIX="${pkgdir}"/usr # Install inteltool. make -C inteltool install DESTDIR="${pkgdir}" PREFIX=/usr # Install superiotool. make -C superiotool install DESTDIR="${pkgdir}" PREFIX=/usr fi # Install bincfg. install -Dm755 bincfg/bincfg "${pkgdir}"/usr/bin/bincfg install -d "${pkgdir}"/usr/share/bincfg for _file in ddr3_unregistered_spd_128.spec \ ddr3_unregistered_spd_256.spec \ ddr4_registered_spd_512.spec \ ddr4_unbuffered_spd_512.spec \ gbe-82579LM.set \ gbe-82579LM.spec \ gbe-ich9m.set \ gbe-ich9m.spec \ ifd-x200.set \ ifd-x200.spec \ it8718f-ec.spec ; do install -Dm644 bincfg/"${_file}" "${pkgdir}"/usr/share/bincfg/"${_file}" done # Install cbfstool. make -C cbfstool install DESTDIR="${pkgdir}" PREFIX=/usr # Install cbmem. make -C cbmem install DESTDIR="${pkgdir}" PREFIX=/usr # Install ifdtool. make -C ifdtool install DESTDIR="${pkgdir}" PREFIX=/usr # Install me_cleaner. cd me_cleaner python3 setup.py install --root="$pkgdir/" --optimize=1 cd .. # Install nvramtool. make -C nvramtool install DESTDIR="${pkgdir}" PREFIX=/usr # Install spkmodem_recv. make -C spkmodem_recv install PREFIX="${pkgdir}/usr" }