build: install notmuch-emacs-mua.desktop file with emacs
authorJani Nikula <jani@nikula.org>
Sat, 26 Nov 2016 09:37:17 +0000 (11:37 +0200)
committerDavid Bremner <david@tethera.net>
Tue, 29 Nov 2016 02:01:45 +0000 (22:01 -0400)
There is really no need to have a separate install target for the
desktop file. Just install the desktop file with emacs, with a
configure option to opt out.

configure
emacs/Makefile.local

index f0fc466eead546174868fb79d753e7d1b138060b..72db26dfc52e6ae287bebe96c03e2e38e4d27f34 100755 (executable)
--- a/configure
+++ b/configure
@@ -70,6 +70,7 @@ LIBDIR=
 WITH_DOCS=1
 WITH_API_DOCS=1
 WITH_EMACS=1
+WITH_DESKTOP=1
 WITH_BASH=1
 WITH_RUBY=1
 WITH_ZSH=1
@@ -141,6 +142,7 @@ Some features can be disabled (--with-feature=no is equivalent to
        --without-docs                  Do not install documentation
        --without-api-docs              Do not install API man page
        --without-emacs                 Do not install lisp file
+       --without-desktop               Do not install desktop file
        --without-ruby                  Do not install ruby bindings
        --without-zsh-completion        Do not install zsh completions files
        --without-retry-lock            Do not use blocking xapian opens, even if available
@@ -209,6 +211,14 @@ for option; do
        fi
     elif [ "${option}" = '--without-emacs' ] ; then
        WITH_EMACS=0
+    elif [ "${option%%=*}" = '--with-desktop' ]; then
+       if [ "${option#*=}" = 'no' ]; then
+           WITH_DESKTOP=0
+       else
+           WITH_DESKTOP=1
+       fi
+    elif [ "${option}" = '--without-desktop' ] ; then
+       WITH_DESKTOP=0
     elif [ "${option%%=*}" = '--with-bash-completion' ]; then
        if [ "${option#*=}" = 'no' ]; then
            WITH_BASH=0
@@ -602,6 +612,16 @@ if [ $WITH_DOCS = "1" ] ; then
     fi
 fi
 
+if [ $WITH_DESKTOP = "1" ]; then
+    printf "Checking if desktop-file-install is available... "
+    if command -v desktop-file-install > /dev/null; then
+       printf "Yes.\n"
+    else
+       printf "No (so will not install .desktop file).\n"
+       WITH_DESKTOP=0
+    fi
+fi
+
 libdir_in_ldconfig=0
 
 printf "Checking which platform we are on... "
@@ -1123,6 +1143,9 @@ VALGRIND_CFLAGS = ${valgrind_cflags}
 # Support for emacs
 WITH_EMACS = ${WITH_EMACS}
 
+# Support for desktop file
+WITH_DESKTOP = ${WITH_DESKTOP}
+
 # Support for bash completion
 WITH_BASH = ${WITH_BASH}
 
index b118c67d3ef6c2c813c63fd303a6aa000013cc0d..2cfa77ffd0dddf98ccdca1319c346fc01a472994 100644 (file)
@@ -106,10 +106,9 @@ endif
        install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
        mkdir -p "$(DESTDIR)$(prefix)/bin/"
        install $(emacs_mua) "$(DESTDIR)$(prefix)/bin"
-
-.PHONY: install-desktop
-install-desktop:
+ifeq ($(WITH_DESKTOP),1)
        mkdir -p "$(DESTDIR)$(desktop_dir)"
        desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" $(emacs_mua_desktop)
+endif
 
 CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el $(dir)/notmuch-pkg.el