diff options
author | Andreas Sturmlechner <andreas.sturmlechner@gmail.com> | 2016-06-01 22:14:57 +0200 |
---|---|---|
committer | Michael Palimaka <kensington@gentoo.org> | 2016-06-02 07:45:46 +1000 |
commit | 95570c77ce6b073a3849c87a6b7cf2d98d3dab77 (patch) | |
tree | eac2d79c9af2171d4ee054c53d7b29134988d67e /kde-apps/kde4-l10n | |
parent | app-crypt/qca: x86 stable (diff) | |
download | gentoo-95570c77ce6b073a3849c87a6b7cf2d98d3dab77.tar.gz gentoo-95570c77ce6b073a3849c87a6b7cf2d98d3dab77.tar.bz2 gentoo-95570c77ce6b073a3849c87a6b7cf2d98d3dab77.zip |
kde-apps/kde4-l10n: Fix LINGUAS=nn,sr
Package-Manager: portage-2.2.28
Diffstat (limited to 'kde-apps/kde4-l10n')
-rw-r--r-- | kde-apps/kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs | 43 | ||||
-rw-r--r-- | kde-apps/kde4-l10n/kde4-l10n-16.04.1-r1.ebuild | 206 |
2 files changed, 249 insertions, 0 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 new file mode 100644 index 000000000000..9563950b6acd --- /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 000000000000..d126b3012607 --- /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 +} |