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

Reply via email to