diff options
Diffstat (limited to 'eclass')
| -rw-r--r-- | eclass/kde4-base.eclass | 149 | ||||
| -rw-r--r-- | eclass/kde4-functions.eclass | 13 | ||||
| -rw-r--r-- | eclass/kde4-meta.eclass | 72 |
3 files changed, 205 insertions, 29 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass index 541643823b7..d7b6a6bb041 100644 --- a/eclass/kde4-base.eclass +++ b/eclass/kde4-base.eclass @@ -155,18 +155,32 @@ esac # - VERSION_NUMBER:SLOT - Use the minimum KDE4 version and the SLOT specified in the NEED_KDE value. # - none - Let the ebuild handle SLOT, kde dependencies, KDEDIR, ... # @CODE -# -# Note: There is no default NEED_KDE for ebuilds not in kde-base or part of -# koffice, so you must set it explicitly in the ebuild, in all other cases. +# Note: default NEED_KDE is latest if [[ -z ${NEED_KDE} ]]; then - if [[ -n ${KDEBASE} ]]; then - NEED_KDE="latest" - else - die "kde4-base.eclass inherited but NEED_KDE not defined - broken ebuild" - fi + NEED_KDE="latest" fi export NEED_KDE +# @ECLASS-VARIABLE: KDE_WANTED +# @DESCRIPTION: +# This variable is for setting what version of kde we want in the first place +# when need_kde=latest is inherited. +# Its walue is compared and then it is looked for that version specialy before +# any other. So in case you have more +kdeprefix installs you can choose to +# which one link in first place if is there. +# @CODE +# Acceptable values are: +# stable = 4.1 or what so ever is main tree +# testing = what so ever is in testing on main tree +# snapshot = 4.2 or what so ever is released under snapshots +# live = live svn ebuilds, also default value, dont be scared it goes in this +# order: live->snapshot->testing->stable, when searching for kde. This way we +# allow users to use just kde4snapshots and use software from the tree. +if [[ -z ${KDE_WANTED} ]]; then + KDE_WANTED="live" +fi +export KDE_WANTED + case ${NEED_KDE} in any) _kdedir="" @@ -176,7 +190,6 @@ case ${NEED_KDE} in # latest version availible) ;; latest) - # Should only be used by 'kde-base'-ebuilds if [[ "${KDEBASE}" == "kde-base" ]]; then case ${PV} in 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) @@ -191,11 +204,19 @@ case ${NEED_KDE} in 3.9*) _kdedir="3.9" _pv="-${PV}:kde-4" ;; + 9999*) + _kdedir="live" + _pv="-${PV}:live" ;; *) die "NEED_KDE=latest not supported for PV=${PV}" ;; esac _operator=">=" else +<<<<<<< HEAD:eclass/kde4-base.eclass + # this creates dependency on any version of kde4 + _operator=">=" + _pv="-3.9" +======= case ${PV} in 4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* ) _kdedir="4.2" ;; 4.1 | 4.0.9* | 4.0.8*) _kdedir="4.1" ;; @@ -203,6 +224,7 @@ case ${NEED_KDE} in 3.9*) _kdedir="3.9" ;; *) die "NEED_KDE=latest not supported for PV=${PV}" ;; esac +>>>>>>> origin/4.2:eclass/kde4-base.eclass fi ;; @@ -250,6 +272,7 @@ case ${NEED_KDE} in # NEED_KDE="${PV}" scm|svn|live|9999*) _kdedir="live" +<<<<<<< HEAD:eclass/kde4-base.eclass _operator=">=" _pv="-${NEED_KDE}:live" export NEED_KDE="live" @@ -257,6 +280,15 @@ case ${NEED_KDE} in 4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) _kdedir="4.2" _operator=">=" +======= + _operator=">=" + _pv="-${NEED_KDE}:live" + export NEED_KDE="live" + ;; + 4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) + _kdedir="4.2" + _operator=">=" +>>>>>>> origin/4.2:eclass/kde4-base.eclass _pv="-${NEED_KDE}:4.2" ;; 4.1 | 4.0.9* | 4.0.8*) @@ -300,8 +332,14 @@ if [[ ${NEED_KDE} != none ]]; then ;; *) case ${PV} in +<<<<<<< HEAD:eclass/kde4-base.eclass + 4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;; + 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;; + 9999*) SLOT="live" ;; +======= 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;; 4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;; +>>>>>>> origin/4.2:eclass/kde4-base.eclass *) SLOT="kde-4" ;; esac ;; @@ -315,6 +353,13 @@ if [[ ${NEED_KDE} != none ]]; then for KDE_SLOT in ${KDE_SLOTS[@]}; do # block non kdeprefix ${PN} on other slots # we do this only if we do not depend on any version of kde +<<<<<<< HEAD:eclass/kde4-base.eclass + if [[ ${SLOT} != ${KDE_SLOT} ]]; then + DEPEND="${DEPEND} + !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )" + RDEPEND="${RDEPEND} + !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )" +======= if [[ ${NEED_KDE} != "any" ]]; then if [[ ${SLOT} != ${KDE_SLOT} ]]; then DEPEND="${DEPEND} @@ -322,14 +367,30 @@ if [[ ${NEED_KDE} != none ]]; then RDEPEND="${RDEPEND} !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )" fi +>>>>>>> origin/4.2:eclass/kde4-base.eclass fi done ;; esac # We only need to add the dependencies if ${PN} is not "kdelibs" or "kdepimlibs" +<<<<<<< HEAD:eclass/kde4-base.eclass + if [[ ${PN} != "kdelibs" ]]; then + case "${EAPI}" in + 2 | 2_pre3 | 2_pre2 | 2_pre1) + DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}[kdeprefix=]" + RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}[kdeprefix=]" + ;; + *) + DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}" + RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}" + ;; + esac + if [[ ${PN} != "kdepimlibs" ]]; then +======= if [[ ${NEED_KDE} != "any" ]]; then if [[ ${PN} != "kdelibs" ]]; then +>>>>>>> origin/4.2:eclass/kde4-base.eclass case "${EAPI}" in 2 | 2_pre3 | 2_pre2 | 2_pre1) DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}[kdeprefix=]" @@ -363,7 +424,6 @@ if [[ ${NEED_KDE} != none ]]; then fi fi fi - unset _operator _pv fi @@ -414,7 +474,13 @@ case ${SLOT} in ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${PN}" ESVN_PROJECT="KDE/${PN}" fi +<<<<<<< HEAD:eclass/kde4-base.eclass + # limit syncing to 1 hour. + ESVN_UP_FREQ=${ESVN_UP_FREQ:-1} + inherit subversion +======= inherit subversion +>>>>>>> origin/4.2:eclass/kde4-base.eclass ;; *) if [[ -n ${KDEBASE} ]]; then @@ -467,6 +533,52 @@ kde4-base_pkg_setup() { # Don't set KDEHOME during compile, it will cause access violations unset KDEHOME + if [[ ${NEED_KDE} == latest ]]; then + # We need to set up correct kdedir based on what we find + # not to do it by versioning but based on what is on system. + # We might also be cool and install app for all kde installs + # but i guess that is just insane. + # We can check for kdelibs because they are basic package and + # rest of the stuff wont work without it. This might be changed + # in future. + case ${KDE_WANTED} in + # note this will need to be updated as stable moves and so on + live) + _versions="9999 4.1.69 4.1.0" + ;; + snapshot) + _versions="4.1.69 4.1.0 9999" + ;; + testing) + _versions="4.1.0 4.1.69 9999" + ;; + stable) + _versions="4.1.0 4.1.69 9999" + ;; + *) die "KDE_WANTED=${KDE_WANTED} not supported here." ;; + esac + # check if exists and fallback as we go + for X in ${_versions}; do + if has_version ">=kde-base/kdelibs-${X}"; then + # figure out which X we are in and set it into _kdedir + case ${X} in + # also keep track here same for kde_wanted + 9999) + _kdedir="live" + break + ;; + 4.1.69) + _kdedir="4.2" + break + ;; + 4.1.0) + _kdedir="4.1" + break + ;; + esac + fi + done + fi if [[ ${NEED_KDE} != none ]]; then # Set PREFIX @@ -491,13 +603,9 @@ kde4-base_pkg_setup() { ;; esac fi - - if [[ -n ${KDEBASE} ]]; then - PREFIX=${KDEDIR} - else - # if PREFIX is not defined we set it to the default value of /usr - PREFIX="${PREFIX:-/usr}" - fi + # Set the prefix based on KDEDIR + # Make it a consequence of kdeprefix + PREFIX=${KDEDIR} unset _kdedir @@ -538,10 +646,17 @@ kde4-base_pkg_setup() { case ${SLOT} in live) if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then +<<<<<<< HEAD:eclass/kde4-base.eclass + elog + elog "WARNING! This is an experimental ebuild of the ${KMNAME:-${PN}} KDE4 SVN tree." + elog "Use at your own risk. Do _NOT_ file bugs at bugs.gentoo.org because" + elog "of this ebuild!" +======= echo ewarn "WARNING! This is an experimental ebuild of the ${KMNAME:-${PN}} KDE4 SVN tree." ewarn "Use at your own risk. Do _NOT_ file bugs at bugs.gentoo.org because" ewarn "of this ebuild!" +>>>>>>> origin/4.2:eclass/kde4-base.eclass fi ;; *) diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass index 750c41a5cca..6d28ca05c43 100644 --- a/eclass/kde4-functions.eclass +++ b/eclass/kde4-functions.eclass @@ -39,6 +39,8 @@ KDE_SLOTS=( "kde-4" "4.1" "4.2" ) # @DESCRIPTION: # The slots used by all KDE live versions. KDE_LIVE_SLOTS=( "live" ) +<<<<<<< HEAD:eclass/kde4-functions.eclass +======= # @ECLASS-VARIABLE: KDE_DERIVATION_MAP # @DESCRIPTION: @@ -385,6 +387,7 @@ is-parent-package() { done <<< "$KDE_DERIVATION_MAP" return 1 } +>>>>>>> origin/4.2:eclass/kde4-functions.eclass # @FUNCTION: buildsycoca # @DESCRIPTION: @@ -560,3 +563,13 @@ kde4-functions_check_use() { die "Missing USE flags found" fi } +# @FUNCTION: kdebase_toplevel_cmakelists +# @DESCRIPTION: +# replace includes for live ebuilds with optional requests +kdebase_toplevel_cmakelist() { + insert=$(sed -e '/macro_optional_find_package/!d' < "${ESVN_WC_PATH}"/CMakeLists.txt) + at=$(sed -n '/^include[[:space:]]*(/=' < "${S}"/CMakeLists.txt | sed -n '$p') + for line in ${insert}; do + sed "${at}a${line}" -i "${S}"/CMakeLists.txt + done +} diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass index 1e5a579718c..b977171318a 100644 --- a/eclass/kde4-meta.eclass +++ b/eclass/kde4-meta.eclass @@ -47,18 +47,6 @@ case ${KDEBASE} in LICENSE="GPL-2" ;; esac -debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - before blockers" -debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - before blockers" - -# Add a blocker on the package we're derived from -if [[ -n ${KDEBASE} ]]; then - DEPEND="${DEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}" - RDEPEND="${RDEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}" -fi - -debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after blockers" -debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after blockers" - # Add dependencies that all packages in a certain module share. case ${KMNAME} in kdebase|kdebase-workspace|kdebase-runtime) @@ -178,6 +166,14 @@ kde4-meta_src_unpack() { case ${SLOT} in live) S="${WORKDIR}/${PN}" +<<<<<<< HEAD:eclass/kde4-meta.eclass + mkdir -p "${S}" + ESVN_RESTRICT="export" subversion_src_unpack + subversion_wc_info + kde4-meta_src_extract + kde4-base_apply_patches + subversion_bootstrap +======= # Ensure the target directory exists mkdir -p "${S}" # Update working copy @@ -190,6 +186,7 @@ kde4-meta_src_unpack() { kde4-base_apply_patches subversion_bootstrap # CMakeLists.txt magic +>>>>>>> origin/4.2:eclass/kde4-meta.eclass kde4-meta_change_cmakelists ;; *) @@ -206,9 +203,15 @@ kde4-meta_src_unpack() { kde4-meta_src_extract() { case ${SLOT} in live) +<<<<<<< HEAD:eclass/kde4-meta.eclass + local rsync_options subdir kmnamedir targetdir + # Export working copy to ${S} + einfo "Exporting parts of working copy to ${S}" +======= local rsync_options subdir kmnamedir targetdir # Export working copy to ${S} einfo "Exporting parts of working copy to ${S}" +>>>>>>> origin/4.2:eclass/kde4-meta.eclass kde4-meta_create_extractlists case ${KMNAME} in @@ -280,6 +283,15 @@ kde4-meta_src_extract() { [[ -n ${abort} ]] && die "There were missing files." fi +<<<<<<< HEAD:eclass/kde4-meta.eclass + kde4-base_src_unpack + + if [[ "${KMNAME}" == "koffice" ]]; then + case ${PN} in + koffice-data|koffice-libs) + ;; + *) +======= kde4-base_src_unpack if [[ "${KMNAME}" == "koffice" ]]; then @@ -299,17 +311,27 @@ kde4-meta_src_extract() { #pickup latest version from /usr/kde fi # we have few lib states we can occur on koffice sources +>>>>>>> origin/4.2:eclass/kde4-meta.eclass ### 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\" +<<<<<<< HEAD:eclass/kde4-meta.eclass + \"${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\"" +======= \"${KD}/$(get_libdir)/libkdecore.so\"" R_BAS_kostore="libkostore ${R_QT_kostore}" R_BAS_koodf="libkoodf ${R_BAS_kostore}" R_KROSS_kokross=" \"${KD}/$(get_libdir)/libkrossui.so\" \"${KD}/$(get_libdir)/libkrosscore.so\"" +>>>>>>> origin/4.2:eclass/kde4-meta.eclass 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}" @@ -326,12 +348,29 @@ kde4-meta_src_extract() { echo "Fixing library ${libname} with hardcoded path" for libpath in $(eval "echo \$R_BAS_${libname}"); do if [[ "${libpath}" != "\"/usr/"* ]]; then +<<<<<<< HEAD:eclass/kde4-meta.eclass + local R="${R} \"${KDEDIR}/$(get_libdir)/${libpath}.so\"" +======= local R="${R} \"/usr/$(get_libdir)/${libpath}.so\"" +>>>>>>> origin/4.2:eclass/kde4-meta.eclass else local R="${R} ${libpath}" fi done find ${S} -name CMakeLists.txt -print| xargs -i \ +<<<<<<< HEAD:eclass/kde4-meta.eclass + 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 +======= sed -i \ -e "s: ${libname} : ${R} :g" \ -e "s: ${libname}): ${R}):g" \ @@ -343,6 +382,7 @@ kde4-meta_src_extract() { ;; esac fi +>>>>>>> origin/4.2:eclass/kde4-meta.eclass esac } @@ -725,8 +765,13 @@ kde4-meta_src_install() { # remove unvanted koffice stuff if [[ "${KMNAME}" == "koffice" ]] ; then if [[ "${PN}" != "koffice-data" ]]; then +<<<<<<< HEAD:eclass/kde4-meta.eclass + rm "${D}"/${KDEDIR}/include/config-openexr.h + rm "${D}"/${KDEDIR}/share/apps/cmake/modules/FindKOfficeLibs.cmake +======= rm "${D}"/usr/include/config-openexr.h rm "${D}"/usr/share/apps/cmake/modules/FindKOfficeLibs.cmake +>>>>>>> origin/4.2:eclass/kde4-meta.eclass fi fi } @@ -761,6 +806,8 @@ kde4-meta_pkg_postinst() { kde4-meta_pkg_postrm() { kde4-base_pkg_postrm } +<<<<<<< HEAD:eclass/kde4-meta.eclass +======= kdebase_toplevel_cmakelist() { insert=$(sed -e '/macro_optional_find_package/!d' < "${ESVN_WC_PATH}"/CMakeLists.txt) at=$(sed -n '/^include[[:space:]]*(/=' < "${S}"/CMakeLists.txt | sed -n '$p') @@ -768,4 +815,5 @@ kdebase_toplevel_cmakelist() { sed "${at}a${line}" -i "${S}"/CMakeLists.txt done } +>>>>>>> origin/4.2:eclass/kde4-meta.eclass |
