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
+}
next 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