diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-09-11 12:30:55 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-09-11 12:30:55 +0100 |
commit | 65a36438d5b824f80023c282dadc3fcd5736b526 (patch) | |
tree | 12aedb23736e7cceba662d217cdd7f0f2a2662ba /sys-firmware/seabios | |
parent | add278b9601ff9e4af091c91c851ee46a185be8f (diff) |
gentoo auto-resync : 11:09:2024 - 12:30:54
Diffstat (limited to 'sys-firmware/seabios')
-rw-r--r-- | sys-firmware/seabios/Manifest | 2 | ||||
-rw-r--r-- | sys-firmware/seabios/seabios-1.16.3.ebuild | 138 |
2 files changed, 140 insertions, 0 deletions
diff --git a/sys-firmware/seabios/Manifest b/sys-firmware/seabios/Manifest index fea31a182b1f..6985de9123f3 100644 --- a/sys-firmware/seabios/Manifest +++ b/sys-firmware/seabios/Manifest @@ -10,6 +10,8 @@ AUX seavgabios/config.vga-vmware 128 BLAKE2B 8ab374ee7b0ad5cd8f732ccc4983f2251a8 DIST seabios-1.14.0-r2-bin.tar.xz 132256 BLAKE2B 7d38949de254d6e3699d463a66c363156aa36bfe16c18bea48c55a61bdc423184175fd5427d3246a78d9c6335e61e5baa982f67e7406c5525e405b4383530d41 SHA512 5ce0e407b97e878842fbd7ad2f9e8a65f2565a5aa43d08e01cff024352780f55f8669958c58d20770db7f90e87cc52c860af831cefe3846227e7b45cd9dc33ee DIST seabios-1.14.0.tar.gz 628985 BLAKE2B cc1126925dab1551a655680d20d06ebf28c12c386500d1ee4df9e1a99403b4c5bc6a66c2cc5ef58b4c3d6d7226f35007506a6a1855c2cf2742469dcb7aba05bb SHA512 215c42f59425f8abd062be7b11fc0e39c977cee5001a2381551b0f851ac337d0dd53c065267e6dee0e710ffd700fa635f9007b89da8dfce0f47122c984ee8146 DIST seabios-1.16.0.tar.gz 635419 BLAKE2B b645f20bae341d56ce4fc4a7044446050d8490c6c136377f6dccf02c88100b0644bc13d210b4a517a8be6002d5671b0fba77120a2aca3a9bafbad5e88d037e40 SHA512 9daefcfb1c9edda4462a4b080c9bac552154d577ae19703a914928e43005e7a52edd86869c6507e94a7f0c61ce8b3e6f5dea38cd5146628cb138a130947c522f +DIST seabios-1.16.3.tar.gz 637076 BLAKE2B 8b7c574bf8b0d3b02ea3127dabacda5ddc39c159f17a3a474b76ca79f3ec637ed5571f0d485712b5f9dc68d46db5b2b2c1e018ff63ae0206ca6354bccb714c6c SHA512 103aac0a7a890a681edb8950fee72d419899e20e8b06e2dd382987f98d3faf362789fca5aa4efabe27c4720e53ee19e0ae246d7aca2482b6661fa119efac648c EBUILD seabios-1.14.0-r2.ebuild 4314 BLAKE2B 0f35981c962b29ae9c5a80457d8619c3475151a334296a557e9089d56d93c55b1edc5457526e9a5afd0f88c8317fad31cc34eff33ad5d58aa426ded3a66995c3 SHA512 75ca31a46284915179f7b27a5387901d481a253f188a3aa7703d80424f8f2d96d0e0a5493b80015c6db0c6273b021866c40388c63a4bc7101ce16c4b42c9918c EBUILD seabios-1.16.0.ebuild 3394 BLAKE2B 6971128e51ff846fb866d33274e90945edf2b10a54a48764f892d9da34d12776a89b75712fcffbd8672cdb313b9b37a34c41b651e18e3055b99c5a7a57a58cec SHA512 dfd3a3f34614e3e7b5ee0296a37121890a007e17c454873620d07cdf45f45151d613a02c86b5453b2f6aebb0b5e74293beb762fdf81a58100b016dabb2914843 +EBUILD seabios-1.16.3.ebuild 3198 BLAKE2B 0e08c7192cd27c5858a8ca58ac9b3fc85a31da71fff05262e4b8084d1f15cada01d54244b8729c7915b9f526418bb93eced4492a77da355111b3dcc8dff40d0f SHA512 30fb9415b1222c8f2a104dec56d3776589ee858a119c2cdadaf74643600d978ef0805413b5dffd25decdf0fdb8937b9492760f2a5106d2a5266ed87f549fb852 MISC metadata.xml 444 BLAKE2B 5e72f141a955b94c490c8b72fcca3f1761cb74bbe8fc5a5315a5082a97ef5a703bbac08c1b329bb1935e689bc57f3d5519b5fa19609a35cb99ef594eea8be8ad SHA512 f2f6d17a6d186c4e10689f7d1ce113383f7f8537e58e185f418f74f79b8f5d1c0be3ee9b2341ec134c1356ae3499a16bc3249fbcdfb12e7daabd7f2cdcc88b61 diff --git a/sys-firmware/seabios/seabios-1.16.3.ebuild b/sys-firmware/seabios/seabios-1.16.3.ebuild new file mode 100644 index 000000000000..801ae4507533 --- /dev/null +++ b/sys-firmware/seabios/seabios-1.16.3.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit toolchain-funcs python-any-r1 + +# SeaBIOS maintainers sometimes don't release stable tarballs or stable +# binaries to generate the stable tarball the following is necessary: +# git clone git://git.seabios.org/seabios.git && cd seabios +# git archive --output seabios-${PV}.tar.gz --prefix seabios-${PV}/ rel-${PV} + +if [[ ${PV} == *9999* || -n "${EGIT_COMMIT}" ]] ; then + EGIT_REPO_URI="git://git.seabios.org/seabios.git" + inherit git-r3 +else + SRC_URI="https://www.seabios.org/downloads/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm64 ~loong ~m68k ~mips ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="Open Source implementation of a 16-bit x86 BIOS" +HOMEPAGE="https://www.seabios.org/" + +LICENSE="LGPL-3 GPL-3" +SLOT="0" +IUSE="debug +seavgabios" + +BDEPEND=" + >=sys-power/iasl-20060912 + ${PYTHON_DEPS}" +RDEPEND="!sys-firmware/seabios-bin" + +choose_target_chost() { + if [[ -n "${CC}" ]]; then + ${CC} -dumpmachine + return + fi + + if use amd64 || use x86; then + # Use the native compiler + echo "${CHOST}" + return + fi + + local i + for i in x86_64 i686 i586 i486 i386 ; do + i=${i}-pc-linux-gnu + type -P ${i}-gcc > /dev/null && echo ${i} && return + done +} + +pkg_pretend() { + ewarn "You have decided to compile your own SeaBIOS. This may cause subtle" + ewarn "failures at runtime. Please try sys-firmware/seabios-bin before" + ewarn "requesting support from Gentoo or upstream." + + if [[ -z "$(choose_target_chost)" ]]; then + elog + eerror "Before you can compile ${PN}, you need to install a x86 cross-compiler" + eerror "Run the following commands:" + eerror " emerge crossdev" + eerror " crossdev --stable -t x86_64-pc-linux-gnu" + die "cross-compiler is needed" + fi +} + +src_prepare() { + default + + # Ensure precompiled iasl files are never used + find "${WORKDIR}" -name '*.hex' -delete || die +} + +src_configure() { + tc-ld-force-bfd #438058 + + if use debug ; then + echo "CONFIG_DEBUG_LEVEL=8" >.config + fi + _emake config +} + +_emake() { + LANG=C \ + emake V=1 \ + CPP="$(tc-getPROG CPP cpp)" \ + CC="$(tc-getCC)" \ + LD="$(tc-getLD)" \ + AR="$(tc-getAR)" \ + AS="$(tc-getAS)" \ + OBJCOPY="$(tc-getOBJCOPY)" \ + RANLIB="$(tc-getRANLIB)" \ + OBJDUMP="$(tc-getOBJDUMP)" \ + STRIP="$(tc-getSTRIP)" \ + HOST_CC="$(tc-getBUILD_CC)" \ + VERSION="Gentoo/${EGIT_COMMIT:-${PVR}}" \ + "$@" +} + +src_compile() { + local TARGET_CHOST=$(choose_target_chost) + + cp "${FILESDIR}/seabios/config.seabios-256k" .config || die + _emake oldnoconfig + CHOST="${TARGET_CHOST}" _emake iasl + CHOST="${TARGET_CHOST}" _emake out/bios.bin + mv out/bios.bin ../bios-256k.bin || die + + if use seavgabios ; then + local config t targets=( + cirrus + isavga + qxl + stdvga + virtio + vmware + ) + for t in "${targets[@]}" ; do + _emake clean distclean + cp "${FILESDIR}/seavgabios/config.vga-${t}" .config || die + _emake oldnoconfig + CHOST="${TARGET_CHOST}" _emake out/vgabios.bin + cp out/vgabios.bin ../vgabios-${t}.bin || die + done + fi +} + +src_install() { + insinto /usr/share/seabios + doins ../bios-256k.bin + + if use seavgabios ; then + insinto /usr/share/seavgabios + doins ../vgabios*.bin + fi +} |