* [gentoo-commits] proj/sci:master commit in: dev-libs/lief/
@ 2021-08-05 16:56 Andrew Ammerlaan
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Ammerlaan @ 2021-08-05 16:56 UTC (permalink / raw
To: gentoo-commits
commit: 9ae61825c1aa161fa88a9fd9bc198ff342e5b565
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 5 15:33:55 2021 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Aug 5 16:56:23 2021 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=9ae61825
dev-libs/lief: do not allow both python and abi_x86_32 to be set
python is not multilib yet
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
dev-libs/lief/lief-0.11.5.ebuild | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dev-libs/lief/lief-0.11.5.ebuild b/dev-libs/lief/lief-0.11.5.ebuild
index 7baaac001..519729525 100644
--- a/dev-libs/lief/lief-0.11.5.ebuild
+++ b/dev-libs/lief/lief-0.11.5.ebuild
@@ -22,8 +22,10 @@ SRC_URI="https://github.com/lief-project/LIEF/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+
+# Python is not multilib yet
IUSE="c examples +python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} !abi_x86_32 !abi_x86_x32 )"
# See "cmake/LIEFDependencies.cmake" for C and C++ dependencies.
BDEPEND="
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] proj/sci:master commit in: dev-libs/lief/
@ 2021-08-05 16:56 Andrew Ammerlaan
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Ammerlaan @ 2021-08-05 16:56 UTC (permalink / raw
To: gentoo-commits
commit: 30bdae3d98e94312a333d639812221912d4116d7
Author: leycec <leycec <AT> gmail <DOT> com>
AuthorDate: Tue Aug 3 04:40:24 2021 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Aug 5 16:56:17 2021 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=30bdae3d
dev-libs/lief: add
add LIEF, a mandatory build-time dependency of CadQuery OCP
Signed-off-by: Cecil Curry <leycec <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
dev-libs/lief/lief-0.11.5.ebuild | 126 +++++++++++++++++++++++++++++++++++++++
dev-libs/lief/metadata.xml | 14 +++++
2 files changed, 140 insertions(+)
diff --git a/dev-libs/lief/lief-0.11.5.ebuild b/dev-libs/lief/lief-0.11.5.ebuild
new file mode 100644
index 000000000..7baaac001
--- /dev/null
+++ b/dev-libs/lief/lief-0.11.5.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+# Upstream has two alternate approaches to building its Python API:
+# 1. A working "CMakeList.txt" only supporting a single Python target.
+# 2. A non-working "setup.py" supporting multiple Python targets but internally
+# invoking CMake in mostly non-configurable (and thus broken) ways.
+# We choose working.
+#
+# Note that "cmake-multilib" *MUST* be inherited before "python-single-r1".
+inherit cmake-multilib python-single-r1
+
+DESCRIPTION="Library to instrument executable formats"
+HOMEPAGE="https://lief.quarkslab.com"
+SRC_URI="https://github.com/lief-project/LIEF/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="c examples +python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# See "cmake/LIEFDependencies.cmake" for C and C++ dependencies.
+BDEPEND="
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-python/setuptools-31.0.0[${PYTHON_USEDEP}]
+ ')
+ )
+"
+#FIXME: Add after bumping to the next stable release:
+# >=dev-libs/spdlog-1.8.5[${MULTILIB_USEDEP}]
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+
+# LIEF tests are non-trivial (if not infeasible) to run in the general case.
+# For example, "tests/CMakeLists.txt" implies all USE flags must be enabled:
+# if (NOT LIEF_ELF OR NOT LIEF_PE OR NOT LIEF_MACHO)
+# message(FATAL_ERROR "Tests require all LIEF's modules activated" )
+# endif()
+RESTRICT="test"
+
+S="${WORKDIR}/LIEF-${PV}"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+#FIXME: Unvender currently vendored dependencies in "third-party/". Ideally,
+#upstream should add one "LIEF_EXTERNAL_${LIBNAME}" CMake option governing each
+#vendored dependency resembling the existing "LIEF_EXTERNAL_SPDLOG" option.
+#Note that LIEF patches the vendored "Boost leaf" and "utfcpp" dependencies.
+src_prepare() {
+ # Respect "multilib"-based lib dirnames.
+ sed -i -e 's~\bDESTINATION lib\(64\)\{0,1\}\b~DESTINATION ${CMAKE_INSTALL_LIBDIR}~' \
+ CMakeLists.txt || die
+
+ # Respect "python"-based installation of Python bindings. Upstream
+ # currently fails to install these bindings, resulting in Gentoo "RUNPATH"
+ # QA notices at installation time. See also:
+ # https://github.com/lief-project/LIEF/issues/599#issuecomment-889654343
+ cat <<- EOF >> api/python/CMakeLists.txt || die
+ if(LIEF_INSTALL_PYTHON)
+ install(
+ TARGETS pyLIEF
+ DESTINATION "$(python_get_sitedir)"
+ COMPONENT libraries
+ )
+ endif()
+ EOF
+
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ # See also:
+ # * "cmake/LIEFDependencies.cmake" for a dependency list.
+ # * "cmake/LIEFOptions.cmake" for option descriptions.
+ local mycmakeargs=(
+ -DLIEF_COVERAGE=OFF
+ -DLIEF_DISABLE_FROZEN=OFF
+ -DLIEF_EXTRA_WARNINGS=OFF
+ -DLIEF_FORCE32=OFF # Defer to "cmake-multilib" for ABI management.
+ -DLIEF_PROFILING=OFF
+ -DLIEF_SUPPORT_CXX14=ON
+ -DLIEF_USE_CCACHE=OFF # Defer to Portage itself for "ccache" support.
+
+ # Disabling LIEF's format options causes build failures. See also:
+ # https://github.com/lief-project/LIEF/issues/599
+ -DLIEF_ELF=ON
+ -DLIEF_PE=ON
+ -DLIEF_MACHO=ON
+ -DLIEF_ART=ON
+ -DLIEF_DEX=ON
+ -DLIEF_OAT=ON
+ -DLIEF_VDEX=ON
+
+ -DBUILD_SHARED_LIBS="$(usex static-libs OFF ON)"
+ -DLIEF_C_API="$(usex c ON OFF)"
+ -DLIEF_EXAMPLES="$(usex examples ON OFF)"
+ -DLIEF_FORCE_API_EXPORTS="$(usex python ON OFF)" # See "setup.py".
+ -DLIEF_PYTHON_API="$(usex python ON OFF)"
+ -DLIEF_INSTALL_PYTHON="$(usex python ON OFF)"
+
+ #FIXME: Add USE flags governing most or all of these options.
+ -DLIEF_ENABLE_JSON=OFF
+ -DLIEF_DOC=OFF
+ -DLIEF_FUZZING=OFF
+ -DLIEF_INSTALL_COMPILED_EXAMPLES=OFF
+ -DLIEF_LOGGING=OFF
+ -DLIEF_LOGGING_DEBUG=OFF
+ -DLIEF_TESTS=OFF
+ -DLIEF_ASAN=OFF
+ -DLIEF_LSAN=OFF
+ -DLIEF_TSAN=OFF
+ -DLIEF_USAN=OFF
+ )
+ use python && mycmakeargs+=( -DPYTHON_EXECUTABLE="${PYTHON}" )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/lief/metadata.xml b/dev-libs/lief/metadata.xml
new file mode 100644
index 000000000..da7baf4c0
--- /dev/null
+++ b/dev-libs/lief/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lief-project/LIEF</remote-id>
+ </upstream>
+ <use>
+ <flag name="c">install C API</flag>
+ </use>
+</pkgmetadata>
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-08-05 16:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-05 16:56 [gentoo-commits] proj/sci:master commit in: dev-libs/lief/ Andrew Ammerlaan
-- strict thread matches above, loose matches on Subject: below --
2021-08-05 16:56 Andrew Ammerlaan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox