Gentoo Archives: gentoo-commits

From: Johannes Huber <johu@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde:master commit in: kde-apps/kde4-l10n/files/, kde-apps/kde4-l10n/
Date: Wed, 13 Jul 2016 18:23:41
Message-Id: 1468434112.97e5b2da06082c1f7c0c83bd03058eb2c96921d6.johu@gentoo
1 commit: 97e5b2da06082c1f7c0c83bd03058eb2c96921d6
2 Author: Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
3 AuthorDate: Sun Jul 10 16:01:26 2016 +0000
4 Commit: Johannes Huber <johu <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 13 18:21:52 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=97e5b2da
7
8 kde-apps/kde4-l10n: Merge kde5.eclass changes here, fix file collisions
9
10 Gentoo-bug: 588436
11
12 Also, bail out if files are missing.
13
14 Package-Manager: portage-2.2.28
15
16 Signed-off-by: Johannes Huber <johu <AT> gentoo.org>
17
18 .../kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs | 43 ---------
19 kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild | 107 +++++++++++++++------
20 2 files changed, 77 insertions(+), 73 deletions(-)
21
22 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
23 deleted file mode 100644
24 index 9563950..0000000
25 --- a/kde-apps/kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs
26 +++ /dev/null
27 @@ -1,43 +0,0 @@
28 -# Disable any subdirectories listed here. Comments are ignored
29 -# First argument: parent directory
30 -# Second argument: which subdirectory to disable in CMakeLists.txt
31 -# kde-l10n 5
32 -data/kdeedu khangman
33 -docs/applications kate
34 -docs/applications konsole
35 -docs/applications kwrite
36 -docs/kde-runtime glossary
37 -docs/kde-runtime khelpcenter
38 -docs/kdeedu kig
39 -docs/kdeedu parley
40 -docs/kdeedu step
41 -docs/kdegames bomber
42 -docs/kdegraphics gwenview
43 -docs/kdegraphics kruler
44 -docs/kdesdk kapptemplate
45 -docs/kdesdk okteta
46 -docs/kdesdk umbrello
47 -docs/kdeutils kwalletmanager
48 -scripts kdeedu
49 -# Plasma 5
50 -docs kde-workspace
51 -docs/kde-runtime fundamentals
52 -docs/kde-runtime kdesu
53 -docs/kde-runtime khelpcenter
54 -docs/kde-runtime knetattach
55 -docs/kde-runtime onlinehelp
56 -docs/kde-runtime/kcontrol bookmarks
57 -docs/kde-runtime/kcontrol cookies
58 -docs/kde-runtime/kcontrol ebrowsing
59 -docs/kde-runtime/kcontrol emoticons
60 -docs/kde-runtime/kcontrol icons
61 -docs/kde-runtime/kcontrol kcmcgi
62 -docs/kde-runtime/kcontrol nepomuk
63 -docs/kde-runtime/kcontrol smb
64 -docs/kde-runtime/kcontrol trash
65 -docs/kde-runtime/kcontrol useragent
66 -messages kde-workspace
67 -messages kdeplasma-addons
68 -# kdepim-l10n 5
69 -docs kdepim
70 -docs kdepimlibs
71
72 diff --git a/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild b/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild
73 index 57b27d6..4e5b493 100644
74 --- a/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild
75 +++ b/kde-apps/kde4-l10n/kde4-l10n-16.04.3.ebuild
76 @@ -8,7 +8,7 @@ KDE_HANDBOOK="optional"
77 KMNAME="kde-l10n"
78 inherit kde4-base
79
80 -DESCRIPTION="KDE internationalization package"
81 +DESCRIPTION="KDE legacy internationalization package"
82 HOMEPAGE="http://l10n.kde.org"
83
84 KEYWORDS="~amd64 ~arm ~x86"
85 @@ -20,23 +20,46 @@ RDEPEND="
86 >=kde-apps/kde-l10n-${PV}
87 "
88
89 -REMOVE_DIRS="${FILESDIR}/${PN}-16.04.1-remove-dirs"
90 +REMOVE_DIRS="${FILESDIR}/${PN}-16.04.2-remove-dirs"
91 REMOVE_MSGS="${FILESDIR}/${PN}-16.03.91-remove-messages"
92
93 # /usr/portage/distfiles $ ls -1 kde-l10n-*-${PV}.* |sed -e 's:-${PV}.tar.xz::' -e 's:kde-l10n-::' |tr '\n' ' '
94 -MY_LANGS="ar ast bg bs ca ca@valencia cs da de el en_GB eo es et eu fa fi fr ga
95 -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
96 -ru sk sl sr sv tr ug uk wa zh_CN zh_TW"
97 +# Make this correspond with kde5.eclass; important: L10N, not LINGUAS here!
98 +KDE_L10N=(
99 + ar ast bg bs ca ca-valencia cs da de el en-GB eo es et eu fa fi fr ga
100 + 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
101 + ru sk sl sr sr-ijekavsk sr-Latn sr-Latn-ijekavsk sv tr ug uk wa zh-CN zh-TW
102 +)
103
104 # TODO: Drop no-op +minimal in 16.08.x - necessary kde5.eclass change happened after KF-5.23/Plasma-5.6.5
105 -IUSE="+minimal test $(printf 'l10n_%s ' ${MY_LANGS//[@_]/-})"
106 +IUSE="+minimal test $(printf 'l10n_%s ' ${KDE_L10N[@]})"
107
108 URI_BASE="${SRC_URI/-${PV}.tar.xz/}"
109 -LURI_BASE="mirror://kde/stable/${LV}/src/${KMNAME}"
110 SRC_URI=""
111
112 -for MY_LANG in ${MY_LANGS} ; do
113 - SRC_URI="${SRC_URI} l10n_${MY_LANG/[@_]/-}? ( ${URI_BASE}/${KMNAME}-${MY_LANG}-${PV}.tar.xz )"
114 +kde_l10n2lingua() {
115 + local l
116 + for l; do
117 + case ${l} in
118 + ca-valencia) echo ca@valencia;;
119 + sr-ijekavsk) echo sr@ijekavian;;
120 + sr-Latn-ijekavsk) echo sr@ijekavianlatin;;
121 + sr-Latn) echo sr@latin;;
122 + uz-Cyrl) echo uz@cyrillic;;
123 + *) echo "${l/-/_}";;
124 + esac
125 + done
126 +}
127 +
128 +for my_l10n in ${KDE_L10N[@]} ; do
129 + case ${my_l10n} in
130 + sr | sr-ijekavsk | sr-Latn-ijekavsk | sr-Latn)
131 + SRC_URI="${SRC_URI} l10n_${my_l10n}? ( ${URI_BASE}/${KMNAME}-sr-${PV}.tar.xz )"
132 + ;;
133 + *)
134 + SRC_URI="${SRC_URI} l10n_${my_l10n}? ( ${URI_BASE}/${KMNAME}-$(kde_l10n2lingua ${my_l10n})-${PV}.tar.xz )"
135 + ;;
136 + esac
137 done
138
139 S="${WORKDIR}"
140 @@ -47,7 +70,7 @@ pkg_setup() {
141 elog "None of the requested L10N are supported by ${P}."
142 elog
143 elog "${P} supports these language codes:"
144 - elog "${MY_LANGS//[@_]/-}"
145 + elog "${KDE_L10N[@]}"
146 elog
147 fi
148 [[ -n ${A} ]] && kde4-base_pkg_setup
149 @@ -65,24 +88,16 @@ src_prepare() {
150 default
151 [[ -n ${A} ]] || return
152
153 - # L10N=sr variants are subdirs within sr/ ...
154 - if [[ -d "${KMNAME}-sr-${PV}" ]] ; then
155 - for variant in "${KMNAME}"-sr-${PV}/4/sr/sr@*; do
156 - mkdir -p "${KMNAME}-${variant##*/}-${PV}/4" ||
157 - die "Failed to create L10N=${variant##*/} subdir"
158 - mv ${variant} "${KMNAME}-${variant##*/}-${PV}/4/${variant##*/}" ||
159 - die "Failed to move L10N=${variant##*/}"
160 - cp -f "${KMNAME}-sr-${PV}"/CMakeLists.txt "${KMNAME}-${variant##*/}-${PV}" ||
161 - die "Failed to prepare L10N=${variant##*/} subdir"
162 - echo "add_subdirectory(${variant##*/})" > "${KMNAME}-${variant##*/}-${PV}"/4/CMakeLists.txt ||
163 - die "Failed to prepare L10N=${variant##*/} subdir"
164 - cp -f "${KMNAME}-sr-${PV}"/4/sr/CMakeLists.txt "${KMNAME}-${variant##*/}-${PV}"/4/${variant##*/} ||
165 - die "Failed to prepare L10N=${variant##*/} subdir"
166 - sed -e "/^macro.*sr/d" \
167 - -e "s/sr/${variant##*/}/" \
168 - -i "${KMNAME}-${variant##*/}-${PV}"/4/${variant##*/}/CMakeLists.txt ||
169 - die "Failed to prepare L10N=${variant##*/} subdir"
170 - done
171 + # move known variant subdirs to root dir, currently sr@*
172 + use_if_iuse l10n_sr-ijekavsk && _l10n_variant_subdir2root sr-ijekavsk sr
173 + use_if_iuse l10n_sr-Latn-ijekavsk && _l10n_variant_subdir2root sr-Latn-ijekavsk sr
174 + use_if_iuse l10n_sr-Latn && _l10n_variant_subdir2root sr-Latn sr
175 + if use_if_iuse l10n_sr; then
176 + rm -rf kde-l10n-sr-${PV}/4/sr/sr@* || die "Failed to cleanup L10N=sr"
177 + _l10n_variant_subdir_buster sr
178 + elif [[ -d kde-l10n-sr-${PV} ]]; then
179 + # having any variant selected means parent lingua will be unpacked as well
180 + rm -r kde-l10n-sr-${PV} || die "Failed to remove sr parent lingua"
181 fi
182
183 # add all l10n to cmake
184 @@ -97,13 +112,16 @@ EOF
185 sed -i -e "/add_subdirectory(5)/ s/^/#DONT/" {} + || die
186
187 einfo "Removing file collisions with Plasma 5 and Applications"
188 + [[ -f ${REMOVE_DIRS} ]] || die "Error: ${REMOVE_DIRS} not found!"
189 + [[ -f ${REMOVE_MSGS} ]] || die "Error: ${REMOVE_MSGS} not found!"
190 +
191 use test && einfo "Tests enabled: Listing LINGUAS causing file collisions"
192
193 einfo "Directories..."
194 while read path; do
195 if use test ; then # build a report w/ L10N="*" to submit @upstream
196 local lngs
197 - for lng in ${MY_LANGS}; do
198 + for lng in $(kde_l10n2lingua ${KDE_L10N[@]}); do
199 SDIR="${S}/${KMNAME}-${lng}-${PV}/4/${lng}"
200 if [[ -d "${SDIR}"/${path%\ *}/${path#*\ } ]] ; then
201 lngs+=" ${lng}"
202 @@ -125,7 +143,7 @@ EOF
203 while read path; do
204 if use test ; then # build a report w/ L10N="*" to submit @upstream
205 local lngs
206 - for lng in ${MY_LANGS}; do
207 + for lng in $(kde_l10n2lingua ${KDE_L10N[@]}); do
208 SDIR="${S}/${KMNAME}-${lng}-${PV}/4/${lng}"
209 if [[ -e "${SDIR}"/messages/${path} ]] ; then
210 lngs+=" ${lng}"
211 @@ -158,3 +176,32 @@ src_test() { :; }
212 src_install() {
213 [[ -n ${A} ]] && kde4-base_src_install
214 }
215 +
216 +_l10n_variant_subdir2root() {
217 + local lingua=$(kde_l10n2lingua ${1})
218 + local src=kde-l10n-${2}-${PV}
219 + local dest=kde-l10n-${lingua}-${PV}/4
220 +
221 + # create variant rootdir structure from parent lingua and adapt it
222 + mkdir -p ${dest} || die "Failed to create ${dest}"
223 + mv ${src}/4/${2}/${lingua} ${dest}/${lingua} || die "Failed to create ${dest}/${lingua}"
224 + cp -f ${src}/CMakeLists.txt kde-l10n-${lingua}-${PV} || die "Failed to prepare L10N=${1} subdir"
225 + echo "add_subdirectory(${lingua})" > ${dest}/CMakeLists.txt ||
226 + die "Failed to prepare ${dest}/CMakeLists.txt"
227 + cp -f ${src}/4/${2}/CMakeLists.txt ${dest}/${lingua} ||
228 + die "Failed to create ${dest}/${lingua}/CMakeLists.txt"
229 + sed -e "s/${2}/${lingua}/" -i ${dest}/${lingua}/CMakeLists.txt ||
230 + die "Failed to prepare ${dest}/${lingua}/CMakeLists.txt"
231 +
232 + _l10n_variant_subdir_buster ${1}
233 +}
234 +
235 +_l10n_variant_subdir_buster() {
236 + local dir=kde-l10n-$(kde_l10n2lingua ${1})-${PV}/4/$(kde_l10n2lingua ${1})
237 +
238 + sed -e "/^macro.*subdirectory(/d" -i ${dir}/CMakeLists.txt || die "Failed to cleanup ${dir} subdir"
239 +
240 + for subdir in $(find ${dir} -mindepth 1 -maxdepth 1 -type d | sed -e "s:^\./::"); do
241 + echo "add_subdirectory(${subdir##*/})" >> ${dir}/CMakeLists.txt
242 + done
243 +}