summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>2016-06-01 22:14:57 +0200
committerMichael Palimaka <kensington@gentoo.org>2016-06-02 07:45:46 +1000
commit95570c77ce6b073a3849c87a6b7cf2d98d3dab77 (patch)
treeeac2d79c9af2171d4ee054c53d7b29134988d67e
parentapp-crypt/qca: x86 stable (diff)
downloadgentoo-95570c77ce6b073a3849c87a6b7cf2d98d3dab77.tar.gz
gentoo-95570c77ce6b073a3849c87a6b7cf2d98d3dab77.tar.bz2
gentoo-95570c77ce6b073a3849c87a6b7cf2d98d3dab77.zip
kde-apps/kde4-l10n: Fix LINGUAS=nn,sr
Package-Manager: portage-2.2.28
-rw-r--r--kde-apps/kde4-l10n/files/kde4-l10n-16.04.1-remove-dirs43
-rw-r--r--kde-apps/kde4-l10n/kde4-l10n-16.04.1-r1.ebuild206
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
+}