From 4697c37a83cbf581bf232f3f172dee6ff8e7faac Mon Sep 17 00:00:00 2001 From: Jon Lund Steffensen Date: Wed, 28 May 2014 20:56:37 -0400 Subject: Make desktop file translatable Changes bootstrap script to run libtoolize. Some extra magic was needed for autoreconf (taken from GNOME projects). The INTLTOOL_DESKTOP_RULE should be used in Makefile.am but is unfortunately broken at this time for out-of-source builds. The rule is instead copied and fixed in Makefile.am. --- Makefile.am | 12 +++++++++--- bootstrap | 3 ++- configure.ac | 1 + data/applications/redshift-gtk.desktop | 11 ----------- data/applications/redshift-gtk.desktop.in | 11 +++++++++++ po/POTFILES.in | 2 ++ 6 files changed, 25 insertions(+), 15 deletions(-) delete mode 100755 data/applications/redshift-gtk.desktop create mode 100755 data/applications/redshift-gtk.desktop.in diff --git a/Makefile.am b/Makefile.am index 675fda8..2743f62 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,8 +26,8 @@ _UBUNTU_MONO_LIGHT_FILES = \ data/icons/ubuntu-mono-light/scalable/apps/redshift-status-on.svg \ data/icons/ubuntu-mono-light/scalable/apps/redshift-status-off.svg -_DESKTOP_FILES = \ - data/applications/redshift-gtk.desktop +DESKTOP_IN_FILES = \ + data/applications/redshift-gtk.desktop.in SYSTEMD_USER_UNIT_IN_FILES = \ data/systemd/redshift.service.in \ @@ -52,7 +52,7 @@ endif # Desktop file if ENABLE_GUI desktopdir = @datadir@/applications -desktop_DATA = $(_DESKTOP_FILES) +desktop_DATA = $(DESKTOP_IN_FILES:.desktop.in=.desktop) endif if ENABLE_GUI @@ -61,6 +61,12 @@ install-data-hook: uninstall-hook: $(UPDATE_ICON_CACHE); + +# We would preferable use @INTLTOOL_DESKTOP_RULE@ here but +# sadly it is broken for out-of-tree builds. +%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) + $(AM_V_GEN)$(MKDIR_P) $(@D); + $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ endif diff --git a/bootstrap b/bootstrap index 1e09715..0599cf5 100755 --- a/bootstrap +++ b/bootstrap @@ -3,4 +3,5 @@ # change to root directory cd $(dirname "$0") -autoreconf --force --install +autopoint --force && \ + AUTOPOINT="intltoolize --automake --copy" autoreconf --force --install --verbose diff --git a/configure.ac b/configure.ac index deae0cf..173cf88 100644 --- a/configure.ac +++ b/configure.ac @@ -11,6 +11,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) # Checks for programs. AC_PROG_CC_C99 +AC_PROG_INTLTOOL([0.50]) # Checks for libraries. AM_GNU_GETTEXT_VERSION([0.17]) diff --git a/data/applications/redshift-gtk.desktop b/data/applications/redshift-gtk.desktop deleted file mode 100755 index dc8d8b2..0000000 --- a/data/applications/redshift-gtk.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Redshift -GenericName=Color temperature adjustment -Comment=Color temperature adjustment tool -Exec=redshift-gtk -Icon=redshift -Terminal=false -Type=Application -Categories=Utility; -StartupNotify=true diff --git a/data/applications/redshift-gtk.desktop.in b/data/applications/redshift-gtk.desktop.in new file mode 100755 index 0000000..f68bef6 --- /dev/null +++ b/data/applications/redshift-gtk.desktop.in @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +_Name=Redshift +_GenericName=Color temperature adjustment +_Comment=Color temperature adjustment tool +Exec=redshift-gtk +Icon=redshift +Terminal=false +Type=Application +Categories=Utility; +StartupNotify=true diff --git a/po/POTFILES.in b/po/POTFILES.in index 814d7ca..6abd07c 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,5 +1,7 @@ # List of source files containing translatable strings +data/applications/redshift-gtk.desktop.in + src/redshift.c src/config-ini.c -- cgit v1.2.3-70-g09d2