You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.6 KiB
131 lines
3.6 KiB
2 months ago
|
# Copyright 1999-2024 Gentoo Authors
|
||
2 years ago
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
2 months ago
|
EAPI=8
|
||
2 years ago
|
|
||
2 months ago
|
PYTHON_COMPAT=( python3_{10..12} )
|
||
2 years ago
|
PYTHON_REQ_USE="threads(+)"
|
||
|
inherit waf-utils python-single-r1 multilib-minimal
|
||
|
|
||
|
DESCRIPTION="Samba talloc library"
|
||
|
HOMEPAGE="https://talloc.samba.org/"
|
||
|
SRC_URI="https://www.samba.org/ftp/${PN}/${P}.tar.gz"
|
||
|
|
||
|
LICENSE="GPL-3 LGPL-3+ LGPL-2"
|
||
|
SLOT="0"
|
||
2 months ago
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||
|
IUSE="compat +python test valgrind"
|
||
2 years ago
|
|
||
|
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||
2 months ago
|
RESTRICT="!test? ( test )"
|
||
2 years ago
|
|
||
|
RDEPEND="
|
||
|
!elibc_SunOS? (
|
||
|
!elibc_Darwin? (
|
||
|
dev-libs/libbsd[${MULTILIB_USEDEP}]
|
||
|
)
|
||
|
)
|
||
|
python? ( ${PYTHON_DEPS} )
|
||
|
"
|
||
2 months ago
|
# Valgrind is automagic here but it's a build-only dep so it's not so bad.
|
||
|
DEPEND="
|
||
|
${RDEPEND}
|
||
|
valgrind? ( dev-debug/valgrind )
|
||
|
"
|
||
|
BDEPEND="
|
||
|
${PYTHON_DEPS}
|
||
2 years ago
|
dev-libs/libxslt
|
||
|
sys-devel/gettext
|
||
|
"
|
||
|
|
||
|
WAF_BINARY="${S}/buildtools/bin/waf"
|
||
|
|
||
|
MULTILIB_WRAPPED_HEADERS=(
|
||
|
# python goes only for native
|
||
|
/usr/include/pytalloc.h
|
||
|
)
|
||
|
|
||
|
pkg_setup() {
|
||
2 months ago
|
# Try to turn off distcc and ccache for people that have a problem with it
|
||
2 years ago
|
export DISTCC_DISABLE=1
|
||
|
export CCACHE_DISABLE=1
|
||
|
|
||
|
python-single-r1_pkg_setup
|
||
|
}
|
||
|
|
||
|
src_prepare() {
|
||
|
default
|
||
|
|
||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||
|
# Drop irritating ABI names (e.g. cpython-37m)
|
||
|
# We're only installing one implementation anyway
|
||
|
sed -i "s/+ conf.all_envs\['default'\]\['PYTHON_SO_ABI_FLAG'\]//" wscript || die
|
||
|
sed -i "s/name = bld.pyembed_libname('pytalloc-util')/name = 'pytalloc-util'/" wscript || die
|
||
|
fi
|
||
|
|
||
2 months ago
|
if use test ; then
|
||
|
# TODO: Fix python tests to run w/ USE=python.
|
||
|
truncate -s0 test_pytalloc.py || die
|
||
|
fi
|
||
|
|
||
|
# WAF
|
||
2 years ago
|
multilib_copy_sources
|
||
|
}
|
||
|
|
||
|
multilib_src_configure() {
|
||
|
local extra_opts=(
|
||
2 months ago
|
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||
|
--disable-dependency-tracking
|
||
|
--disable-warnings-as-errors
|
||
|
|
||
|
$(usev compat --enable-talloc-compat1)
|
||
2 years ago
|
$(multilib_native_usex python '' --disable-python)
|
||
|
$([[ ${CHOST} == *-solaris* ]] && echo '--disable-symbol-versions')
|
||
|
)
|
||
2 months ago
|
|
||
2 years ago
|
waf-utils_src_configure "${extra_opts[@]}"
|
||
|
}
|
||
|
|
||
|
multilib_src_compile() {
|
||
|
waf-utils_src_compile
|
||
|
}
|
||
|
|
||
|
multilib_src_install() {
|
||
|
waf-utils_src_install
|
||
|
|
||
|
# waf is stupid, and no, we can't fix the build-system, since it's provided
|
||
|
# as a brilliant binary blob thats decompressed on the fly
|
||
|
if [[ ${CHOST} == *-darwin* ]] ; then
|
||
|
install_name_tool \
|
||
|
-id "${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
|
||
|
"${ED}"/usr/$(get_libdir)/libtalloc.${PV}.dylib || die
|
||
|
|
||
|
if use python ; then
|
||
|
install_name_tool \
|
||
|
-id "${EPREFIX}"/usr/$(get_libdir)/libpytalloc-util.2.dylib \
|
||
|
"${ED}"/usr/$(get_libdir)/libpytalloc-util.${PV}.dylib || die
|
||
|
install_name_tool \
|
||
|
-change "${BUILD_DIR}/bin/default/libtalloc.dylib" \
|
||
|
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
|
||
|
"${ED}"/usr/$(get_libdir)/libpytalloc-util.${PV}.dylib || die
|
||
|
|
||
|
install_name_tool \
|
||
|
-id "${EPREFIX}"/usr/$(get_libdir)/libpytalloc-util.dylib \
|
||
|
"${ED}"/usr/$(get_libdir)/libpytalloc-util.dylib || die
|
||
|
install_name_tool \
|
||
|
-change "${BUILD_DIR}/bin/default/libtalloc.dylib" \
|
||
|
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
|
||
|
"${ED}"/usr/$(get_libdir)/libpytalloc-util.dylib || die
|
||
|
|
||
|
install_name_tool \
|
||
|
-change "${BUILD_DIR}/bin/default/libpytalloc-util.dylib" \
|
||
|
"${EPREFIX}"/usr/$(get_libdir)/libpytalloc-util.dylib \
|
||
|
"${D}"$(python_get_sitedir)/talloc*.bundle || die
|
||
|
install_name_tool \
|
||
|
-change "${BUILD_DIR}/bin/default/libtalloc.dylib" \
|
||
|
"${EPREFIX}"/usr/$(get_libdir)/libtalloc.2.dylib \
|
||
|
"${D}"$(python_get_sitedir)/talloc*.bundle || die
|
||
|
fi
|
||
|
fi
|
||
|
}
|