130 lines
4.8 KiB
Bash
130 lines
4.8 KiB
Bash
#!/usr/bin/bash
|
|
# JOBoRun : Jwm OpenBox Obarun RUNit
|
|
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
|
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
|
|
# Website : https://pozol.eu
|
|
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
|
|
|
pkgbase=seabios
|
|
pkgname=(seabios) # seabios-docs)
|
|
pkgver=1.16.3
|
|
pkgrel=01
|
|
pkgdesc="Open-source legacy BIOS implementation"
|
|
url="https://www.seabios.org/SeaBIOS"
|
|
makedepends=(acpica inetutils python)
|
|
options=(!makeflags !strip)
|
|
source=(seabios-$pkgver.tar.gz::https://github.com/coreboot/seabios/archive/rel-$pkgver.tar.gz
|
|
config.coreboot
|
|
config.csm
|
|
config.seabios-128k
|
|
config.seabios-256k
|
|
config.seabios-microvm
|
|
config.vga-ati
|
|
config.vga-bochs-display
|
|
config.vga-cirrus
|
|
config.vga-isavga
|
|
config.vga-qxl
|
|
config.vga-ramfb
|
|
config.vga-stdvga
|
|
config.vga-virtio
|
|
config.vga-vmware)
|
|
|
|
_debug_level=0
|
|
|
|
_build_bios() {
|
|
local config=$1
|
|
local output_name=$2
|
|
local binary_name=$3
|
|
local build_target=$4
|
|
|
|
echo "Building target with config $config, output_name $output_name, binary_name $binary_name and build_target $build_target..."
|
|
|
|
make clean distclean -C $pkgbase-rel-$pkgver
|
|
|
|
cp -v $config $pkgbase-rel-$pkgver/.config
|
|
# NOTE: refer to $pkgbase-rel-$pkgver/src/config.h for explanation of debug levels
|
|
echo "CONFIG_DEBUG_LEVEL=$_debug_level" >> $pkgbase-rel-$pkgver/.config
|
|
make oldnoconfig V=1 -C $pkgbase-rel-$pkgver
|
|
|
|
make -C $pkgbase-rel-$pkgver V=1 EXTRAVERSION=-$pkgrel PYTHON=python3 $build_target
|
|
|
|
cp $pkgbase-rel-$pkgver/out/$output_name output/$binary_name
|
|
}
|
|
|
|
prepare() {
|
|
mkdir -vp output
|
|
echo "Arch Linux $pkgver-$pkgrel" > $pkgbase-rel-$pkgver/.version
|
|
}
|
|
|
|
build() {
|
|
local -A _build_args=(
|
|
[config.coreboot]="bios.bin.elf bios-coreboot.bin"
|
|
[config.csm]="Csm16.bin bios-csm.bin"
|
|
[config.seabios-128k]="bios.bin bios.bin"
|
|
[config.seabios-256k]="bios.bin bios-256k.bin"
|
|
[config.seabios-microvm]="bios.bin bios-microvm.bin"
|
|
[config.vga-ati]="vgabios.bin vgabios-ati.bin out/vgabios.bin"
|
|
[config.vga-bochs-display]="vgabios.bin vgabios-bochs-display.bin out/vgabios.bin"
|
|
[config.vga-cirrus]="vgabios.bin vgabios-cirrus.bin out/vgabios.bin"
|
|
[config.vga-isavga]="vgabios.bin vgabios-isavga.bin out/vgabios.bin"
|
|
[config.vga-qxl]="vgabios.bin vgabios-qxl.bin out/vgabios.bin"
|
|
[config.vga-ramfb]="vgabios.bin vgabios-ramfb.bin out/vgabios.bin"
|
|
[config.vga-stdvga]="vgabios.bin vgabios-stdvga.bin out/vgabios.bin"
|
|
[config.vga-virtio]="vgabios.bin vgabios-virtio.bin out/vgabios.bin"
|
|
[config.vga-vmware]="vgabios.bin vgabios-vmware.bin out/vgabios.bin"
|
|
)
|
|
local _config _config_array
|
|
|
|
for _config in "${source[@]}"; do
|
|
if [[ $_config == config.* ]]; then
|
|
read -ra _config_array <<< "${_build_args[$_config]}"
|
|
_build_bios $_config "${_config_array[@]}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
package_seabios() {
|
|
optdepends=('seabios-docs: for documentation')
|
|
|
|
install -vDm 644 output/*.bin -t "$pkgdir/usr/share/qemu/"
|
|
install -vDm 644 $pkgbase-rel-$pkgver/README -t "$pkgdir/usr/share/doc/$pkgbase/"
|
|
}
|
|
|
|
#package_seabios-docs() {
|
|
# pkgdesc+=" - documentation"
|
|
#
|
|
# install -vDm 644 $pkgbase-rel-$pkgver/docs/*.md -t "$pkgdir/usr/share/doc/$pkgbase/"
|
|
#}
|
|
|
|
#---- arch license gpg-key & sha256sums ----
|
|
|
|
arch=(x86_64)
|
|
|
|
#license=(GPL-3.0 LGPL-3.0)
|
|
license=(
|
|
'CPL-1.0 OR LGPL-2.0-only'
|
|
GPL-2.0-only
|
|
GPL-2.0-or-later
|
|
LGPL-2.0-only
|
|
LGPL-3.0-only
|
|
)
|
|
|
|
sha256sums=(1c1742a315b0c2fefa9390c8a50e2ac1a6f4806e0715aece6595eaf4477fcd8a # seabios-1.16.3.tar.gz
|
|
562c285883d803b415fc5836367ae919ab34a6d09001a84970f464887a03fe2c # config.coreboot
|
|
a046a73392f449f106de918a82c51c99225212d9d253b9011475d0eaa41e6180 # config.csm
|
|
98953bccd77b982be1149562dbb5b1551b2e241cf262e26a73abf8436c0e841f # config.seabios-128k
|
|
ae24be1993d21b62683b9b274e9f219c705c0d0106816362ae5250cbc92e18b4 # config.seabios-256k
|
|
f359c2ed0abea13c3bb517d4986ac1265fd50b5e58b83a704938adc91916e87c # config.seabios-microvm
|
|
eb500b7fd1e13d8cec76be21a5dbf30e7cb98682e9f0fa87dad41d844c44e5ec # config.vga-ati
|
|
31a303efb67f0aa9d79ec8cad5a32b7c6b72d4fa8227110a0e85b37fc39a6804 # config.vga-bochs-display
|
|
888ad874052d301981a8cc6fa4bc72b1edd14ba937e7de113f71ce3fd2f8c253 # config.vga-cirrus
|
|
5826ec704d4e4bb57089e0cbb72e7e5ccd31b7192d81084665cd4faeecb60b04 # config.vga-isavga
|
|
26e43ea5e98615d11573b2619f3fb3c1933d5f810e6a2c44218d99465cc3ae77 # config.vga-qxl
|
|
66bec6516e41c3601af1e86d1d78410574f1fb694de509a91b55050a80f7400a # config.vga-ramfb
|
|
ca7367ae57665fa01e0ebb741ba5823d646f4b65a9a87657ea163cc9f362a8a8 # config.vga-stdvga
|
|
afa7d59e1c18ed770cf0e83e3d5dc70866f75fdde83064fbea6e115f79504066 # config.vga-virtio
|
|
1bd31f16dd43fb25aa92f9816cbfaae4a19a8faf29ff52bd02429fbaafb78f57) # config.vga-vmware
|
|
|
|
## 1cdb683c7d9fd609ba09f6bd8fef8ad1de3d44532678f309dd5aaacae3b1fc03 seabios-1.16.3-01-x86_64.pkg.tar.lz
|
|
|