New package: systemd-boot-efistub-255.3

This commit is contained in:
classabbyamp 2023-03-08 19:24:00 -05:00 committed by classabbyamp
parent 4a884e3457
commit 8a35ad0eab
3 changed files with 141 additions and 0 deletions

View file

@ -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 <stddef.h>
-
#if SD_BOOT
# include "efi-string.h"
#else
+# include <stddef.h>
# include <string.h>
#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 <ctype.h>
#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 <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
@@ -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);

View file

@ -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 <void@placeviolette.net>"
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
}
}

1
srcpkgs/ukify Symbolic link
View file

@ -0,0 +1 @@
systemd-boot-efistub