Files
guru/sci-electronics/kactus2/kactus2-3.14.1.ebuild
Huang Rui 31514c3a7f sci-electronics/kactus2: add 3.14.1, drop old versions
This release moves KactusColors and LibraryModel into libKactusAPI, so
the executable now links symbols from it. Force the in-tree lib dir ahead
of /usr/lib64 in the link path, otherwise an already installed kactus2
shadows the fresh library and the build fails with undefined references.
Also drop py3.10/py3.11 and the stale 3.12/3.13 ebuilds.

Signed-off-by: Huang Rui <vowstar@gmail.com>
2026-07-03 03:40:28 -07:00

95 lines
2.4 KiB
Bash

# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
PYTHON_COMPAT=( python3_{12..14} )
inherit flag-o-matic python-r1 qmake-utils xdg
DESCRIPTION="A open source IP-XACT-based tool"
HOMEPAGE="
https://research.tuni.fi/system-on-chip/tools/
https://github.com/kactus2/kactus2dev
"
if [[ "${PV}" == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}dev.git"
else
SRC_URI="https://github.com/${PN}/${PN}dev/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
S="${WORKDIR}/${PN}dev-${PV}"
fi
LICENSE="GPL-2"
SLOT="0"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
dev-qt/qtbase:6=[cups,gui,network,opengl,widgets,xml]
dev-qt/qtsvg:6
"
DEPEND="
${RDEPEND}
"
BDEPEND="
dev-lang/swig
dev-qt/qttools:6[linguist,qdoc]
"
src_prepare() {
default
# Fix QA pre-stripped warnings, bug 781674
find . -type f -name \*.pro -exec sed -e '$a\\nCONFIG+=nostrip' -i '{}' + || die
# Fix bug 854081
python_setup
sed -e "s|PYTHON_CONFIG=.*|PYTHON_CONFIG=${EPYTHON}-config|" -i .qmake.conf || die
}
src_configure() {
default
# The in-tree libKactusAPI and libIPXACTmodels must take link precedence
# over any copy from an already installed kactus2, otherwise the qmake
# LIBS order searches /usr/lib64 before ./executable and the binary links
# against the old ABI, failing with undefined references to freshly added
# symbols. LFLAGS precede LIBS, so a build-dir -L here wins.
append-ldflags "-L${S}/executable"
# Fix bug 854075
# Fix bug 854078
eqmake6 Kactus2_Solution.pro
}
src_compile() {
default
python_compile() {
cp -TR "${S}/" "${BUILD_DIR}/" || die
# Fix bug 854081
python_setup
sed -e "s|PYTHON_CONFIG=.*|PYTHON_CONFIG=${EPYTHON}-config|" -i .qmake.conf || die
export PYTHON_C_FLAGS="$(python_get_CFLAGS)"
export PYTHON_LIBS="$(python_get_LIBS)"
pushd "PythonAPI" || die
eqmake6 PREFIX="$(python_get_library_path)"
emake
rm _pythonAPI.so || die
cp libPythonAPI.so.1.0.0 _pythonAPI.so || die
popd
}
python_foreach_impl run_in_build_dir python_compile
}
src_install() {
# Can't use default, set INSTALL_ROOT and workaround parallel install bug
emake -j1 INSTALL_ROOT="${D}" install
python_install() {
pushd "PythonAPI" || die
python_domodule _pythonAPI.so
python_domodule pythonAPI.py
popd
}
python_foreach_impl run_in_build_dir python_install
}