diff mbox series

[meta-python,2/2] python3-lief: Upgrade 0.17.3 -> 1.0.0

Message ID 20260717130435.849145-2-leon.anavi@konsulko.com
State Under Review
Headers show
Series [meta-python,1/2] python3-scikit-build-core: Upgrade 0.12.2 -> 1.0.3 | expand

Commit Message

Leon Anavi July 17, 2026, 1:04 p.m. UTC
Upgrade to release 1.0.0:

- Add Android JNI Analyzer
- The DWARF import plugin now supports comments
- Add support for generating DWARF from firmware or binaries
  without a precise format or architecture
- Add support for accessing the bit size of bit-field declarations
- Add support for accessing Enum entries:
  lief.dwarf.types.Enum.entries()
- Add support for reading from or assigning a register to a function
  parameter
- Add support for reading from or assigning a description
  (DW_AT_description) to a lief.dwarf.Function, lief.dwarf.Variable,
  or lief.dwarf.LexicalBlock:
  lief.dwarf.Function.description()
  lief.dwarf.Variable.description()
  lief.dwarf.LexicalBlock.description()
- Enable the creation of nested lief.dwarf.editor.Function.LexicalBlock
- Add support for generating a C/C++ definition for a whole
  lief.dwarf.CompilationUnit ( lief.dwarf.CompilationUnit.to_decl()).
  The output of the following to_decl() functions can now be
  configured through the new lief.DeclOpt structure:
  lief.dwarf.Function.to_decl()
  lief.dwarf.Variable.to_decl()
  lief.dwarf.Type.to_decl()
  lief.dwarf.CompilationUnit.to_decl()
- Improve support and the API for LF_ENUM: lief.pdb.types.Enum
- Improve support and the API for LF_PROCEDURE: lief.pdb.types.Function
- Improve support and the API for LF_ARRAY: lief.pdb.types.Array
- Improve support and the API for simple types: lief.pdb.types.Simple
- Improve support and the API for LF_ONEMETHOD: lief.pdb.types.Method
- Add support for generating a C/C++ definition for a lief.pdb.Function
  ( lief.pdb.Function.to_decl()) and a lief.pdb.CompilationUnit
  ( lief.pdb.CompilationUnit.to_decl()), configurable with the new
  lief.DeclOpt structure.
- Add support for DT_AUXILIARY tag: lief.ELF.DynamicEntryAuxiliary
- Add support for DT_FILTER tag: lief.ELF.DynamicEntryFilter
- Add lief.ELF.parse_from_dump() to parse an ELF binary from a
  memory dump
- Add lief.COFF.Section.coff_string for accessing the full section
  name when this name does not fit in 8 bytes.
- Add support for writing big-endian Mach-O binaries
- Introduce an API for selecting a specific Mach-O binary by
  architecture from a FAT binary
- Add lief.MachO.FatBinary.create() to create a FAT binary from a
  list of lief.MachO.Binary objects targeting different architectures
- Add support for lief.MachO.ThreadLocalVariables
- Fix an extra byte being written after the thread state of an
  LC_UNIXTHREAD/LC_THREAD command, which shifted the following load
  commands by one byte
- Add support for editing the runtime tables of the
  LC_FUNCTION_VARIANTS command and committing the changes on write:
  lief.MachO.FunctionVariants
- Add a structured parser, editing API and writer for the
  LC_FUNCTION_VARIANT_FIXUPS command:
  lief.MachO.FunctionVariantFixups
- Add support for the LC_LAZY_LOAD_DYLIB_INFO command:
  lief.MachO.LazyLoadDylibInfo
- Add lief.MachO.parse_from_dump() to parse a Mach-O binary from a
  memory dump
- Add setters for lief.PE.ImportEntry.iat_value and
  lief.PE.ImportEntry.ilt_value
- Add lief.PE.Binary.offset_to_rva() to convert a raw offset into a RVA
- Add lief.PE.parse_from_dump() to parse a PE binary from a memory dump
- Update lief.Binary.offset_to_virtual_address() for PE binaries
  to return an absolute virtual address instead of a RVA
- Add support for adding an lief.PE.Import at a specific position:
  lief.PE.Binary.add_import()
- Improve support for EFI binaries, such as bzImage
- Add support for Objective-C categories: lief.ObjC.Category,
  accessible through lief.ObjC.Metadata.categories
- Add support for iterating over the operands of MIPS, PowerPC,
  eBPF and RISC-V instructions (Register, Immediate, Memory and
  PCRelative):
  lief.assembly.mips.Instruction.operands()
  lief.assembly.powerpc.Instruction.operands()
  lief.assembly.ebpf.Instruction.operands()
  lief.assembly.riscv.Instruction.operands()
- The Rust FFI no longer relies on autocxx and bindgen. It is now
  built on top of plain cxx, which simplifies the bindings and
  reduces the iteration time
- The Rust bindings directory has been renamed from api/rust/cargo/
  to api/rust/crates/
- Add support for the aarch64-linux-android and x86_64-linux-android
  targets
- Add LIEF_LIFETIMEBOUND annotations wrapping [[clang::lifetimebound]]
  to leverage Clang's lifetime analysis. This helps detect dangling
  references at compile time for methods that return references or
  iterators tied to an object's lifetime

This work was sponsored by GOVCERT.LU.

License-Update: Update years

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
 ...equirements.txt-Allow-newer-versions.patch | 28 +++++++++----------
 ...3-lief_0.17.3.bb => python3-lief_1.0.0.bb} |  6 ++--
 2 files changed, 17 insertions(+), 17 deletions(-)
 rename meta-python/recipes-devtools/python/{python3-lief_0.17.3.bb => python3-lief_1.0.0.bb} (85%)
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-lief/0001-build-requirements.txt-Allow-newer-versions.patch b/meta-python/recipes-devtools/python/python3-lief/0001-build-requirements.txt-Allow-newer-versions.patch
index 9c61f0bdee..114034a6a9 100644
--- a/meta-python/recipes-devtools/python/python3-lief/0001-build-requirements.txt-Allow-newer-versions.patch
+++ b/meta-python/recipes-devtools/python/python3-lief/0001-build-requirements.txt-Allow-newer-versions.patch
@@ -15,20 +15,20 @@  Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
 --- a/api/python/build-requirements.txt
 +++ b/api/python/build-requirements.txt
 @@ -1,10 +1,10 @@
--tomli==2.2.1
--scikit-build-core==0.11.1
-+tomli>=2.2.1
-+scikit-build-core>=0.11.1
+-tomli==2.4.1
+-scikit-build-core==1.0.3
++tomli>=2.4.1
++scikit-build-core>=1.0.3
  # For Ninja: msvc.msvc14_get_vc_env
--setuptools==70.2.0
-+setuptools>=70.2.0
+-setuptools==83.0.0
++setuptools>=83.0.0
  # For the "env" feature
--pydantic==2.11.3
-+pydantic>=2.11.3
+-pydantic==2.13.4
++pydantic>=2.13.4
  # Implicit from scikit-build-core
--pathspec==0.12.1
--build==1.2.1
--wheel==0.45.1
-+pathspec>=0.12.1
-+build>=1.2.1
-+wheel>=0.45.1
+-pathspec==1.1.1
+-build==1.5.1
+-wheel==0.47.0
++pathspec>=1.1.1
++build>=1.5.1
++wheel>=0.47.0
diff --git a/meta-python/recipes-devtools/python/python3-lief_0.17.3.bb b/meta-python/recipes-devtools/python/python3-lief_1.0.0.bb
similarity index 85%
rename from meta-python/recipes-devtools/python/python3-lief_0.17.3.bb
rename to meta-python/recipes-devtools/python/python3-lief_1.0.0.bb
index fe954e1b32..e6f155d5f3 100644
--- a/meta-python/recipes-devtools/python/python3-lief_0.17.3.bb
+++ b/meta-python/recipes-devtools/python/python3-lief_1.0.0.bb
@@ -2,12 +2,12 @@  SUMMARY = "Library to instrument executable formats"
 DESCRIPTION = "LIEF: Library to Instrument Executable Formats"
 HOMEPAGE = "https://github.com/lief-project/LIEF"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9ab5db472ff936b441055522f5000547"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c43f89548372352eb04f30367ec7a0f3"
 SECTION = "libs"
 
-SRCREV = "03aca30b53db2f336b36f90843061bb3f840ff5a"
+SRCREV = "d05b3499b6934137e917c009a4df0a9dc8cb11c5"
 SRC_URI = " \
-    git://github.com/lief-project/LIEF.git;protocol=https;branch=release/0.17.x;tag=${PV} \
+    git://github.com/lief-project/LIEF.git;protocol=https;branch=main;tag=${PV} \
     file://0001-build-requirements.txt-Allow-newer-versions.patch \
     file://0002-api-python-config-default.toml-Debug.patch \
 "