diff options
| author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-07-13 21:53:08 +0200 |
|---|---|---|
| committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-07-13 22:07:36 +0200 |
| commit | 672bb71c3e8b5206e63bccb6346c56193f4eeee9 (patch) | |
| tree | da6aa725949d4378984fc906cfdf96ab729905bb | |
| parent | 5cd8cf2c8c5f2bcf6d6e139a4051bd43121650d2 (diff) | |
| download | kde-672bb71c3e8b5206e63bccb6346c56193f4eeee9.tar.gz kde-672bb71c3e8b5206e63bccb6346c56193f4eeee9.tar.bz2 kde-672bb71c3e8b5206e63bccb6346c56193f4eeee9.zip | |
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
| -rw-r--r-- | kde-apps/kde4-l10n/files/kde4-l10n-17.04.3-remove-messages (renamed from kde-apps/kde4-l10n/files/kde4-l10n-16.11.90-remove-messages) | 65 | ||||
| -rw-r--r-- | 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 index 7f77a89708b..493415f1fb9 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 f5397b5a76e..dff133c0106 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 } |
