| 1 | # Copyright 1999-2011 Gentoo Foundation |
1 | # Copyright 1999-2011 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.54 2011/06/07 20:11:04 abcd Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.57 2011/10/06 14:13:29 alexxy Exp $ |
| 4 | # |
4 | # |
| 5 | # @ECLASS: kde4-meta.eclass |
5 | # @ECLASS: kde4-meta.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # kde@gentoo.org |
7 | # kde@gentoo.org |
| 8 | # @BLURB: Eclass for writing "split" KDE packages. |
8 | # @BLURB: Eclass for writing "split" KDE packages. |
| … | |
… | |
| 178 | einfo "Exporting parts of working copy to ${S}" |
178 | einfo "Exporting parts of working copy to ${S}" |
| 179 | kde4-meta_create_extractlists |
179 | kde4-meta_create_extractlists |
| 180 | |
180 | |
| 181 | case ${KDE_SCM} in |
181 | case ${KDE_SCM} in |
| 182 | svn) |
182 | svn) |
| 183 | local rsync_options subdir kmnamedir targetdir wc_path escm |
183 | local rsync_options subdir targetdir wc_path escm |
| 184 | |
184 | |
| 185 | rsync_options="--group --links --owner --perms --quiet --exclude=.svn/ --exclude=.git/" |
185 | rsync_options="--group --links --owner --perms --quiet --exclude=.svn/ --exclude=.git/" |
| 186 | wc_path="${ESVN_WC_PATH}" |
186 | wc_path="${ESVN_WC_PATH}" |
| 187 | escm="{ESVN}" |
187 | escm="{ESVN}" |
| 188 | |
188 | |
| 189 | # Copy ${KMNAME} non-recursively (toplevel files) |
189 | # Copy ${KMNAME} non-recursively (toplevel files) |
| 190 | rsync ${rsync_options} "${wc_path}"/${kmnamedir}* "${S}" \ |
190 | rsync ${rsync_options} "${wc_path}"/* "${S}" \ |
| 191 | || die "${escm}: can't export toplevel files to '${S}'." |
191 | || die "${escm}: can't export toplevel files to '${S}'." |
| 192 | # Copy cmake directory |
192 | # Copy cmake directory |
| 193 | if [[ -d "${wc_path}/${kmnamedir}cmake" ]]; then |
193 | if [[ -d "${wc_path}/cmake" ]]; then |
| 194 | rsync --recursive ${rsync_options} "${wc_path}/${kmnamedir}cmake" "${S}" \ |
194 | rsync --recursive ${rsync_options} "${wc_path}/cmake" "${S}" \ |
| 195 | || die "${escm}: can't export cmake files to '${S}'." |
195 | || die "${escm}: can't export cmake files to '${S}'." |
| 196 | fi |
196 | fi |
| 197 | # Copy all subdirectories |
197 | # Copy all subdirectories |
| 198 | for subdir in $(__list_needed_subdirectories); do |
198 | for subdir in $(__list_needed_subdirectories); do |
| 199 | targetdir="" |
199 | targetdir="" |
| 200 | if [[ $subdir = doc/* && ! -e "$wc_path/$kmnamedir$subdir" ]]; then |
200 | if [[ $subdir = doc/* && ! -e "$wc_path/$subdir" ]]; then |
| 201 | continue |
201 | continue |
| 202 | fi |
202 | fi |
| 203 | |
203 | |
| 204 | [[ ${subdir%/} = */* ]] && targetdir=${subdir%/} && targetdir=${targetdir%/*} && mkdir -p "${S}/${targetdir}" |
204 | [[ ${subdir%/} = */* ]] && targetdir=${subdir%/} && targetdir=${targetdir%/*} && mkdir -p "${S}/${targetdir}" |
| 205 | rsync --recursive ${rsync_options} "${wc_path}/${kmnamedir}${subdir%/}" "${S}/${targetdir}" \ |
205 | rsync --recursive ${rsync_options} "${wc_path}/${subdir%/}" "${S}/${targetdir}" \ |
| 206 | || die "${escm}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'." |
206 | || die "${escm}: can't export subdirectory '${subdir}' to '${S}/${targetdir}'." |
| 207 | done |
207 | done |
| 208 | ;; |
208 | ;; |
| 209 | esac |
209 | esac |
| 210 | else |
210 | else |
| … | |
… | |
| 303 | |
303 | |
| 304 | # Add some CMake-files to KMEXTRACTONLY. |
304 | # Add some CMake-files to KMEXTRACTONLY. |
| 305 | # Note that this actually doesn't include KMEXTRA handling. |
305 | # Note that this actually doesn't include KMEXTRA handling. |
| 306 | # In those cases you should care to add the relevant files to KMEXTRACTONLY |
306 | # In those cases you should care to add the relevant files to KMEXTRACTONLY |
| 307 | case ${KMNAME} in |
307 | case ${KMNAME} in |
| 308 | kdebase | kdebase-apps | kde-base-apps) |
308 | kdebase | kdebase-apps | kde-baseapps) |
| 309 | KMEXTRACTONLY+=" |
309 | KMEXTRACTONLY+=" |
| 310 | config-apps.h.cmake |
310 | config-apps.h.cmake |
| 311 | ConfigureChecks.cmake" |
311 | ConfigureChecks.cmake" |
| 312 | ;; |
312 | ;; |
| 313 | kdebase-runtime | kde-runtime) |
313 | kdebase-runtime | kde-runtime) |
| … | |
… | |
| 375 | # should not try in that case |
375 | # should not try in that case |
| 376 | # note2: kdeedu 4.6.4 does not have a cmake/modules/ subdir anymore :( |
376 | # note2: kdeedu 4.6.4 does not have a cmake/modules/ subdir anymore :( |
| 377 | # it may be possible to formulate this shorter, but it should also |
377 | # it may be possible to formulate this shorter, but it should also |
| 378 | # still be understandable... |
378 | # still be understandable... |
| 379 | if [[ ${KMNAME} != kdegraphics || ( ( $(get_kde_version) != 4.6 || ${PV} < 4.6.2 ) && $(get_kde_version) < 4.7 ) ]] \ |
379 | if [[ ${KMNAME} != kdegraphics || ( ( $(get_kde_version) != 4.6 || ${PV} < 4.6.2 ) && $(get_kde_version) < 4.7 ) ]] \ |
| 380 | && ! [[ ${KMNAME} == kdeedu && ${PV} == 4.6.4 ]]; then |
380 | && ! [[ ${KMNAME} == kdeedu && ( ${PV} == 4.6.4 || ${PV} == 4.6.5 ) ]]; then |
| 381 | case ${KMNAME} in |
381 | case ${KMNAME} in |
| 382 | kdebase-runtime|kde-runtime|kdebase-workspace|kde-workspace|kdeedu|kdegames|kdegraphics) |
382 | kdebase-runtime|kde-runtime|kdebase-workspace|kde-workspace|kdeedu|kdegames|kdegraphics) |
| 383 | case ${PN} in |
383 | case ${PN} in |
| 384 | libkdegames|libkdeedu|libkworkspace) |
384 | libkdegames|libkdeedu|libkworkspace) |
| 385 | KMEXTRA+=" |
385 | KMEXTRA+=" |
| … | |
… | |
| 557 | -i CMakeLists.txt || die "${LINENO}: sed died in the kdebase-startkde collision prevention section" |
557 | -i CMakeLists.txt || die "${LINENO}: sed died in the kdebase-startkde collision prevention section" |
| 558 | fi |
558 | fi |
| 559 | # Strip EXPORT feature section from workspace for KDE4 versions > 4.1.82 |
559 | # Strip EXPORT feature section from workspace for KDE4 versions > 4.1.82 |
| 560 | if [[ ${PN} != libkworkspace ]]; then |
560 | if [[ ${PN} != libkworkspace ]]; then |
| 561 | sed -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \ |
561 | sed -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \ |
| 562 | -i CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT section" |
562 | -i CMakeLists.txt || die "${LINENO}: sed died in kde-workspace strip config install and fix EXPORT section" |
|
|
563 | fi |
|
|
564 | if [[ ${PN} != plasma-workspace ]]; then |
|
|
565 | sed -e '/KActivities/s/REQUIRED//' \ |
|
|
566 | -i CMakeLists.txt || die "${LINENO}: sed died in kde-workspace dep reduction section" |
| 563 | fi |
567 | fi |
| 564 | ;; |
568 | ;; |
| 565 | kdebase-runtime | kde-runtime) |
569 | kdebase-runtime | kde-runtime) |
| 566 | # COLLISION PROTECT section |
570 | # COLLISION PROTECT section |
| 567 | # Only install the kde4 script as part of kde-base/kdebase-data |
571 | # Only install the kde4 script as part of kde-base/kdebase-data |