summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2017-07-13 21:53:08 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2017-07-13 22:07:36 +0200
commit672bb71c3e8b5206e63bccb6346c56193f4eeee9 (patch)
treeda6aa725949d4378984fc906cfdf96ab729905bb
parent5cd8cf2c8c5f2bcf6d6e139a4051bd43121650d2 (diff)
downloadkde-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.ebuild123
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
}