aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Froehlich <decke@FreeBSD.org>2025-10-15 19:56:51 +0000
committerBernhard Froehlich <decke@FreeBSD.org>2025-10-15 20:02:28 +0000
commited0cfc4593f2bb83701261f845614fd4692e4d2a (patch)
tree404064d3c021c829487e5595dc452d9a60115a09
parentb89186020bcaa5df933da334f3d0a976592bf808 (diff)
sysutils/fwupd-efi: EFI Application used by uefi-capsule plugin in fwupd
This port was initially submitted as part of D29332 by Norbert Kaminski <norbert.kaminski@3mdeb.com>. Thanks a lot for the initial port and all the work involved! Differential Revision: https://reviews.freebsd.org/D29332
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/fwupd-efi/Makefile39
-rw-r--r--sysutils/fwupd-efi/distinfo3
-rw-r--r--sysutils/fwupd-efi/files/patch-meson.build11
-rw-r--r--sysutils/fwupd-efi/pkg-descr4
5 files changed, 58 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 67a7d9cb0002..af03c4c01639 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -432,6 +432,7 @@
SUBDIR += ftwin
SUBDIR += fvcool
SUBDIR += fwup
+ SUBDIR += fwupd-efi
SUBDIR += fx
SUBDIR += g15daemon
SUBDIR += gaffitter
diff --git a/sysutils/fwupd-efi/Makefile b/sysutils/fwupd-efi/Makefile
new file mode 100644
index 000000000000..df74e60c5f9c
--- /dev/null
+++ b/sysutils/fwupd-efi/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= fwupd-efi
+DISTVERSION= 1.8
+CATEGORIES= sysutils
+
+MAINTAINER= decke@FreeBSD.org
+COMMENT= EFI Application used by uefi-capsule plugin in fwupd
+WWW= https://fwupd.org/
+
+LICENSE= LGPL21
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/libgnuefi.a:devel/gnu-efi \
+ ${PYTHON_PKGNAMEPREFIX}pefile>0:devel/py-pefile@${PY_FLAVOR}
+
+USES= meson pkgconfig python shebangfix
+USE_GITHUB= yes
+GH_ACCOUNT= fwupd
+
+USE_GCC= yes
+SHEBANG_GLOB= *.py
+
+MESON_ARGS= -Defi-includedir=${LOCALBASE}/include/efi \
+ -Defi-ldsdir=${LOCALBASE}/lib \
+ -Dgenpeimg=disabled \
+ -Dpython=${PYTHON_CMD}
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == amd64
+FW_ARCH="x64"
+.elif ${ARCH} == i386
+FW_ARCH="ia32"
+.else
+FW_ARCH=${ARCH}
+.endif
+
+PLIST_FILES= libdata/pkgconfig/fwupd-efi.pc \
+ libexec/fwupd/efi/fwupd${FW_ARCH}.efi
+
+.include <bsd.port.post.mk>
diff --git a/sysutils/fwupd-efi/distinfo b/sysutils/fwupd-efi/distinfo
new file mode 100644
index 000000000000..307bb0349680
--- /dev/null
+++ b/sysutils/fwupd-efi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760186942
+SHA256 (fwupd-fwupd-efi-1.8_GH0.tar.gz) = c9f1f9b9b967ea50eb0b478f0d7693d6673d4cd76c8e7eb80c55fc44ec928925
+SIZE (fwupd-fwupd-efi-1.8_GH0.tar.gz) = 46198
diff --git a/sysutils/fwupd-efi/files/patch-meson.build b/sysutils/fwupd-efi/files/patch-meson.build
new file mode 100644
index 000000000000..a84f42b30ed0
--- /dev/null
+++ b/sysutils/fwupd-efi/files/patch-meson.build
@@ -0,0 +1,11 @@
+--- meson.build.orig 2025-10-03 09:14:22 UTC
++++ meson.build
+@@ -10,7 +10,7 @@ cc_ld = find_program(cc.get_linker_id())
+
+ cc = meson.get_compiler('c')
+ cc_ld = find_program(cc.get_linker_id())
+-objcopy = find_program('objcopy')
++objcopy = find_program('/usr/local/bin/objcopy')
+ objcopy_version = run_command(objcopy, '--version', check: true).stdout().split('\n')[0].split(' ')[-1]
+
+ gnuefi = dependency('gnu-efi', version: '>= 3.0.18')
diff --git a/sysutils/fwupd-efi/pkg-descr b/sysutils/fwupd-efi/pkg-descr
new file mode 100644
index 000000000000..7b7b3dcd77f8
--- /dev/null
+++ b/sysutils/fwupd-efi/pkg-descr
@@ -0,0 +1,4 @@
+EFI executable for fwupd
+
+This is part of fwupd and provides a UEFI binary for installing updates using
+the UpdateCapsule runtime service.