commit:     672bb71c3e8b5206e63bccb6346c56193f4eeee9
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 13 19:53:08 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 13 20:07:36 2017 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=672bb71c

kde-apps/kde4-l10n: Merge kde5.eclass l10n hacks, switch to kde4-base

No need to keep these functions in the eclass for a single consumer.
Upstream is cleaning up - drop obsolete conflicts.

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 ...-messages => kde4-l10n-17.04.3-remove-messages} |  65 +++++------
 kde-apps/kde4-l10n/kde4-l10n-17.04.3.ebuild        | 123 ++++++++++++++++++---
 2 files changed, 135 insertions(+), 53 deletions(-)

diff --git a/kde-apps/kde4-l10n/files/kde4-l10n-16.11.90-remove-messages 
b/kde-apps/kde4-l10n/files/kde4-l10n-17.04.3-remove-messages
similarity index 53%
rename from kde-apps/kde4-l10n/files/kde4-l10n-16.11.90-remove-messages
rename to kde-apps/kde4-l10n/files/kde4-l10n-17.04.3-remove-messages
index 7f77a89708..493415f1fb 100644
--- a/kde-apps/kde4-l10n/files/kde4-l10n-16.11.90-remove-messages
+++ b/kde-apps/kde4-l10n/files/kde4-l10n-17.04.3-remove-messages
@@ -1,53 +1,38 @@
 # Remove any path listed here. Comments are ignored
+# KDE SDK 4
+kdesdk/umbrello.po
+
+# plasma-desktop - fixed in: 5.10.0
+# KDELIBS 4
+kdelibs/kcm_baloofile.po
 # KDE Runtime 4
 kde-runtime/attica_kde.po
-kde-runtime/drkonqi.po
-kde-runtime/filetypes.po
-kde-runtime/htmlsearch.po
-kde-runtime/kcmcomponentchooser.po
 kde-runtime/kcm_device_automounter.po
 kde-runtime/kcm_emoticons.po
-kde-runtime/kcmhtmlsearch.po
+kde-runtime/kcm_phonon.po
 kde-runtime/kcmicons.po
 kde-runtime/kcmkded.po
 kde-runtime/kcmnotify.po
-kde-runtime/kcm_phonon.po
-kde-runtime/kcmshell.po
-kde-runtime/kdesu.po
-kde-runtime/kglobalaccel.po
-kde-runtime/khelpcenter.po
+kde-runtime/kcmcomponentchooser.po
+kde-runtime/knetattach.po
+
+# plasma-workspace - fixed in: 5.10.0
+# KDELIBS 4
+kdelibs/plasma_runner_baloosearchrunner.po
+# KDE Runtime 4
+kde-runtime/drkonqi.po
 kde-runtime/kio_applications.po
-kde-runtime/kio_archive.po
-kde-runtime/kio_bookmarks.po
-kde-runtime/kioclient.po
-kde-runtime/kio_fish.po
-kde-runtime/kio_info.po
-kde-runtime/kio_man.po
-kde-runtime/kio_nfs.po
-kde-runtime/kio_recentdocuments.po
+kde-runtime/phonon_kde.po
+kde-runtime/soliduiserver.po
+# fixed in: 5.8.6-r1, 5.9.5.1-r1
 kde-runtime/kio_remote.po
-kde-runtime/kio_sftp.po
-kde-runtime/kio_smb.po
-kde-runtime/kio_thumbnail.po
+
+# kde-cli-tools - fixed in: 5.10.0
+# KDE Runtime 4
+kde-runtime/filetypes.po
+kde-runtime/kcmshell.po
 kde-runtime/kmimetypefinder.po
-kde-runtime/knetattach.po
+kde-runtime/kdesu.po
+kde-runtime/kioclient.po
 kde-runtime/kstart.po
 kde-runtime/ktraderclient.po
-kde-runtime/phonon_kde.po
-kde-runtime/soliduiserver.po
-# KDELIBS 4
-kdelibs/akonadi_baloo_indexer.po
-kdelibs/baloo_file_extractor.po
-kdelibs/baloo_file.po
-kdelibs/baloosearch.po
-kdelibs/balooshow.po
-kdelibs/baloowidgets.po
-kdelibs/kcm_activities.po
-kdelibs/kcm_baloofile.po
-kdelibs/kfilemetadata.po
-kdelibs/kio_baloosearch.po
-kdelibs/kio_tags.po
-kdelibs/kio_timeline.po
-kdelibs/plasma_runner_baloosearchrunner.po
-# KDE SDK 4
-kdesdk/umbrello.po

diff --git a/kde-apps/kde4-l10n/kde4-l10n-17.04.3.ebuild 
b/kde-apps/kde4-l10n/kde4-l10n-17.04.3.ebuild
index f5397b5a76..dff133c010 100644
--- a/kde-apps/kde4-l10n/kde4-l10n-17.04.3.ebuild
+++ b/kde-apps/kde4-l10n/kde4-l10n-17.04.3.ebuild
@@ -3,31 +3,65 @@
 
 EAPI=6
 
-KDE_AUTODEPS="false"
 KDE_HANDBOOK="optional"
 KDE_L10N=(
        ar ast bg bs ca ca-valencia cs da de el en-GB eo es et eu fa fi fr ga 
gl he
        hi hr hu ia id is it ja kk km ko lt lv mr nb nds nl nn pa pl pt pt-BR 
ro ru
        sk sl sr sr-ijekavsk sr-Latn sr-Latn-ijekavsk sv tr ug uk wa zh-CN zh-TW
 )
-KMNAME="kde-l10n"
-inherit kde5
+inherit kde4-base
 
 DESCRIPTION="KDE legacy internationalization package"
+HOMEPAGE="https://l10n.kde.org";
+
+kde_l10n2lingua() {
+       local l
+       for l; do
+               case ${l} in
+                       ca-valencia) echo ca@valencia;;
+                       sr-ijekavsk) echo sr@ijekavian;;
+                       sr-Latn-ijekavsk) echo sr@ijekavianlatin;;
+                       sr-Latn) echo sr@latin;;
+                       uz-Cyrl) echo uz@cyrillic;;
+                       *) echo "${l/-/_}";;
+               esac
+       done
+}
+
+URI_BASE="${SRC_URI/kde4-l10n-${PV}.tar.xz/}kde-l10n/kde-l10n"
+SRC_URI=""
+for my_l10n in ${KDE_L10N[@]} ; do
+       case ${my_l10n} in
+               sr | sr-ijekavsk | sr-Latn-ijekavsk | sr-Latn)
+                       SRC_URI="${SRC_URI} l10n_${my_l10n}? ( 
${URI_BASE}-sr-${PV}.tar.xz )"
+                       ;;
+               *)
+                       SRC_URI="${SRC_URI} l10n_${my_l10n}? ( 
${URI_BASE}-$(kde_l10n2lingua ${my_l10n})-${PV}.tar.xz )"
+                       ;;
+       esac
+done
+unset URI_BASE
 
-SLOT="4"
 KEYWORDS="~amd64 ~arm ~x86"
 
 DEPEND="
-       kde-frameworks/kdelibs:4
        sys-devel/gettext
 "
-RDEPEND=""
+RDEPEND="
+       !<kde-apps/akonadi-search-17.04.1:5
+       !<kde-apps/khelpcenter-17.04.1:5
+       !<kde-apps/kio-extras-17.04.1:5
+       !<kde-frameworks/baloo-5.34.0:5
+       !<kde-frameworks/baloo-widgets-5.34.0:5
+       !<kde-frameworks/kfilemetadata-5.34.0:5
+"
 
 REMOVE_DIRS="${FILESDIR}/${PN}-16.12.3-remove-dirs"
-REMOVE_MSGS="${FILESDIR}/${PN}-16.11.90-remove-messages"
+REMOVE_MSGS="${FILESDIR}/${P}-remove-messages"
 
-IUSE="aqua test" # TODO: Drop aqua as soon as possible
+IUSE="test $(printf 'l10n_%s ' ${KDE_L10N[@]})"
+
+S="${WORKDIR}"
 
 pkg_setup() {
        if [[ -z ${A} ]]; then
@@ -38,11 +72,43 @@ pkg_setup() {
                elog "${KDE_L10N[@]}"
                elog
        fi
-       [[ -n ${A} ]] && kde5_pkg_setup
+       [[ -n ${A} ]] && kde4-base_pkg_setup
+}
+
+src_unpack() {
+       for my_tar in ${A}; do
+               tar -xpf "${DISTDIR}/${my_tar}" --xz \
+                       "${my_tar/.tar.xz/}/CMakeLists.txt" 
"${my_tar/.tar.xz/}/4" 2> /dev/null ||
+                       elog "${my_tar}: tar extract command failed at least 
partially - continuing"
+       done
 }
 
 src_prepare() {
-       kde5_src_prepare
+       # move known variant subdirs to root dir, currently sr@*
+       use_if_iuse l10n_sr-ijekavsk && l10n_variant_subdir2root sr-ijekavsk sr
+       use_if_iuse l10n_sr-Latn-ijekavsk && l10n_variant_subdir2root 
sr-Latn-ijekavsk sr
+       use_if_iuse l10n_sr-Latn && l10n_variant_subdir2root sr-Latn sr
+       if use_if_iuse l10n_sr; then
+               rm -rf kde-l10n-sr-${PV}/4/sr/sr@* || die "Failed to cleanup 
L10N=sr"
+               l10n_variant_subdir_buster sr
+       elif [[ -d kde-l10n-sr-${PV} ]]; then
+               # having any variant selected means parent lingua will be 
unpacked as well
+               rm -r kde-l10n-sr-${PV} || die "Failed to remove sr parent 
lingua"
+       fi
+
+       cat <<-EOF > CMakeLists.txt || die
+       project(${PN})
+       cmake_minimum_required(VERSION 2.8.12)
+       EOF
+       # add all l10n directories to cmake
+       if [[ -n ${A} ]]; then
+               cat <<-EOF >> CMakeLists.txt || die
+               $(printf "add_subdirectory( %s )\n" \
+                       `find . -mindepth 1 -maxdepth 1 -type d | sed -e 
"s:^\./::"`)
+               EOF
+       fi
+
+       kde4-base_src_prepare
        [[ -n ${A} ]] || return
 
        einfo "Removing file collisions with Plasma 5 and Applications"
@@ -98,15 +164,46 @@ src_configure() {
        local mycmakeargs=(
                -DBUILD_docs=$(usex handbook)
        )
-       [[ -n ${A} ]] && kde5_src_configure
+       [[ -n ${A} ]] && kde4-base_src_configure
 }
 
 src_compile() {
-       [[ -n ${A} ]] && kde5_src_compile
+       [[ -n ${A} ]] && kde4-base_src_compile
 }
 
 src_test() { :; }
 
 src_install() {
-       [[ -n ${A} ]] && kde5_src_install
+       [[ -n ${A} ]] && kde4-base_src_install
+}
+
+l10n_variant_subdir2root() {
+       local lingua=$(kde_l10n2lingua ${1})
+       local src=kde-l10n-${2}-${PV}
+       local dest=kde-l10n-${lingua}-${PV}/4
+
+       # create variant rootdir structure from parent lingua and adapt it
+       mkdir -p ${dest} || die "Failed to create ${dest}"
+       mv ${src}/4/${2}/${lingua} ${dest}/${lingua} || die "Failed to create 
${dest}/${lingua}"
+       cp -f ${src}/CMakeLists.txt kde-l10n-${lingua}-${PV} || die "Failed to 
prepare L10N=${1} subdir"
+       echo "add_subdirectory(${lingua})" > ${dest}/CMakeLists.txt ||
+               die "Failed to prepare ${dest}/CMakeLists.txt"
+       cp -f ${src}/4/${2}/CMakeLists.txt ${dest}/${lingua} ||
+               die "Failed to create ${dest}/${lingua}/CMakeLists.txt"
+       sed -e "s/${2}/${lingua}/" -i ${dest}/${lingua}/CMakeLists.txt ||
+               die "Failed to prepare ${dest}/${lingua}/CMakeLists.txt"
+
+       l10n_variant_subdir_buster ${1}
+}
+
+l10n_variant_subdir_buster() {
+       local dir=kde-l10n-$(kde_l10n2lingua ${1})-${PV}/4/$(kde_l10n2lingua 
${1})
+
+       sed -e "/^macro.*subdirectory(/d" -i ${dir}/CMakeLists.txt || die 
"Failed to cleanup ${dir} subdir"
+
+       for subdir in $(find ${dir} -mindepth 1 -maxdepth 1 -type d | sed -e 
"s:^\./::"); do
+               if [[ ${subdir##*/} != "cmake_modules" ]] ; then
+                       echo "add_subdirectory(${subdir##*/})" >> 
${dir}/CMakeLists.txt || die
+               fi
+       done
 }

Reply via email to