Files
katana/eclass/katie-split.eclass
2026-07-12 08:20:33 +02:00

187 lines
5.4 KiB
Bash

# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
case ${EAPI} in
8) ;;
*) die "katie-split.eclass requires EAPI 8" ;;
esac
inherit cmake flag-o-matic xdg
KATIE_RELEASE_TAG=20260620
KATIE_RELEASE_DIR=smil3y-katie-668d32ab9d2f
HOMEPAGE="https://bitbucket.org/smil3y/katie"
SRC_URI="https://bitbucket.org/smil3y/katie/get/${KATIE_RELEASE_TAG}.tar.gz -> katie-${PV}.tar.gz"
S="${WORKDIR}/${KATIE_RELEASE_DIR}"
LICENSE="LGPL-2.1 GPL-3 BSD FDL-1.3"
SLOT="4"
KEYWORDS="~amd64 ~x86"
KATIE_BUILD_DEPEND="
dev-libs/icu:=
dev-libs/jansson
dev-libs/xxhash
media-libs/fontconfig
media-libs/freetype
media-libs/libpng:=
net-print/cups
sys-apps/dbus
sys-devel/gettext
app-arch/libdeflate
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
"
DEPEND+=" ${KATIE_BUILD_DEPEND}"
BDEPEND+=" virtual/pkgconfig"
katie-split_src_configure() {
local mycmakeargs=(
-DKATIE_MINOR=2026
-DKATIE_TESTS=OFF
-DKATIE_BENCHMARKS=OFF
-DKATIE_UTILS=OFF
-DWITH_CUPS=ON
-DWITH_DBUS=ON
-DWITH_FONTCONFIG=ON
-DWITH_GETTEXTPO=ON
-DWITH_EXECINFO=OFF
-DKATIE_HEADERS_PATH="${EPREFIX}/usr/include/kt4"
-DKATIE_LIBRARIES_PATH="${EPREFIX}/usr/$(get_libdir)"
-DKATIE_BINARIES_PATH="${EPREFIX}/usr/$(get_libdir)/kt4/bin"
-DKATIE_PLUGINS_PATH="${EPREFIX}/usr/$(get_libdir)/kt4/plugins"
-DKATIE_TRANSLATIONS_PATH="${EPREFIX}/usr/share/kt4/translations"
)
cmake_src_configure
}
_katie_remove_component() {
local module=${1} library=${2} libdir
libdir=$(get_libdir)
rm -rf "${ED}/usr/include/kt4/Kt${module}" || die
rm -f "${ED}/usr/${libdir}/libKt${library}.so"* || die
rm -f "${ED}/usr/${libdir}/pkgconfig/Kt${library}.pc" || die
}
_katie_remove_program() {
local program=${1}
rm -f "${ED}/usr/$(get_libdir)/kt4/bin/${program}" \
"${ED}/usr/share/man/man1/${program}.1" || die
}
katie-split_src_install() {
cmake_src_install
case ${PN} in
ktcore)
_katie_remove_component Gui Gui
_katie_remove_component DBus DBus
_katie_remove_component Svg Svg
_katie_remove_component Test Test
_katie_remove_program uic
_katie_remove_program qdbus
_katie_remove_program qdbuscpp2xml
_katie_remove_program qdbusxml2cpp
_katie_remove_program qdbusviewer
rm -rf "${ED}/usr/$(get_libdir)/kt4/plugins" \
"${ED}/usr/share/applications/qdbusviewer.desktop" \
"${ED}/usr/share/pixmaps/qdbusviewer.png" || die
rm -rf "${ED}/etc/ld.so.conf.d" "${ED}/etc/profile.d" || die
cat > "${T}/44kt4" <<-EOF || die
PATH="/usr/$(get_libdir)/kt4/bin"
EOF
doenvd "${T}/44kt4"
;;
ktgui)
_katie_remove_component Core Core
_katie_remove_component Network Network
_katie_remove_component Xml Xml
_katie_remove_component DBus DBus
_katie_remove_component Svg Svg
_katie_remove_component Test Test
_katie_remove_program moc
_katie_remove_program trc
_katie_remove_program qdbus
_katie_remove_program qdbuscpp2xml
_katie_remove_program qdbusxml2cpp
_katie_remove_program qdbusviewer
rm -rf "${ED}/usr/$(get_libdir)/kt4/plugins" \
"${ED}/usr/share/applications/qdbusviewer.desktop" \
"${ED}/usr/share/pixmaps/qdbusviewer.png" || die
;;
ktdbus)
_katie_remove_component Core Core
_katie_remove_component Network Network
_katie_remove_component Xml Xml
_katie_remove_component Gui Gui
_katie_remove_component Svg Svg
_katie_remove_component Test Test
_katie_remove_program moc
_katie_remove_program trc
_katie_remove_program uic
_katie_remove_program qdbusviewer
rm -rf "${ED}/usr/$(get_libdir)/kt4/plugins" \
"${ED}/usr/share/applications/qdbusviewer.desktop" \
"${ED}/usr/share/pixmaps/qdbusviewer.png" || die
;;
ktsvg)
_katie_remove_component Core Core
_katie_remove_component Network Network
_katie_remove_component Xml Xml
_katie_remove_component Gui Gui
_katie_remove_component DBus DBus
_katie_remove_component Test Test
rm -rf "${ED}/usr/$(get_libdir)/kt4/bin" "${ED}/usr/share/man" \
"${ED}/usr/share/applications" "${ED}/usr/share/pixmaps" || die
;;
kttest)
_katie_remove_component Core Core
_katie_remove_component Network Network
_katie_remove_component Xml Xml
_katie_remove_component Gui Gui
_katie_remove_component DBus DBus
_katie_remove_component Svg Svg
rm -rf "${ED}/usr/$(get_libdir)/kt4/bin" "${ED}/usr/share/man" \
"${ED}/usr/$(get_libdir)/kt4/plugins" \
"${ED}/usr/share/applications" "${ED}/usr/share/pixmaps" || die
;;
kdbusviewer)
_katie_remove_component Core Core
_katie_remove_component Network Network
_katie_remove_component Xml Xml
_katie_remove_component Gui Gui
_katie_remove_component DBus DBus
_katie_remove_component Svg Svg
_katie_remove_component Test Test
_katie_remove_program moc
_katie_remove_program trc
_katie_remove_program uic
_katie_remove_program qdbus
_katie_remove_program qdbuscpp2xml
_katie_remove_program qdbusxml2cpp
rm -rf "${ED}/usr/$(get_libdir)/kt4/plugins" || die
mv "${ED}/usr/share/applications/qdbusviewer.desktop" \
"${ED}/usr/share/applications/kdbusviewer.desktop" || die
;;
*) die "unsupported Katie split package: ${CATEGORY}/${PN}" ;;
esac
if [[ ${PN} != ktcore ]]; then
rm -rf "${ED}/etc" "${ED}/usr/$(get_libdir)/cmake/Katie" \
"${ED}/usr/share/kt4/translations" || die
fi
find "${ED}" -depth -type d -empty -delete || die
}
EXPORT_FUNCTIONS src_configure src_install