summaryrefslogtreecommitdiff
path: root/eclass/kde4-functions.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/kde4-functions.eclass')
-rw-r--r--eclass/kde4-functions.eclass59
1 files changed, 59 insertions, 0 deletions
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index 4d021f3efad..d8b7e3a9fb2 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -214,6 +214,7 @@ kde4-functions_check_use() {
die "Missing USE flags found"
fi
}
+
# @FUNCTION: kdebase_toplevel_cmakelists
# @DESCRIPTION:
# replace includes for live ebuilds with optional requests
@@ -224,3 +225,61 @@ kdebase_toplevel_cmakelist() {
sed "${at}a${line}" -i "${S}"/CMakeLists.txt
done
}
+
+# @FUNCTION: koffice_fix_libraries
+# @DESCRIPTION:
+# replace weird koffice lib search with hardcoded one so it
+# actualy builds and works.
+koffice_fix_libraries() {
+ local LIB_ARRAY R_QT_kostore R_BAS_kostore R_BAS_koodf R_KROSS_kokross R_QT_komain
+ local R_CMS_pigmentcms R_BAS_pigmentcms R_BAS_koresources R_BAS_flake R_BAS_koguiutils
+ local R_BAS_kopageapp R_BAS_kotext R_BAS_kowmf libname R
+ case ${PN} in
+ koffice-data|koffice-libs)
+ ;;
+ *)
+ ### basic array
+ LIB_ARRAY="kostore koodf kokross komain pigmentcms koresources flake koguiutils kopageapp kotext kowmf"
+ ### dep array
+ R_QT_kostore="\"/usr/$(get_libdir)/qt4/libQtCore.so\"
+ \"/usr/$(get_libdir)/qt4/libQtXml.so\"
+ \"${KDEDIR}/$(get_libdir)/libkdecore.so\""
+ R_BAS_kostore="libkostore ${R_QT_kostore}"
+ R_BAS_koodf="libkoodf ${R_BAS_kostore}"
+ R_KROSS_kokross="
+ \"${KDEDIR}/$(get_libdir)/libkrossui.so\"
+ \"${KDEDIR}/$(get_libdir)/libkrosscore.so\""
+ R_BAS_kokross="libkokross ${R_BAS_koodf} ${R_KROSS_kokross}"
+ R_QT_komain="\"/usr/$(get_libdir)/qt4/libQtGui.so\""
+ R_BAS_komain="libkomain ${R_BAS_koodf} ${R_QT_komain}"
+ R_CMS_pigmentcms="\"/usr/$(get_libdir)/liblcms.so\""
+ R_BAS_pigmentcms="libpigmentcms ${R_BAS_komain} ${R_CMS_pigmentcms}"
+ R_BAS_koresources="libkoresources ${R_BAS_pigmentcms}"
+ R_BAS_flake="libflake ${R_BAS_pigmentcms}"
+ R_BAS_koguiutils="libkoguiutils libkoresources libflake ${R_BAS_pigmentcms}"
+ R_BAS_kopageapp="libkopageapp ${R_BAS_koguitls}"
+ R_BAS_kotext="libkotext libkoresources libflake ${R_BAS_pigmentcms}"
+ ### additional unmentioned stuff
+ R_BAS_kowmf="libkowmf"
+ for libname in ${LIB_ARRAY}; do
+ echo "Fixing library ${libname} with hardcoded path"
+ for libpath in $(eval "echo \$R_BAS_${libname}"); do
+ if [[ "${libpath}" != "\"/usr/"* ]]; then
+ R="${R} \"${KDEDIR}/$(get_libdir)/${libpath}.so\""
+ else
+ R="${R} ${libpath}"
+ fi
+ done
+ find ${S} -name CMakeLists.txt -print| xargs -i \
+ sed -i \
+ -e "s: ${libname} : ${R} :g" \
+ -e "s: ${libname}): ${R}):g" \
+ -e "s:(${libname} :(${R} :g" \
+ -e "s:(${libname}):(${R}):g" \
+ -e "s: ${libname}: ${R}:g" \
+ {} || die "Fixing library names failed."
+ done
+ ;;
+ esac
+ fi
+} \ No newline at end of file