diff --git a/srcpkgs/fwupd-efi/patches/cc-as-ld.patch b/srcpkgs/fwupd-efi/patches/cc-as-ld.patch deleted file mode 100644 index 67092dd0fb6..00000000000 --- a/srcpkgs/fwupd-efi/patches/cc-as-ld.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- a/meson.build -+++ b/meson.build -@@ -9,7 +9,6 @@ - conf.set_quoted('PACKAGE_VERSION', meson.project_version()) - - cc = meson.get_compiler('c') --ld = cc.get_linker_id() - objcopy = find_program('objcopy') - objcopy_version = run_command(objcopy, '--version').stdout().split('\n')[0].split(' ')[-1] - ---- a/efi/generate_binary.py -+++ b/efi/generate_binary.py -@@ -29,9 +29,9 @@ - "-j", - ".rodata", - "-j", -+ ".areloc", -+ "-j", - ".rel*", -- "--section-alignment", -- "512", - args.infile, - args.outfile, - ] ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -72,6 +72,11 @@ - coff_header_in_crt0 = false - endif - -+# For NX compat, we must ensure we have .note.GNU-stack -+if run_command('grep', '-q', '.note.GNU-stack', join_paths(efi_crtdir, arch_crt), check: false).returncode() != 0 -+ error('Cannot find NX section in @0@, update to gnu-efi 3.0.15+'.format(join_paths(efi_crtdir, arch_crt))) -+endif -+ - # older objcopy for Aarch64 and ARM32 are not EFI capable. - # Use 'binary' instead, and add required symbols manually. - if host_cpu == 'arm' or (host_cpu == 'aarch64' and (objcopy_version.version_compare ('< 2.38') or coff_header_in_crt0)) -@@ -95,7 +100,6 @@ - # is the system crt0 for arm and aarch64 new enough to know about SBAT? - if objcopy_manualsymbols - if get_option('efi_sbat_distro_id') != '' -- arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) - cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) - if cmd.returncode() != 0 - warning('Cannot find SBAT section in @0@, using local copy'.format(join_paths(efi_crtdir, arch_crt))) -@@ -163,6 +167,12 @@ - '-L', efi_libdir, - join_paths(efi_crtdir, arch_crt)] - -+if host_cpu == 'aarch64' -+# Don't use 64KiB pages -+ efi_ldflags += ['-z', 'common-page-size=4096'] -+ efi_ldflags += ['-z', 'max-page-size=4096'] -+endif -+ - if objcopy_manualsymbols - # older objcopy for Aarch64 and ARM32 are not EFI capable. - # Use 'binary' instead, and add required symbols manually. -@@ -223,11 +233,16 @@ - fwupd_so_deps += [o_crt0] - endif - -+efi_cc_ldflags = [] -+foreach flag : efi_ldflags -+ efi_cc_ldflags += ['-Wl,' + flag] -+endforeach -+ - so = custom_target('fwup.so', - input : [o_file1, o_file2, o_file3, o_file4, o_file5], - output : 'fwup.so', -- command : [ld, '-o', '@OUTPUT@'] + -- efi_ldflags + ['@INPUT@'] + -+ command : [cc.cmd_array(), '-nostdlib', '-o', '@OUTPUT@'] + -+ efi_cc_ldflags + ['@INPUT@'] + - ['-lefi', '-lgnuefi', libgcc_file_name], - depends: fwupd_so_deps) - diff --git a/srcpkgs/fwupd-efi/template b/srcpkgs/fwupd-efi/template index 2d811f6165f..75a40c82847 100644 --- a/srcpkgs/fwupd-efi/template +++ b/srcpkgs/fwupd-efi/template @@ -1,6 +1,6 @@ # Template file for 'fwupd-efi' pkgname=fwupd-efi -version=1.4 +version=1.7 revision=1 archs="x86_64* i686* arm* aarch64*" build_style=meson @@ -8,11 +8,11 @@ build_helper="gir" configure_args="-Defi-includedir=${XBPS_CROSS_BASE}/usr/include/efi -Defi-ldsdir=${XBPS_CROSS_BASE}/usr/lib -Defi-libdir=${XBPS_CROSS_BASE}/usr/lib" -hostmakedepends="efivar python3-pefile" +hostmakedepends="efivar python3-pefile cmake pkg-config" makedepends="libefivar-devel gnu-efi-libs" short_desc="EFI Application used by uefi-capsule plugin in fwupd" -maintainer="dkwo " +maintainer="Orphaned " license="LGPL-2.1-or-later" homepage="https://github.com/fwupd/fwupd-efi" distfiles="https://github.com/fwupd/fwupd-efi/archive/refs/tags/${version}.tar.gz" -checksum=b1f5fe72e16d4e2f4c616da416dc93bd79331057336208465da37bafe8f8f83d +checksum=96d4fc45467159b2664ce86ee7d5030e265fdb4d4a4d774080654d2f5b1561ff