commit:     95570c77ce6b073a3849c87a6b7cf2d98d3dab77
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Wed Jun  1 20:14:57 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Wed Jun  1 21:45:46 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95570c77

kde-apps/kde4-l10n: Fix LINGUAS=nn,sr

Package-Manager: portage-2.2.28

 .../kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs  |  43 +++++
 kde-apps/kde4-l10n/kde4-l10n-16.04.1-r1.ebuild     | 206 +++++++++++++++++++++
 2 files changed, 249 insertions(+)

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
new file mode 100644
index 0000000..9563950
--- /dev/null
+++ b/kde-apps/kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs
@@ -0,0 +1,43 @@
+# 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.1-r1.ebuild 
b/kde-apps/kde4-l10n/kde4-l10n-16.04.1-r1.ebuild
new file mode 100644
index 0000000..d126b30
--- /dev/null
+++ b/kde-apps/kde4-l10n/kde4-l10n-16.04.1-r1.ebuild
@@ -0,0 +1,206 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+KDE_HANDBOOK="optional"
+KMNAME="kde-l10n"
+inherit kde4-base
+
+DESCRIPTION="KDE internationalization package"
+HOMEPAGE="http://l10n.kde.org";
+
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+       sys-devel/gettext
+"
+RDEPEND="
+       !minimal? ( !kde-apps/kde-l10n )
+       minimal? ( >=kde-apps/kde-l10n-${PV} )
+"
+
+REMOVE_DIRS="${FILESDIR}/${PN}-16.04.1-remove-dirs"
+REMOVE_MSGS="${FILESDIR}/${PN}-16.03.91-remove-messages"
+
+LV="4.14.3"
+LEGACY_LANGS="ar bg bs ca ca@valencia cs da de el en_GB 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"
+
+# /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"
+
+IUSE="+minimal test $(printf 'linguas_%s ' ${MY_LANGS})"
+
+URI_BASE="${SRC_URI/-${PV}.tar.xz/}"
+LURI_BASE="mirror://kde/stable/${LV}/src/${KMNAME}"
+SRC_URI=""
+
+for MY_LANG in ${LEGACY_LANGS} ; do
+       SRC_URI="${SRC_URI} linguas_${MY_LANG}? ( 
${LURI_BASE}/${KMNAME}-${MY_LANG}-${LV}.tar.xz )"
+done
+
+for MY_LANG in ${MY_LANGS} ; do
+       SRC_URI="${SRC_URI} linguas_${MY_LANG}? ( 
${URI_BASE}/${KMNAME}-${MY_LANG}-${PV}.tar.xz )"
+done
+
+S="${WORKDIR}"
+
+pkg_setup() {
+       if [[ -z ${A} ]]; then
+               elog
+               elog "You either have the LINGUAS variable unset, or it only"
+               elog "contains languages not supported by ${P}."
+               elog "You won't have any additional language support."
+               elog
+               elog "${P} supports these language codes:"
+               elog "${MY_LANGS}"
+               elog
+       fi
+       [[ -n ${A} ]] && kde4-base_pkg_setup
+}
+
+src_unpack() {
+       for my_tar in ${A}; do
+               [[ ${my_tar} = *${PV}* ]] && local subdir="/4"
+               use minimal && [[ ${my_tar} = *${LV}* ]] && continue
+               tar -xpf "${DISTDIR}/${my_tar}" --xz \
+                       "${my_tar/.tar.xz/}/CMakeLists.txt" 
"${my_tar/.tar.xz/}${subdir}" 2> /dev/null ||
+                       elog "${my_tar}: tar extract command failed at least 
partially - continuing"
+       done
+}
+
+src_prepare() {
+       default
+       [[ -n ${A} ]] || return
+
+       # LINGUAS=sr variants are subdirs within sr/ ...
+       if use minimal && [[ -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 LINGUAS=${variant##*/} 
subdir"
+                       mv ${variant} "${KMNAME}-${variant##*/}-${PV}/4/sr" ||
+                               die "Failed to move LINGUAS=${variant##*/}"
+                       cp -f "${KMNAME}-sr-${PV}"/CMakeLists.txt 
"${KMNAME}-${variant##*/}-${PV}" ||
+                               die "Failed to prepare LINGUAS=${variant##*/} 
subdir"
+                       cp -f "${KMNAME}-sr-${PV}"/4/CMakeLists.txt 
"${KMNAME}-${variant##*/}-${PV}"/4 ||
+                               die "Failed to prepare LINGUAS=${variant##*/} 
subdir"
+                       cp -f "${KMNAME}-sr-${PV}"/4/sr/CMakeLists.txt 
"${KMNAME}-${variant##*/}-${PV}"/4/sr ||
+                               die "Failed to prepare LINGUAS=${variant##*/} 
subdir"
+                       sed -e "/^macro.*sr/d" \
+                               -e "s/sr/${variant##*/}/" \
+                               -i 
"${KMNAME}-${variant##*/}-${PV}"/4/sr/CMakeLists.txt ||
+                               die "Failed to prepare LINGUAS=${variant##*/} 
subdir"
+               done
+       fi
+
+       # add all linguas to cmake
+       cat <<-EOF > CMakeLists.txt || die
+project(kde4-l10n)
+cmake_minimum_required(VERSION 2.8.12)
+$(printf "add_subdirectory( %s )\n" `find . -mindepth 1 -maxdepth 1 -type d 
-name "*${PV}*"`)
+EOF
+
+       # Drop KF5-based part
+       find -maxdepth 2 -type f -name CMakeLists.txt -exec \
+               sed -i -e "/add_subdirectory(5)/ s/^/#DONT/" {} + || die
+
+       if use minimal; then
+               einfo "Removing file collisions with Plasma 5 and Applications"
+               use test && einfo "Tests enabled: Listing LINGUAS causing file 
collisions"
+
+               einfo "Directories..."
+               while read path; do
+                       if use test ; then      # build a report w/ LINGUAS="*" 
to submit @upstream
+                               local lngs
+                               for lng in ${LINGUAS}; do
+                                       
SDIR="${S}/${KMNAME}-${lng}-${PV}/4/${lng}"
+                                       if [[ -d "${SDIR}"/${path%\ 
*}/${path#*\ } ]] ; then
+                                               lngs+=" ${lng}"
+                                       fi
+                               done
+                               [[ -n "${lngs}" ]] && einfo "${path%\ 
*}/${path#*\ }${lngs}"
+                               unset lngs
+                       fi
+                       if ls -U ./*/4/*/${path%\ *}/${path#*\ } > /dev/null 
2>&1; then
+                               sed -e "\:add_subdirectory(\s*${path#*\ }\s*): 
s:^:#:" \
+                                       -i ./*/4/*/${path%\ *}/CMakeLists.txt 
|| \
+                                       die "Failed to comment out ${path}"
+                       else
+                               einfo "F: ${path}"      # run with LINGUAS="*" 
to cut down list
+                       fi
+               done < <(grep -ve "^$\|^\s*\#" "${REMOVE_DIRS}")
+               einfo
+               einfo "Messages..."
+               while read path; do
+                       if use test ; then      # build a report w/ LINGUAS="*" 
to submit @upstream
+                               local lngs
+                               for lng in ${LINGUAS}; do
+                                       
SDIR="${S}/${KMNAME}-${lng}-${PV}/4/${lng}"
+                                       if [[ -e "${SDIR}"/messages/${path} ]] 
; then
+                                               lngs+=" ${lng}"
+                                       fi
+                               done
+                               [[ -n "${lngs}" ]] && einfo "${path}${lngs}"
+                               unset lngs
+                       fi
+                       if ls -U ./*/4/*/messages/${path} > /dev/null 2>&1; then
+                               rm ./*/4/*/messages/${path} || die "Failed to 
remove ${path}"
+                       else
+                               einfo "F: ${path}"      # run with LINGUAS="*" 
to cut down list
+                       fi
+               done < <(grep -ve "^$\|^\s*\#" "${REMOVE_MSGS}")
+       else
+               local LNG LDIR
+               for LNG in ${LINGUAS}; do
+                       LDIR="${KMNAME}-${LNG}-${LV}"
+                       if [[ -d "${KMNAME}-${LNG}-${PV}" && -d "${LDIR}" ]] ; 
then
+                               einfo "${LNG}: Adding legacy localisation"
+                               local dest_path
+                               # Step through directories alphabetically first
+                               for path in $(ls -R "${LDIR}" | grep ":$" | sed 
-e 's/:$//') ; do
+                                       dest_path="${path/${LV}/${PV}/4/${LNG}}"
+                                       if [[ ! -d "${dest_path}" ]] ; then
+                                               einfo "   $(basename 
${dest_path}) subdirectory"\
+                                                       "added to $(basename 
$(dirname ${dest_path}))"
+                                               mkdir "${dest_path}" || die 
"Failed creating ${dest_path}"
+                                               echo 
"add_subdirectory($(basename ${dest_path}))" >> \
+                                                       $(dirname 
"${dest_path}")/CMakeLists.txt
+                                       fi
+                               done
+                               einfo "   merging legacy localisation..."
+                               for path in $(find "${LDIR}" -type f) ; do
+                                       dest_path="${path/${LV}/${PV}/4/${LNG}}"
+                                       cp -rn "${path}" "${dest_path}" || die 
"Failed copying ${path}"
+                               done
+                               # Disable kdepim
+                               for path in kdepim kdepimlibs kdepim-runtime ; 
do
+                                       find 
"${S}/${KMNAME}-${LNG}-${PV}/4/${LNG}" -name CMakeLists.txt -type f -exec \
+                                               sed -i -e "s:^ 
*add_subdirectory( *${path} *):# no ${path}:g" {} +
+                               done
+                               rm -rf "${LDIR}"
+                       fi
+               done
+       fi
+}
+
+src_configure() {
+       mycmakeargs=(
+               -DBUILD_docs=$(usex handbook)
+       )
+       [[ -n ${A} ]] && kde4-base_src_configure
+}
+
+src_compile() {
+       [[ -n ${A} ]] && kde4-base_src_compile
+}
+
+src_test() { :; }
+
+src_install() {
+       [[ -n ${A} ]] && kde4-base_src_install
+}

Reply via email to