dev-python/lief - 0.15.1 (tatsh-overlay)

Search

Install

Install this version:

emerge -a =dev-python/lief-0.15.1

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =dev-python/lief-0.15.1

Or alternatively:

emerge --autounmask-write -a =dev-python/lief-0.15.1

Package Information

Description:
Library to instrument ELF, PE and Mach-O executable formats.
Homepage:
https://lief.re https://github.com/lief-project/LIEF
License:
Apache-2.0

Ebuild Details

Version EAPI Keywords Slot
0.15.1 8 ~amd64 0
View Raw Ebuild
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=standalone
PYTHON_COMPAT=( python3_{10..15} )

inherit distutils-r1 flag-o-matic

MY_PN="LIEF"

DESCRIPTION="Library to instrument ELF, PE and Mach-O executable formats."
HOMEPAGE="https://lief.re https://github.com/lief-project/LIEF"
# There is no sdist on PyPI for this series, only wheels. The source tree
# bundles every third party dependency under third-party/ as a zip, including
# nanobind, so nothing is fetched at build time.
SRC_URI="https://github.com/lief-project/${MY_PN}/archive/refs/tags/${PV}.tar.gz
	-> ${P}.gh.tar.gz"
S="${WORKDIR}/${MY_PN}-${PV}/api/python"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"

# The bundled backend declares no build requirements in pyproject.toml; these
# are what api/python/build-requirements.txt actually lists. tomli is only
# needed where tomllib is not yet in the standard library.
# shellcheck disable=SC2016
BDEPEND="
	$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' python3_10)
	dev-build/cmake
	dev-python/pathspec[${PYTHON_USEDEP}]
	dev-python/pydantic[${PYTHON_USEDEP}]
	dev-python/scikit-build-core[${PYTHON_USEDEP}]
	dev-python/setuptools[${PYTHON_USEDEP}]
	dev-python/wheel[${PYTHON_USEDEP}]
"

# The test suite downloads a large corpus of sample binaries.
RESTRICT="test"

PATCHES=(
	"${FILESDIR}/${P}-scikit-build-core-targets.patch"
	"${FILESDIR}/${P}-no-self-strip.patch"
)

src_configure() {
	# nanobind's type_caster and tuple templates violate the ODR across
	# translation units, which LTO reports as -Wodr.
	filter-lto

	# LIEF uses the fixed-width integer types in 321 headers and sources that
	# never include <cstdint>, relying on it arriving transitively. GCC 16 no
	# longer provides it that way. Forcing it in is one flag rather than a
	# patch touching a third of the tree.
	append-cxxflags -include cstdint

	distutils-r1_src_configure
}

Inherited Eclasses

Dependencies

BDEPEND

	$(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' python3_10)
	dev-build/cmake
	dev-python/pathspec[${PYTHON_USEDEP}]
	dev-python/pydantic[${PYTHON_USEDEP}]
	dev-python/scikit-build-core[${PYTHON_USEDEP}]
	dev-python/setuptools[${PYTHON_USEDEP}]
	dev-python/wheel[${PYTHON_USEDEP}]

Manifest for 0.15.1

Type File Size Source URLs
DIST lief-0.15.1.gh.tar.gz 13503234 bytes https://github.com/lief-project/LIEF/archive/refs/tags/0.15.1.tar.gz