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