public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Johannes Huber" <johu@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/kde:master commit in: kde-apps/kde4-l10n/files/, kde-apps/kde4-l10n/
Date: Wed, 13 Jul 2016 18:23:31 +0000 (UTC)	[thread overview]
Message-ID: <1468434112.97e5b2da06082c1f7c0c83bd03058eb2c96921d6.johu@gentoo> (raw)

commit:     97e5b2da06082c1f7c0c83bd03058eb2c96921d6
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Sun Jul 10 16:01:26 2016 +0000
Commit:     Johannes Huber <johu <AT> gentoo <DOT> org>
CommitDate: Wed Jul 13 18:21:52 2016 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=97e5b2da

kde-apps/kde4-l10n: Merge kde5.eclass changes here, fix file collisions

Gentoo-bug: 588436

Also, bail out if files are missing.

Package-Manager: portage-2.2.28

Signed-off-by: Johannes Huber <johu <AT> gentoo.org>

 .../kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs  |  43 ---------
 kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild        | 107 +++++++++++++++------
 2 files changed, 77 insertions(+), 73 deletions(-)

diff --git a/kde-apps/kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs b/kde-apps/kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs
deleted file mode 100644
index 9563950..0000000
--- a/kde-apps/kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs
+++ /dev/null
@@ -1,43 +0,0 @@
-# Disable any subdirectories listed here. Comments are ignored
-# First argument: parent directory
-# Second argument: which subdirectory to disable in CMakeLists.txt
-# kde-l10n 5
-data/kdeedu khangman
-docs/applications kate
-docs/applications konsole
-docs/applications kwrite
-docs/kde-runtime glossary
-docs/kde-runtime khelpcenter
-docs/kdeedu kig
-docs/kdeedu parley
-docs/kdeedu step
-docs/kdegames bomber
-docs/kdegraphics gwenview
-docs/kdegraphics kruler
-docs/kdesdk kapptemplate
-docs/kdesdk okteta
-docs/kdesdk umbrello
-docs/kdeutils kwalletmanager
-scripts kdeedu
-# Plasma 5
-docs kde-workspace
-docs/kde-runtime fundamentals
-docs/kde-runtime kdesu
-docs/kde-runtime khelpcenter
-docs/kde-runtime knetattach
-docs/kde-runtime onlinehelp
-docs/kde-runtime/kcontrol bookmarks
-docs/kde-runtime/kcontrol cookies
-docs/kde-runtime/kcontrol ebrowsing
-docs/kde-runtime/kcontrol emoticons
-docs/kde-runtime/kcontrol icons
-docs/kde-runtime/kcontrol kcmcgi
-docs/kde-runtime/kcontrol nepomuk
-docs/kde-runtime/kcontrol smb
-docs/kde-runtime/kcontrol trash
-docs/kde-runtime/kcontrol useragent
-messages kde-workspace
-messages kdeplasma-addons
-# kdepim-l10n 5
-docs kdepim
-docs kdepimlibs

diff --git a/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild b/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild
index 57b27d6..4e5b493 100644
--- a/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild
+++ b/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild
@@ -8,7 +8,7 @@ KDE_HANDBOOK="optional"
 KMNAME="kde-l10n"
 inherit kde4-base
 
-DESCRIPTION="KDE internationalization package"
+DESCRIPTION="KDE legacy internationalization package"
 HOMEPAGE="http://l10n.kde.org"
 
 KEYWORDS="~amd64 ~arm ~x86"
@@ -20,23 +20,46 @@ RDEPEND="
 	>=kde-apps/kde-l10n-${PV}
 "
 
-REMOVE_DIRS="${FILESDIR}/${PN}-16.04.1-remove-dirs"
+REMOVE_DIRS="${FILESDIR}/${PN}-16.04.2-remove-dirs"
 REMOVE_MSGS="${FILESDIR}/${PN}-16.03.91-remove-messages"
 
 # /usr/portage/distfiles $ ls -1 kde-l10n-*-${PV}.* |sed -e 's:-${PV}.tar.xz::' -e 's:kde-l10n-::' |tr '\n' ' '
-MY_LANGS="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 sv tr ug uk wa zh_CN zh_TW"
+# Make this correspond with kde5.eclass; important: L10N, not LINGUAS here!
+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
+)
 
 # TODO: Drop no-op +minimal in 16.08.x - necessary kde5.eclass change happened after KF-5.23/Plasma-5.6.5
-IUSE="+minimal test $(printf 'l10n_%s ' ${MY_LANGS//[@_]/-})"
+IUSE="+minimal test $(printf 'l10n_%s ' ${KDE_L10N[@]})"
 
 URI_BASE="${SRC_URI/-${PV}.tar.xz/}"
-LURI_BASE="mirror://kde/stable/${LV}/src/${KMNAME}"
 SRC_URI=""
 
-for MY_LANG in ${MY_LANGS} ; do
-	SRC_URI="${SRC_URI} l10n_${MY_LANG/[@_]/-}? ( ${URI_BASE}/${KMNAME}-${MY_LANG}-${PV}.tar.xz )"
+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
+}
+
+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}/${KMNAME}-sr-${PV}.tar.xz )"
+			;;
+		*)
+			SRC_URI="${SRC_URI} l10n_${my_l10n}? ( ${URI_BASE}/${KMNAME}-$(kde_l10n2lingua ${my_l10n})-${PV}.tar.xz )"
+			;;
+	esac
 done
 
 S="${WORKDIR}"
@@ -47,7 +70,7 @@ pkg_setup() {
 		elog "None of the requested L10N are supported by ${P}."
 		elog
 		elog "${P} supports these language codes:"
-		elog "${MY_LANGS//[@_]/-}"
+		elog "${KDE_L10N[@]}"
 		elog
 	fi
 	[[ -n ${A} ]] && kde4-base_pkg_setup
@@ -65,24 +88,16 @@ src_prepare() {
 	default
 	[[ -n ${A} ]] || return
 
-	# L10N=sr variants are subdirs within sr/ ...
-	if [[ -d "${KMNAME}-sr-${PV}" ]] ; then
-		for variant in "${KMNAME}"-sr-${PV}/4/sr/sr@*; do
-			mkdir -p "${KMNAME}-${variant##*/}-${PV}/4" ||
-				die "Failed to create L10N=${variant##*/} subdir"
-			mv ${variant} "${KMNAME}-${variant##*/}-${PV}/4/${variant##*/}" ||
-				die "Failed to move L10N=${variant##*/}"
-			cp -f "${KMNAME}-sr-${PV}"/CMakeLists.txt "${KMNAME}-${variant##*/}-${PV}" ||
-				die "Failed to prepare L10N=${variant##*/} subdir"
-			echo "add_subdirectory(${variant##*/})" > "${KMNAME}-${variant##*/}-${PV}"/4/CMakeLists.txt ||
-				die "Failed to prepare L10N=${variant##*/} subdir"
-			cp -f "${KMNAME}-sr-${PV}"/4/sr/CMakeLists.txt "${KMNAME}-${variant##*/}-${PV}"/4/${variant##*/} ||
-				die "Failed to prepare L10N=${variant##*/} subdir"
-			sed -e "/^macro.*sr/d" \
-				-e "s/sr/${variant##*/}/" \
-				-i "${KMNAME}-${variant##*/}-${PV}"/4/${variant##*/}/CMakeLists.txt ||
-				die "Failed to prepare L10N=${variant##*/} subdir"
-		done
+	# 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
 
 	# add all l10n to cmake
@@ -97,13 +112,16 @@ EOF
 		sed -i -e "/add_subdirectory(5)/ s/^/#DONT/" {} + || die
 
 	einfo "Removing file collisions with Plasma 5 and Applications"
+	[[ -f ${REMOVE_DIRS} ]] || die "Error: ${REMOVE_DIRS} not found!"
+	[[ -f ${REMOVE_MSGS} ]] || die "Error: ${REMOVE_MSGS} not found!"
+
 	use test && einfo "Tests enabled: Listing LINGUAS causing file collisions"
 
 	einfo "Directories..."
 	while read path; do
 		if use test ; then	# build a report w/ L10N="*" to submit @upstream
 			local lngs
-			for lng in ${MY_LANGS}; do
+			for lng in $(kde_l10n2lingua ${KDE_L10N[@]}); do
 				SDIR="${S}/${KMNAME}-${lng}-${PV}/4/${lng}"
 				if [[ -d "${SDIR}"/${path%\ *}/${path#*\ } ]] ; then
 					lngs+=" ${lng}"
@@ -125,7 +143,7 @@ EOF
 	while read path; do
 		if use test ; then	# build a report w/ L10N="*" to submit @upstream
 			local lngs
-			for lng in ${MY_LANGS}; do
+			for lng in $(kde_l10n2lingua ${KDE_L10N[@]}); do
 				SDIR="${S}/${KMNAME}-${lng}-${PV}/4/${lng}"
 				if [[ -e "${SDIR}"/messages/${path} ]] ; then
 					lngs+=" ${lng}"
@@ -158,3 +176,32 @@ src_test() { :; }
 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
+		echo "add_subdirectory(${subdir##*/})" >> ${dir}/CMakeLists.txt
+	done
+}


             reply	other threads:[~2016-07-13 18:23 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-13 18:23 Johannes Huber [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-08-12 15:48 [gentoo-commits] proj/kde:master commit in: kde-apps/kde4-l10n/files/, kde-apps/kde4-l10n/ Andreas Sturmlechner
2017-07-13 20:18 Andreas Sturmlechner
2017-07-13 20:07 Andreas Sturmlechner
2017-03-25 17:07 Andreas Sturmlechner
2017-03-25 17:07 Andreas Sturmlechner
2016-07-25 15:30 Michael Palimaka
2016-07-15  6:16 Johannes Huber
2016-04-07 19:19 Michael Palimaka
2016-03-29 19:23 Alexey Shvetsov
2016-03-20 20:43 Johannes Huber
2015-08-19 22:28 Johannes Huber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1468434112.97e5b2da06082c1f7c0c83bd03058eb2c96921d6.johu@gentoo \
    --to=johu@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox