summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/dtc/dtc-9999.ebuild')
-rw-r--r--sys-apps/dtc/dtc-9999.ebuild86
1 files changed, 38 insertions, 48 deletions
diff --git a/sys-apps/dtc/dtc-9999.ebuild b/sys-apps/dtc/dtc-9999.ebuild
index 00244f88a148..ad87023887a3 100644
--- a/sys-apps/dtc/dtc-9999.ebuild
+++ b/sys-apps/dtc/dtc-9999.ebuild
@@ -1,15 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit multilib toolchain-funcs
+EAPI=8
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/dtc/dtc.git"
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson python-single-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/dtc/dtc.git"
inherit git-r3
else
SRC_URI="https://www.kernel.org/pub/software/utils/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
DESCRIPTION="Open Firmware device tree compiler"
@@ -17,65 +19,53 @@ HOMEPAGE="https://devicetree.org/ https://git.kernel.org/cgit/utils/dtc/dtc.git/
LICENSE="GPL-2"
SLOT="0"
-IUSE="static-libs yaml"
+IUSE="python static-libs test yaml"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
BDEPEND="
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/yacc
+ app-alternatives/lex
virtual/pkgconfig
+ python? ( dev-lang/swig )
+"
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+ yaml? ( >=dev-libs/libyaml-0.2.3 )
"
-RDEPEND="yaml? ( dev-libs/libyaml )"
DEPEND="${RDEPEND}"
-DOCS="
+DOCS=(
Documentation/dt-object-internal.txt
Documentation/dts-format.txt
Documentation/manual.txt
-"
+)
-_emake() {
- # valgrind is used only in 'make checkm'
- emake \
- NO_PYTHON=1 \
- NO_VALGRIND=1 \
- NO_YAML=$(usex !yaml 1 0) \
- \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- \
- V=1 \
- \
- PREFIX="${EPREFIX}/usr" \
- \
- LIBDIR="\$(PREFIX)/$(get_libdir)" \
- \
- "$@"
+pkg_setup() {
+ if use python ; then
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+ python-single-r1_pkg_setup
+ fi
}
src_prepare() {
default
- sed -i \
- -e '/^CFLAGS =/s:=:+=:' \
- -e '/^CPPFLAGS =/s:=:+=:' \
- -e 's:-Werror::' \
- -e 's:-g -Os::' \
- Makefile || die
-
- tc-export AR CC PKG_CONFIG
+ if ! use test ; then
+ sed -i -e "/subdir('tests')/d" meson.build || die
+ fi
}
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake check
-}
+src_configure() {
+ local emesonargs=(
+ -Dtools=true
+ -Dvalgrind=disabled # only used for some tests
+ $(meson_feature python)
+ $(meson_feature yaml)
+ )
-src_install() {
- _emake DESTDIR="${D}" install
+ # bug #909366
+ use static-libs && emesonargs+=( -Dstatic-build=true )
- use static-libs || find "${ED}" -name '*.a' -delete
+ meson_src_configure
}