commit: f77b1d87c3ec1625a950b58849d5430744040528 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Thu Jul 6 12:13:48 2017 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Thu Jul 6 12:14:39 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f77b1d87
kde-frameworks/ki18n: Fix stable L10N build regression See also: https://phabricator.kde.org/D6331 Upstream commit 77eab970fde3ecbc259d6deff61fce4f360b05a7 Package-Manager: Portage-2.3.6, Repoman-2.3.1 .../ki18n/files/ki18n-5.34.0-tsfiles.patch | 98 ++++++++++++++++++++++ kde-frameworks/ki18n/ki18n-5.34.0-r1.ebuild | 38 +++++++++ 2 files changed, 136 insertions(+) diff --git a/kde-frameworks/ki18n/files/ki18n-5.34.0-tsfiles.patch b/kde-frameworks/ki18n/files/ki18n-5.34.0-tsfiles.patch new file mode 100644 index 00000000000..416ebf0d5b2 --- /dev/null +++ b/kde-frameworks/ki18n/files/ki18n-5.34.0-tsfiles.patch @@ -0,0 +1,98 @@ +From 77eab970fde3ecbc259d6deff61fce4f360b05a7 Mon Sep 17 00:00:00 2001 +From: Aleix Pol <aleix...@kde.org> +Date: Mon, 3 Jul 2017 17:30:21 +0200 +Subject: Make sure that the tsfiles target is generated + +Summary: +I'm not sure how it's possible that pofiles is defined but tsfiles +isn't, but this does fix the issue reported by Luigi: +CMake Error at /usr/lib64/cmake/KF5I18n/KF5I18NMacros.cmake:129 +(add_dependencies): + Cannot add target-level dependencies to non-existent target "tsfiles". + +Test Plan: +Built `svn+ssh://s...@svn.kde.org/home/kde/trunk/l10n-kf5/fr` by doing +`./scripts/autogen.sh fr; mkdir build; cd build; cmake ../fr` + +Reviewers: #frameworks, ltoscano, lueck, aacid + +Reviewed By: ltoscano + +Subscribers: aacid, asturmlechner + +Tags: #frameworks + +Differential Revision: https://phabricator.kde.org/D6331 +--- + cmake/KF5I18NMacros.cmake | 50 ++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 47 insertions(+), 3 deletions(-) + +diff --git a/cmake/KF5I18NMacros.cmake b/cmake/KF5I18NMacros.cmake +index 022de52..6168b2a 100644 +--- a/cmake/KF5I18NMacros.cmake ++++ b/cmake/KF5I18NMacros.cmake +@@ -123,6 +123,8 @@ function(KI18N_INSTALL podir) + + if (NOT TARGET pofiles) + add_custom_target(pofiles) ++ endif() ++ if (NOT TARGET tsfiles) + add_custom_target(tsfiles) + endif() + add_dependencies(pofiles pofiles-${pathmd5}) +@@ -132,7 +134,49 @@ function(KI18N_INSTALL podir) + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${dirname} DESTINATION ${destname}) + endfunction() + +-function(ki18n_install_ts_files _lang) +- message(AUTHOR_WARNING "KI18N_INSTALL_TS_FILES is deprecated!") +- ki18n_install(${_lang}) ++#install the scripts for a given language in the target folder ++#usage: KI18N_INSTALL_TS_FILES("ja" ${scripts_dir}) ++function(KI18N_INSTALL_TS_FILES lang scripts_dir) ++ file(GLOB_RECURSE ts_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${scripts_dir}/*) ++ set(pmapc_files) ++ foreach(ts_file ${ts_files}) ++ string(REGEX MATCH "\\.svn/" in_svn ${ts_file}) ++ if(NOT in_svn) ++ # If ts_file is "path/to/foo/bar.js" ++ # We want subpath to contain "foo" ++ get_filename_component(subpath ${ts_file} DIRECTORY) ++ get_filename_component(subpath ${subpath} NAME) ++ install(FILES ${ts_file} ++ DESTINATION ${LOCALE_INSTALL_DIR}/${lang}/LC_SCRIPTS/${subpath}) ++ # If current file is a pmap, also install the compiled version. ++ get_filename_component(ts_ext ${ts_file} EXT) ++ if(ts_ext STREQUAL ".pmap") ++ set(pmap_file ${ts_file}) ++ get_filename_component(pmap_basename ${ts_file} NAME) ++ set(pmapc_basename "${pmap_basename}c") ++ set(pmapc_file "${lang}-${subpath}-${pmapc_basename}") ++ add_custom_command(OUTPUT ${pmapc_file} ++ COMMAND ${PYTHON_EXECUTABLE} ++ ARGS ++ -B ++ ${_ki18n_pmap_compile_script} ++ ${CMAKE_CURRENT_SOURCE_DIR}/${pmap_file} ++ ${pmapc_file} ++ DEPENDS ${pmap_file}) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${pmapc_file} ++ DESTINATION ${LOCALE_INSTALL_DIR}/${lang}/LC_SCRIPTS/${subpath} ++ RENAME ${pmapc_basename}) ++ list(APPEND pmapc_files ${pmapc_file}) ++ endif() ++ endif() ++ endforeach() ++ if(pmapc_files) ++ if(NOT TARGET pmapfiles) ++ add_custom_target(pmapfiles) ++ endif() ++ set(pmapc_target "pmapfiles-${lang}") ++ string(REPLACE "@" "_" pmapc_target ${pmapc_target}) ++ add_custom_target(${pmapc_target} ALL DEPENDS ${pmapc_files}) ++ add_dependencies(pmapfiles ${pmapc_target}) ++ endif() + endfunction() +-- +cgit v0.11.2 + diff --git a/kde-frameworks/ki18n/ki18n-5.34.0-r1.ebuild b/kde-frameworks/ki18n/ki18n-5.34.0-r1.ebuild new file mode 100644 index 00000000000..ef4e14f9f48 --- /dev/null +++ b/kde-frameworks/ki18n/ki18n-5.34.0-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +inherit kde5 python-single-r1 + +DESCRIPTION="Framework based on Gettext for internationalizing user interface text" +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + $(add_qt_dep qtscript) + sys-devel/gettext + virtual/libintl +" +DEPEND="${RDEPEND} + test? ( + $(add_qt_dep qtconcurrent) + $(add_qt_dep qtdeclarative) + ) +" + +PATCHES=( "${FILESDIR}/${P}-tsfiles.patch" ) + +pkg_setup() { + kde5_pkg_setup + python-single-r1_pkg_setup +} + +src_install() { + kde5_src_install + python_fix_shebang "${ED}/usr/$(get_libdir)/cmake/KF5I18n/ts-pmap-compile.py" +}