From ac8a79e46ebd5993f0b52b670d3a348c299892ad Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Wed, 8 Mar 2023 19:24:00 -0500 Subject: [PATCH] New package: systemd-boot-efistub-255.3 --- .../patches/musl-wchar_t.patch | 62 +++++++++++++++ srcpkgs/systemd-boot-efistub/template | 78 +++++++++++++++++++ srcpkgs/ukify | 1 + 3 files changed, 141 insertions(+) create mode 100644 srcpkgs/systemd-boot-efistub/patches/musl-wchar_t.patch create mode 100644 srcpkgs/systemd-boot-efistub/template create mode 120000 srcpkgs/ukify diff --git a/srcpkgs/systemd-boot-efistub/patches/musl-wchar_t.patch b/srcpkgs/systemd-boot-efistub/patches/musl-wchar_t.patch new file mode 100644 index 0000000000000..5c8e58a20b1f2 --- /dev/null +++ b/srcpkgs/systemd-boot-efistub/patches/musl-wchar_t.patch @@ -0,0 +1,62 @@ +diff --git a/src/fundamental/memory-util-fundamental.h b/src/fundamental/memory-util-fundamental.h +index 78e2dbe..561e05f 100644 +--- a/src/fundamental/memory-util-fundamental.h ++++ b/src/fundamental/memory-util-fundamental.h +@@ -1,11 +1,10 @@ + /* SPDX-License-Identifier: LGPL-2.1-or-later */ + #pragma once + +-#include +- + #if SD_BOOT + # include "efi-string.h" + #else ++# include + # include + #endif + +diff --git a/src/fundamental/string-util-fundamental.c b/src/fundamental/string-util-fundamental.c +index a5bafc6..0d7c08a 100644 +--- a/src/fundamental/string-util-fundamental.c ++++ b/src/fundamental/string-util-fundamental.c +@@ -4,8 +4,8 @@ + # include + #endif + +-#include "macro-fundamental.h" + #include "string-util-fundamental.h" ++#include "macro-fundamental.h" + + sd_char *startswith(const sd_char *s, const sd_char *prefix) { + size_t l; +diff --git a/src/boot/efi/efi.h b/src/boot/efi/efi.h +index 5c34668..50fca66 100644 +--- a/src/boot/efi/efi.h ++++ b/src/boot/efi/efi.h +@@ -1,6 +1,14 @@ + /* SPDX-License-Identifier: LGPL-2.1-or-later */ + #pragma once + ++#if SD_BOOT ++#define __DEFINED_wchar_t ++/* uchar.h/wchar.h are not suitable for freestanding environments. */ ++typedef __WCHAR_TYPE__ wchar_t; ++typedef __CHAR16_TYPE__ char16_t; ++typedef __CHAR32_TYPE__ char32_t; ++#endif ++ + #include + #include + #include +@@ -9,11 +17,6 @@ + #include "macro-fundamental.h" + + #if SD_BOOT +-/* uchar.h/wchar.h are not suitable for freestanding environments. */ +-typedef __WCHAR_TYPE__ wchar_t; +-typedef __CHAR16_TYPE__ char16_t; +-typedef __CHAR32_TYPE__ char32_t; +- + /* Let's be paranoid and do some sanity checks. */ + assert_cc(__STDC_HOSTED__ == 0); + assert_cc(sizeof(bool) == 1); diff --git a/srcpkgs/systemd-boot-efistub/template b/srcpkgs/systemd-boot-efistub/template new file mode 100644 index 0000000000000..a6d66172c09fb --- /dev/null +++ b/srcpkgs/systemd-boot-efistub/template @@ -0,0 +1,78 @@ +# Template file for 'systemd-boot-efistub' +pkgname=systemd-boot-efistub +version=255.3 +revision=1 +build_style=meson +configure_args="-Defi=true -Dman=enabled -Dbootloader=enabled + -Dsbat-distro=void -Dsbat-distro-summary=Void -Dsbat-distro-pkgname=${pkgname} + -Dsbat-distro-version="${version}_${revision}" + -Dsbat-distro-url=https://github.com/void-linux/void-packages/issues + + -Dacl=disabled -Dkmod=disabled -Dselinux=disabled -Dsysusers=false -Dtmpfiles=false + -Dadm-group=false -Danalyze=false -Dapparmor=disabled -Daudit=disabled + -Dbacklight=false -Dbinfmt=false -Dbpf-framework=disabled -Dbzip2=disabled + -Dcoredump=false -Ddbus=disabled -Delfutils=disabled -Denvironment-d=false + -Dfdisk=disabled -Dgcrypt=disabled -Dglib=disabled -Dgshadow=false -Dgnutls=disabled + -Dhibernate=false -Dhostnamed=false -Didn=false -Dima=false -Dinitrd=false + -Dfirstboot=false -Dldconfig=false -Dlibcryptsetup=disabled -Dlibcurl=disabled + -Dlibfido2=disabled -Dlibidn=disabled -Dlibidn2=disabled -Dlibiptc=disabled -Dlocaled=false + -Dlogind=false -Dlz4=disabled -Dmachined=false -Dmicrohttpd=disabled -Dnetworkd=false + -Dnscd=false -Dnss-myhostname=false -Dnss-resolve=disabled -Dnss-systemd=false + -Doomd=false -Dopenssl=disabled -Dp11kit=disabled -Dpam=disabled -Dpcre2=disabled + -Dpolkit=disabled -Dportabled=false -Dpstore=false -Dpwquality=disabled + -Drandomseed=false -Dresolve=false -Drfkill=false -Dseccomp=disabled -Dsmack=false + -Dsysext=false -Dtimedated=false -Dtimesyncd=false -Dtpm=false -Dqrencode=disabled + -Dquotacheck=false -Duserdb=false -Dutmp=false -Dvconsole=false -Dwheel-group=false + -Dxdg-autostart=false -Dxkbcommon=disabled -Dxz=disabled -Dzlib=disabled -Dzstd=disabled + -Dtests=false -Dkernel-install=false -Dlink-boot-shared=false -Dstandalone-binaries=true" +# most of these aren't needed for what we're building but it's easier than patching +hostmakedepends="pkg-config gperf python3-Jinja2 python3-pyelftools libxslt docbook-xsl" +makedepends="libcap-devel libmount-devel" +short_desc="UEFI stub loader from systemd-boot" +maintainer="classabbyamp " +license="LGPL-2.1-or-later" +homepage="https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/" +distfiles="https://github.com/systemd/systemd-stable/archive/refs/tags/v${version}.tar.gz" +checksum=27807c65f969d0e0e44629dee8379e1e2c30e6c5e84be0389438c4ab1b225000 +make_check=no # missing printf.h + +if [ "${XBPS_TARGET_LIBC}" = glibc ]; then + makedepends+=" libxcrypt-devel" +fi + +case "${XBPS_TARGET_MACHINE}" in + x86_64*) _efi_arch="x64" ;; + i686*) _efi_arch="ia32" ;; + aarch64*) _efi_arch="aa64" ;; + arm*) _efi_arch="arm" ;; + riscv64*) _efi_arch="riscv64" ;; + *) broken="unknown efi architecture" ;; +esac + +_bins=(ukify) +_mans=(man/ukify.1 man/systemd-stub.7) +_efis=("src/boot/efi/linux${_efi_arch}.efi.stub") +make_build_target="${_bins[*]} ${_mans[*]} ${_efis[*]}" + +do_install() { + for b in "${_bins[@]}"; do + vbin "build/$b" + done + + for m in build/man/*.[0-9]; do + vman "$m" + done + + for e in "${_efis[@]}"; do + vinstall "build/$e" 644 usr/lib/systemd/boot/efi + done +} + +ukify_package() { + short_desc="Unified Kernel Image creation tool from systemd-boot" + depends="python3-pefile" + pkg_install() { + vmove usr/bin/ukify + vmove usr/share/man/man1/ukify.1 + } +} diff --git a/srcpkgs/ukify b/srcpkgs/ukify new file mode 120000 index 0000000000000..9258199038ee7 --- /dev/null +++ b/srcpkgs/ukify @@ -0,0 +1 @@ +systemd-boot-efistub \ No newline at end of file