From 5493e1453a8bb121c60c7ce9bf72a5a561d53d6eb242713ee937803a6cadc892 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Sat, 6 Oct 2018 14:18:19 +0000 Subject: [PATCH] Accepting request 640264 from GNOME:Next - Add meson-Fix-handling-generated-desktop-files.patch: Fix handling generated .desktop files. - Add meson-Fix-handling-generated-desktop-files.patch: Fix handling generated .desktop files. OBS-URL: https://build.opensuse.org/request/show/640264 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=111 --- ...Fix-handling-generated-desktop-files.patch | 116 ++++++++++++++++++ meson-testsuite.changes | 6 + meson-testsuite.spec | 4 + meson.changes | 6 + meson.spec | 6 +- 5 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 meson-Fix-handling-generated-desktop-files.patch diff --git a/meson-Fix-handling-generated-desktop-files.patch b/meson-Fix-handling-generated-desktop-files.patch new file mode 100644 index 0000000..33865ae --- /dev/null +++ b/meson-Fix-handling-generated-desktop-files.patch @@ -0,0 +1,116 @@ +From 2ff69b20df0864182fdf2b146d29dc67d0cb9a5b Mon Sep 17 00:00:00 2001 +From: Jussi Pakkanen +Date: Mon, 1 Oct 2018 20:31:48 +0300 +Subject: [PATCH] Fix handling generated .desktop files. Closes #4304. + +--- + mesonbuild/modules/i18n.py | 22 ++++++++++--------- + .../6 gettext/generated/desktopgenerator.py | 9 ++++++++ + .../6 gettext/generated/meson.build | 14 ++++++++++++ + .../generated/something.desktop.in.in | 15 +++++++++++++ + test cases/frameworks/6 gettext/meson.build | 1 + + 5 files changed, 51 insertions(+), 10 deletions(-) + create mode 100644 test cases/frameworks/6 gettext/generated/desktopgenerator.py + create mode 100644 test cases/frameworks/6 gettext/generated/meson.build + create mode 100644 test cases/frameworks/6 gettext/generated/something.desktop.in.in + +diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py +index 0fc052b778..8b5e18162f 100644 +--- a/mesonbuild/modules/i18n.py ++++ b/mesonbuild/modules/i18n.py +@@ -82,17 +82,19 @@ def merge_file(self, state, args, kwargs): + kwargs['command'] = command + + inputfile = kwargs['input'] +- if isinstance(inputfile, str): +- inputfile = mesonlib.File.from_source_file(state.environment.source_dir, ++ if hasattr(inputfile, 'held_object'): ++ ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, state.subproject, kwargs) ++ else: ++ if isinstance(inputfile, str): ++ inputfile = mesonlib.File.from_source_file(state.environment.source_dir, + state.subdir, inputfile) +- output = kwargs['output'] +- ifile_abs = inputfile.absolute_path(state.environment.source_dir, +- state.environment.build_dir) +- values = mesonlib.get_filenames_templates_dict([ifile_abs], None) +- outputs = mesonlib.substitute_values([output], values) +- output = outputs[0] +- +- ct = build.CustomTarget(output + '_' + state.subdir + '_merge', state.subdir, state.subproject, kwargs) ++ output = kwargs['output'] ++ ifile_abs = inputfile.absolute_path(state.environment.source_dir, ++ state.environment.build_dir) ++ values = mesonlib.get_filenames_templates_dict([ifile_abs], None) ++ outputs = mesonlib.substitute_values([output], values) ++ output = outputs[0] ++ ct = build.CustomTarget(output + '_' + state.subdir + '_merge', state.subdir, state.subproject, kwargs) + return ModuleReturnValue(ct, [ct]) + + @FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset']) +diff --git a/test cases/frameworks/6 gettext/generated/desktopgenerator.py b/test cases/frameworks/6 gettext/generated/desktopgenerator.py +new file mode 100644 +index 0000000000..150ed0435f +--- /dev/null ++++ b/test cases/frameworks/6 gettext/generated/desktopgenerator.py +@@ -0,0 +1,9 @@ ++#!/usr/bin/env python3 ++ ++import sys, shutil ++ ++ifile = sys.argv[1] ++ofile = sys.argv[2] ++ ++os.unlink(ofile) ++shutil.copy(ifile, ofile) +diff --git a/test cases/frameworks/6 gettext/generated/meson.build b/test cases/frameworks/6 gettext/generated/meson.build +new file mode 100644 +index 0000000000..02e61ba352 +--- /dev/null ++++ b/test cases/frameworks/6 gettext/generated/meson.build +@@ -0,0 +1,14 @@ ++dgen = find_program('desktopgenerator.py') ++ ++desktop_in_file = custom_target('something.desktop.in', ++ input : ['something.desktop.in.in'], ++ output : 'something.desktop.in', ++ command : [dgen, '@INPUT@', '@OUTPUT@'], ++) ++ ++i18n.merge_file( ++ input : desktop_in_file, ++ output : 'something.desktop', ++ type : 'desktop', ++ po_dir : '../po', ++) +diff --git a/test cases/frameworks/6 gettext/generated/something.desktop.in.in b/test cases/frameworks/6 gettext/generated/something.desktop.in.in +new file mode 100644 +index 0000000000..e2094fdc22 +--- /dev/null ++++ b/test cases/frameworks/6 gettext/generated/something.desktop.in.in +@@ -0,0 +1,15 @@ ++[Desktop Entry] ++Name=Something doer ++Comment=Do something ++# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! ++Keywords=zip;tar;extract;unpack; ++TryExec=file-roller ++Exec=file-roller %U ++StartupNotify=true ++Terminal=false ++Type=Application ++# Translators: Do NOT translate or transliterate this text (this is an icon file name)! ++Icon=something ++Categories=GTK;GNOME;Utility ++X-GNOME-DocPath=file-roller/file-roller.xml ++X-GNOME-UsesNotifications=true +diff --git a/test cases/frameworks/6 gettext/meson.build b/test cases/frameworks/6 gettext/meson.build +index 9b84856060..09ef9829eb 100644 +--- a/test cases/frameworks/6 gettext/meson.build ++++ b/test cases/frameworks/6 gettext/meson.build +@@ -15,3 +15,4 @@ subdir('po') + subdir('src') + subdir('data') + subdir('data2') ++subdir('generated') + diff --git a/meson-testsuite.changes b/meson-testsuite.changes index 05c90c7..c822f79 100644 --- a/meson-testsuite.changes +++ b/meson-testsuite.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Oct 5 22:21:26 UTC 2018 - bjorn.lie@gmail.com + +- Add meson-Fix-handling-generated-desktop-files.patch: Fix + handling generated .desktop files. + ------------------------------------------------------------------- Mon Oct 1 09:53:58 UTC 2018 - Dominique Leuenberger diff --git a/meson-testsuite.spec b/meson-testsuite.spec index 895b558..144ad79 100644 --- a/meson-testsuite.spec +++ b/meson-testsuite.spec @@ -43,6 +43,9 @@ Patch2: meson-suse-fix-llvm-3.8.patch Patch3: meson-restore-python3.4.patch # PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x. Patch4: meson-fix-gcc48.patch +# PATCH-FIX-UPSTREAM meson-Fix-handling-generated-desktop-files.patch -- Fix handling generated .desktop files +Patch5: meson-Fix-handling-generated-desktop-files.patch + BuildRequires: python3-base BuildRequires: python3-setuptools BuildArch: noarch @@ -137,6 +140,7 @@ This package provides support for meson.build files in Vim. %patch3 -p1 %patch4 -p1 %endif +%patch5 -p1 # Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname) sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build diff --git a/meson.changes b/meson.changes index 05c90c7..c822f79 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Oct 5 22:21:26 UTC 2018 - bjorn.lie@gmail.com + +- Add meson-Fix-handling-generated-desktop-files.patch: Fix + handling generated .desktop files. + ------------------------------------------------------------------- Mon Oct 1 09:53:58 UTC 2018 - Dominique Leuenberger diff --git a/meson.spec b/meson.spec index cb3447c..3971be3 100644 --- a/meson.spec +++ b/meson.spec @@ -1,5 +1,5 @@ # -# spec file for package meson +# spec file for package meson-testsuite # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # @@ -43,6 +43,9 @@ Patch2: meson-suse-fix-llvm-3.8.patch Patch3: meson-restore-python3.4.patch # PATCH-FIX-OPENSUSE meson-fix-gcc48.patch sor.alexei@meowr.ru -- Fix GCC 4.8 handling for openSUSE Leap 42.x. Patch4: meson-fix-gcc48.patch +# PATCH-FIX-UPSTREAM meson-Fix-handling-generated-desktop-files.patch -- Fix handling generated .desktop files +Patch5: meson-Fix-handling-generated-desktop-files.patch + BuildRequires: python3-base BuildRequires: python3-setuptools BuildArch: noarch @@ -137,6 +140,7 @@ This package provides support for meson.build files in Vim. %patch3 -p1 %patch4 -p1 %endif +%patch5 -p1 # Remove static boost tests from test cases/frameworks/1 boost (can't use patch due to spaces in dirname) sed -i "/static/d" test\ cases/frameworks/1\ boost/meson.build