From db3e910b76b7972aea73b9d014e66d5f6e726000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 22 Jul 2016 12:05:52 +0200 Subject: [PATCH] build: Say good-bye to intltool intltool is unmaintained nowadays while upstream gettext gained support for everything we used it for, so make the switch. https://bugzilla.gnome.org/show_bug.cgi?id=769077 --- .gitignore | 16 +++-- configure.ac | 4 +- data/Makefile.am | 26 +++---- data/gnome-classic.desktop.in | 7 +- ...in.in => gnome-classic.session.desktop.in} | 2 +- ....extensions.classic-overrides.gschema.xml} | 30 ++++---- ....extensions.auto-move-windows.gschema.xml} | 4 +- ...nome.shell.extensions.example.gschema.xml} | 4 +- ...sions.native-window-placement.gschema.xml} | 12 ++-- ...sions.screenshot-window-sizer.gschema.xml} | 2 +- ...e.shell.extensions.user-theme.gschema.xml} | 4 +- ....shell.extensions.window-list.gschema.xml} | 12 ++-- po/Makevars | 68 +++++++++++++++++++ po/POTFILES.in | 16 ++--- settings.mk | 11 ++- 15 files changed, 142 insertions(+), 76 deletions(-) rename data/{gnome-classic.session.desktop.in.in => gnome-classic.session.desktop.in} (81%) rename data/{org.gnome.shell.extensions.classic-overrides.gschema.xml.in => org.gnome.shell.extensions.classic-overrides.gschema.xml} (65%) rename extensions/auto-move-windows/{org.gnome.shell.extensions.auto-move-windows.gschema.xml.in => org.gnome.shell.extensions.auto-move-windows.gschema.xml} (62%) rename extensions/example/{org.gnome.shell.extensions.example.gschema.xml.in => org.gnome.shell.extensions.example.gschema.xml} (59%) rename extensions/native-window-placement/{org.gnome.shell.extensions.native-window-placement.gschema.xml.in => org.gnome.shell.extensions.native-window-placement.gschema.xml} (52%) rename extensions/screenshot-window-sizer/{org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in => org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml} (86%) rename extensions/user-theme/{org.gnome.shell.extensions.user-theme.gschema.xml.in => org.gnome.shell.extensions.user-theme.gschema.xml} (63%) rename extensions/window-list/{org.gnome.shell.extensions.window-list.gschema.xml.in => org.gnome.shell.extensions.window-list.gschema.xml} (81%) create mode 100644 po/Makevars diff --git a/.gitignore b/.gitignore index 9bb939cc..8a6aaa06 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,22 @@ +ABOUT-NLS Makefile Makefile.in Makefile.in.in +aclocal.m4 +autom4te.cache/ +config/ configure config.log config.status -aclocal.m4 -autom4te.cache/ data/*.json -po/gnome-shell-extensions.pot +m4/ +po/*.header +po/*.sed +po/*.sin +po/Makevars.template po/POTFILES +po/Rules-quot +po/gnome-shell-extensions.pot po/stamp-it staging/ zip-files/ @@ -17,7 +25,5 @@ zip-files/ *.gmo metadata.json *.desktop -*.desktop.in -*.gschema.xml *.gschema.valid *.session diff --git a/configure.ac b/configure.ac index c7e642c9..12e48764 100644 --- a/configure.ac +++ b/configure.ac @@ -12,7 +12,9 @@ GETTEXT_PACKAGE=gnome-shell-extensions AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The prefix for our gettext translation domains.]) -IT_PROG_INTLTOOL(0.26) + +AM_GNU_GETTEXT_VERSION([0.19.6]) +AM_GNU_GETTEXT([external]) PKG_PROG_PKG_CONFIG([0.22]) diff --git a/data/Makefile.am b/data/Makefile.am index 04da1bd9..11cc6f06 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,8 +1,7 @@ include $(top_srcdir)/include.mk sessiondir = $(datadir)/gnome-session/sessions -session_in_in_files = gnome-classic.session.desktop.in.in -session_in_files = $(session_in_in_files:.session.desktop.in.in=.session.desktop.in) +session_in_files = gnome-classic.session.desktop.in session_DATA = $(session_in_files:.session.desktop.in=.session) xsessiondir = $(datadir)/xsessions @@ -39,17 +38,15 @@ theme_sources = \ $(SASS) --sourcemap=none --update -f -q $<; \ fi -gsettings_in_files = org.gnome.shell.extensions.classic-overrides.gschema.xml.in -gsettings_SCHEMAS = $(gsettings_in_files:.xml.in=.xml) +gsettings_SCHEMAS = org.gnome.shell.extensions.classic-overrides.gschema.xml -@INTLTOOL_XML_NOMERGE_RULE@ @GSETTINGS_RULES@ -%.desktop.in:%.desktop.in.in - $(AM_V_GEN) sed \ - -e "s|\@bindir\@|$(bindir)|" \ - -e "s|\@VERSION\@|$(VERSION)|" \ - $< > $@ +%.desktop:%.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ + +%.session: %.session.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ comma:=, empty:= @@ -61,15 +58,11 @@ extension_list:=$(subst $(space),$(comma),$(extensions)) -e "s|\@CLASSIC_EXTENSIONS\@|$(extension_list)|g" \ $< > $@ -%.session: %.session.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ - -@INTLTOOL_DESKTOP_RULE@ - EXTRA_DIST = \ - $(session_in_in_files) \ + $(session_in_files) \ $(xsession_in_files) \ $(mode_in_files) \ - $(gsettings_in_files) \ + $(gsettings_SCHEMAS) \ $(theme_DATA) \ $(NULL) @@ -77,5 +70,4 @@ CLEANFILES = \ $(session_DATA) \ $(xsession_DATA) \ $(mode_DATA) \ - $(gsettings_SCHEMAS) \ $(NULL) diff --git a/data/gnome-classic.desktop.in b/data/gnome-classic.desktop.in index 70fb9502..055ce641 100644 --- a/data/gnome-classic.desktop.in +++ b/data/gnome-classic.desktop.in @@ -1,8 +1,7 @@ [Desktop Entry] -_Name=GNOME Classic -_Comment=This session logs you into GNOME Classic +Name=GNOME Classic +Comment=This session logs you into GNOME Classic Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic TryExec=gnome-session -Icon= Type=Application -DesktopNames=GNOME-Classic;GNOME +DesktopNames=GNOME-Classic;GNOME; diff --git a/data/gnome-classic.session.desktop.in.in b/data/gnome-classic.session.desktop.in similarity index 81% rename from data/gnome-classic.session.desktop.in.in rename to data/gnome-classic.session.desktop.in index 6e20cc93..7815e93b 100644 --- a/data/gnome-classic.session.desktop.in.in +++ b/data/gnome-classic.session.desktop.in @@ -1,3 +1,3 @@ [GNOME Session] -_Name=GNOME Classic +Name=GNOME Classic RequiredComponents=org.gnome.Shell;gnome-settings-daemon;nautilus-classic; diff --git a/data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in b/data/org.gnome.shell.extensions.classic-overrides.gschema.xml similarity index 65% rename from data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in rename to data/org.gnome.shell.extensions.classic-overrides.gschema.xml index 19fdd984..83b89d92 100644 --- a/data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in +++ b/data/org.gnome.shell.extensions.classic-overrides.gschema.xml @@ -4,43 +4,43 @@ gettext-domain="gnome-shell-extensions"> true - <_summary>Attach modal dialog to the parent window - <_description> + Attach modal dialog to the parent window + This key overrides the key in org.gnome.mutter when running GNOME Shell. - + "appmenu:minimize,maximize,close" - <_summary>Arrangement of buttons on the titlebar - <_description> + Arrangement of buttons on the titlebar + This key overrides the key in org.gnome.desktop.wm.preferences when running GNOME Shell. - + true - <_summary>Enable edge tiling when dropping windows on screen edges - <_description> + Enable edge tiling when dropping windows on screen edges + This key overrides the key in org.gnome.mutter when running GNOME Shell. - + true - <_summary>Workspaces only on primary monitor - <_description> + Workspaces only on primary monitor + This key overrides the key in org.gnome.mutter when running GNOME Shell. - + true - <_summary>Delay focus changes in mouse mode until the pointer stops moving - <_description> + Delay focus changes in mouse mode until the pointer stops moving + This key overrides the key in org.gnome.mutter when running GNOME Shell. - + diff --git a/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in b/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml similarity index 62% rename from extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in rename to extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml index 59753dc1..1af61b33 100644 --- a/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in +++ b/extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml @@ -3,8 +3,8 @@ [ ] - <_summary>Application and workspace list - <_description>A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number + Application and workspace list + A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number diff --git a/extensions/example/org.gnome.shell.extensions.example.gschema.xml.in b/extensions/example/org.gnome.shell.extensions.example.gschema.xml similarity index 59% rename from extensions/example/org.gnome.shell.extensions.example.gschema.xml.in rename to extensions/example/org.gnome.shell.extensions.example.gschema.xml index 23aa34f0..1f562f3d 100644 --- a/extensions/example/org.gnome.shell.extensions.example.gschema.xml.in +++ b/extensions/example/org.gnome.shell.extensions.example.gschema.xml @@ -2,8 +2,8 @@ '' - <_summary>Alternative greeting text. - <_description>If not empty, it contains the text that will be shown when clicking on the panel. + Alternative greeting text. + If not empty, it contains the text that will be shown when clicking on the panel. diff --git a/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in b/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml similarity index 52% rename from extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in rename to extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml index cf763995..07deac96 100644 --- a/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in +++ b/extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml @@ -2,15 +2,15 @@ true - <_summary>Use more screen for windows - <_description>Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating - them further to reduce the bounding box. This setting applies only with the natural placement strategy. + Use more screen for windows + Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating + them further to reduce the bounding box. This setting applies only with the natural placement strategy. true - <_summary>Place window captions on top - <_description>If true, place window captions on top the respective thumbnail, overriding shell default of placing it at - the bottom. Changing this setting requires restarting the shell to have any effect. + Place window captions on top + If true, place window captions on top the respective thumbnail, overriding shell default of placing it at + the bottom. Changing this setting requires restarting the shell to have any effect. diff --git a/extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in b/extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml similarity index 86% rename from extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in rename to extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml index f1739a9d..ae8009e9 100644 --- a/extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in +++ b/extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml @@ -4,7 +4,7 @@ path="/org/gnome/shell/extensions/screenshot-window-sizer/"> s']]]> - <_summary>Cycle Screenshot Sizes + Cycle Screenshot Sizes diff --git a/extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in b/extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml similarity index 63% rename from extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in rename to extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml index f7658417..f3e6b039 100644 --- a/extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in +++ b/extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml @@ -2,8 +2,8 @@ "" - <_summary>Theme name - <_description>The name of the theme, to be loaded from ~/.themes/name/gnome-shell + Theme name + The name of the theme, to be loaded from ~/.themes/name/gnome-shell diff --git a/extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in b/extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml similarity index 81% rename from extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in rename to extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml index f736e363..95a12e50 100644 --- a/extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in +++ b/extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml @@ -9,19 +9,19 @@ 'never' - <_summary>When to group windows - <_description> + When to group windows + Decides when to group windows from the same application on the window list. Possible values are "never", "auto" and "always". - + false - <_summary>Show the window list on all monitors - <_description> + Show the window list on all monitors + Whether to show the window list on all connected monitors or only on the primary one. - + diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 00000000..2c670f3c --- /dev/null +++ b/po/Makevars @@ -0,0 +1,68 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ \ + --keyword=C_:1c,2 --keyword=NC_:1c,2 \ + --keyword=g_dngettext:2,3 \ + --flag=g_dngettext:2:pass-c-format \ + --flag=g_strdup_printf:1:c-format \ + --flag=g_string_printf:2:c-format \ + --flag=g_string_append_printf:2:c-format \ + --flag=g_error_new:3:c-format \ + --flag=g_set_error:4:c-format \ + --flag=g_markup_printf_escaped:1:c-format \ + --flag=g_log:3:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_printf:1:c-format \ + --flag=g_fprintf:2:c-format \ + --flag=g_sprintf:2:c-format \ + --flag=g_snprintf:3:c-format + + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Translation copyright holder +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=extensions + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# Ignore the timestamp of the .pot file, as git clones do not have +# deterministic timestamps, and .po files are updated by translators +# (only) in GNOME projects. +PO_DEPENDS_ON_POT = no + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = no diff --git a/po/POTFILES.in b/po/POTFILES.in index 5510b38e..d98ca1bc 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,24 +1,24 @@ data/gnome-classic.desktop.in -data/gnome-classic.session.desktop.in.in -data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in +data/gnome-classic.session.desktop.in +data/org.gnome.shell.extensions.classic-overrides.gschema.xml extensions/alternate-tab/prefs.js extensions/apps-menu/extension.js extensions/auto-move-windows/extension.js -extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in +extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml extensions/auto-move-windows/prefs.js extensions/drive-menu/extension.js extensions/example/extension.js -extensions/example/org.gnome.shell.extensions.example.gschema.xml.in +extensions/example/org.gnome.shell.extensions.example.gschema.xml extensions/example/prefs.js extensions/native-window-placement/extension.js -extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in +extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml extensions/places-menu/extension.js extensions/places-menu/placeDisplay.js -extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in +extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml extensions/user-theme/extension.js -extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in +extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml extensions/window-list/extension.js -extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in +extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml extensions/window-list/prefs.js extensions/windowsNavigator/extension.js extensions/workspace-indicator/extension.js diff --git a/settings.mk b/settings.mk index 8fc01fd2..e1f8bb96 100644 --- a/settings.mk +++ b/settings.mk @@ -1,10 +1,9 @@ -gschemas_in = $(gschemaname).gschema.xml.in +gsettings_SCHEMAS = $(gschemaname).gschema.xml -@INTLTOOL_XML_NOMERGE_RULE@ - -gsettings_SCHEMAS = $(gschemas_in:.xml.in=.xml) +%.desktop:%.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ @GSETTINGS_RULES@ -CLEANFILES += $(gschemas_in:.xml.in=.valid) $(gsettings_SCHEMAS) -EXTRA_DIST += $(gschemas_in) +CLEANFILES += $(gsettings_SCHEMAS:.xml=.valid) +EXTRA_DIST += $(gsettings_SCHEMAS)