unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] notmuch: improve installation of emacs mode
@ 2009-11-19  6:18 Jeffrey C. Ollie
  2009-11-19 11:11 ` Ingmar Vanhassel
  2009-11-19 19:25 ` Keith Packard
  0 siblings, 2 replies; 10+ messages in thread
From: Jeffrey C. Ollie @ 2009-11-19  6:18 UTC (permalink / raw)
  To: Not Much Mail

1) Don't hardcode the installation directory, instead use emacs'
   pkg-config module.

2) Install a byte compiled version of the emacs mode.

3) Install the emacs mode in emacs' site-start directory so that it
   gets loaded automatically.
---
 Makefile       |    6 ++++++
 Makefile.local |    9 +++++----
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 023b2ec..17fa4a2 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,9 @@ CFLAGS=-O2
 extra_cflags := $(shell pkg-config --cflags glib-2.0 gmime-2.4 talloc)
 extra_cxxflags := $(shell xapian-config --cxxflags)
 
+emacs_lispdir := $(shell pkg-config emacs --variable sitepkglispdir)
+emacs_startdir := $(shell pkg-config emacs --variable sitestartdir)
+
 # Now smash together user's values with our extra values
 override CFLAGS += $(WARN_FLAGS) $(extra_cflags)
 override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
@@ -28,6 +31,9 @@ include Makefile.config
 %.o: %.c
 	$(CC) -c $(CFLAGS) $< -o $@
 
+%.elc: %.el
+	emacs -batch -f batch-byte-compile $<
+
 .deps/%.d: %.c
 	@set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
 	$(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
diff --git a/Makefile.local b/Makefile.local
index 27e42ba..8aac201 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -1,4 +1,4 @@
-all: notmuch notmuch.1.gz
+all: notmuch notmuch.1.gz notmuch.elc
 
 notmuch_client_srcs =		\
 	notmuch.c		\
@@ -23,15 +23,16 @@ notmuch: $(notmuch_client_modules) lib/notmuch.a
 notmuch.1.gz: notmuch.1
 	gzip --stdout notmuch.1 > notmuch.1.gz
 
-install: all notmuch.1.gz
+install: all notmuch.1.gz notmuch.elc
 	for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
-		$(DESTDIR)/etc/bash_completion.d/ ; \
+		$(DESTDIR)/etc/bash_completion.d/ $(DESTDIR)$(emacs_startdir) ; \
 	do \
 		install -d $$d ; \
 	done ;
 	install notmuch $(DESTDIR)$(prefix)/bin/
 	install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
-	install -m0644 notmuch.el $(DESTDIR)$(prefix)/share/emacs/site-lisp/
+	install -m0644 notmuch.el $(DESTDIR)$(emacs_startdir)
+	install -m0644 notmuch.elc $(DESTDIR)$(emacs_startdir)
 	install notmuch-completion.bash \
 		$(DESTDIR)/etc/bash_completion.d/notmuch
 
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] notmuch: improve installation of emacs mode
  2009-11-19  6:18 [PATCH] notmuch: improve installation of emacs mode Jeffrey C. Ollie
@ 2009-11-19 11:11 ` Ingmar Vanhassel
  2009-11-19 13:12   ` Jeffrey C. Ollie
  2009-11-19 19:25 ` Keith Packard
  1 sibling, 1 reply; 10+ messages in thread
From: Ingmar Vanhassel @ 2009-11-19 11:11 UTC (permalink / raw)
  To: notmuch

Excerpts from Jeffrey C. Ollie's message of Thu Nov 19 07:18:50 +0100 2009:
> 1) Don't hardcode the installation directory, instead use emacs'
>    pkg-config module.
> 
> 2) Install a byte compiled version of the emacs mode.
> 
> 3) Install the emacs mode in emacs' site-start directory so that it
>    gets loaded automatically.

Your patch makes emacs required to do make install, which is a no-go
imo. Notmuch can be used without emacs. Shouldn't installing the emac
mode be a seperate target?

-- 
Exherbo KDE, X.org maintainer

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] notmuch: improve installation of emacs mode
  2009-11-19 11:11 ` Ingmar Vanhassel
@ 2009-11-19 13:12   ` Jeffrey C. Ollie
  2009-11-19 13:18     ` Ingmar Vanhassel
  0 siblings, 1 reply; 10+ messages in thread
From: Jeffrey C. Ollie @ 2009-11-19 13:12 UTC (permalink / raw)
  To: Not Much Mail

1) Add a separate install target to install emacs mode.

2) Don't hardcode the installation directory, instead use emacs'
   pkg-config module.

3) Install a byte compiled version of the emacs mode.

4) Install the emacs mode in emacs' site-start directory so that it
   gets loaded automatically.

Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
---
 Makefile       |    6 ++++++
 Makefile.local |   13 ++++++++++---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 023b2ec..17fa4a2 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,9 @@ CFLAGS=-O2
 extra_cflags := $(shell pkg-config --cflags glib-2.0 gmime-2.4 talloc)
 extra_cxxflags := $(shell xapian-config --cxxflags)
 
+emacs_lispdir := $(shell pkg-config emacs --variable sitepkglispdir)
+emacs_startdir := $(shell pkg-config emacs --variable sitestartdir)
+
 # Now smash together user's values with our extra values
 override CFLAGS += $(WARN_FLAGS) $(extra_cflags)
 override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
@@ -28,6 +31,9 @@ include Makefile.config
 %.o: %.c
 	$(CC) -c $(CFLAGS) $< -o $@
 
+%.elc: %.el
+	emacs -batch -f batch-byte-compile $<
+
 .deps/%.d: %.c
 	@set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
 	$(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
diff --git a/Makefile.local b/Makefile.local
index 6bc01a5..e4a27e5 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -1,4 +1,4 @@
-all: notmuch notmuch.1.gz
+all: notmuch notmuch.1.gz notmuch.elc
 
 notmuch_client_srcs =		\
 	notmuch.c		\
@@ -25,15 +25,22 @@ notmuch.1.gz: notmuch.1
 
 install: all notmuch.1.gz
 	for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
-		$(DESTDIR)/$(prefix)/share/emacs/site-lisp/ $(DESTDIR)/etc/bash_completion.d/ ; \
+		$(DESTDIR)/etc/bash_completion.d/ ; \
 	do \
 		install -d $$d ; \
 	done ;
 	install notmuch $(DESTDIR)$(prefix)/bin/
 	install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
-	install -m0644 notmuch.el $(DESTDIR)$(prefix)/share/emacs/site-lisp/
 	install notmuch-completion.bash \
 		$(DESTDIR)/etc/bash_completion.d/notmuch
 
+install-emacs: install notmuch.elc
+	for d in $(DESTDIR)/$(emacs_startdir) ; \
+	do \
+		install -d $$d ; \
+	done ;
+	install -m0644 notmuch.el $(DESTDIR)$(emacs_startdir)
+	install -m0644 notmuch.elc $(DESTDIR)$(emacs_startdir)
+
 SRCS  := $(SRCS) $(notmuch_client_srcs)
 CLEAN := $(CLEAN) notmuch $(notmuch_client_modules)
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] notmuch: improve installation of emacs mode
  2009-11-19 13:12   ` Jeffrey C. Ollie
@ 2009-11-19 13:18     ` Ingmar Vanhassel
  2009-11-19 14:27       ` Jeffrey C. Ollie
  0 siblings, 1 reply; 10+ messages in thread
From: Ingmar Vanhassel @ 2009-11-19 13:18 UTC (permalink / raw)
  To: notmuch

Excerpts from Jeffrey C. Ollie's message of Thu Nov 19 14:12:48 +0100 2009:
> 1) Add a separate install target to install emacs mode.

Thanks

> 2) Don't hardcode the installation directory, instead use emacs'
>    pkg-config module.
> 
> 3) Install a byte compiled version of the emacs mode.
> 
> 4) Install the emacs mode in emacs' site-start directory so that it
>    gets loaded automatically.
> 
> Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
> ---
>  Makefile       |    6 ++++++
>  Makefile.local |   13 ++++++++++---
>  2 files changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 023b2ec..17fa4a2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -7,6 +7,9 @@ CFLAGS=-O2
>  extra_cflags := $(shell pkg-config --cflags glib-2.0 gmime-2.4 talloc)
>  extra_cxxflags := $(shell xapian-config --cxxflags)
>  
> +emacs_lispdir := $(shell pkg-config emacs --variable sitepkglispdir)
> +emacs_startdir := $(shell pkg-config emacs --variable sitestartdir)
> +
>  # Now smash together user's values with our extra values
>  override CFLAGS += $(WARN_FLAGS) $(extra_cflags)
>  override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
> @@ -28,6 +31,9 @@ include Makefile.config
>  %.o: %.c
>      $(CC) -c $(CFLAGS) $< -o $@
>  
> +%.elc: %.el
> +    emacs -batch -f batch-byte-compile $<
> +

Looking at this ..

>  .deps/%.d: %.c
>      @set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
>      $(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
> diff --git a/Makefile.local b/Makefile.local
> index 6bc01a5..e4a27e5 100644
> --- a/Makefile.local
> +++ b/Makefile.local
> @@ -1,4 +1,4 @@
> -all: notmuch notmuch.1.gz
> +all: notmuch notmuch.1.gz notmuch.elc

.. notmuch.elc requires emacs to build

Maybe make emacs && make install-emacs?

>  
>  notmuch_client_srcs =        \
>      notmuch.c        \
> @@ -25,15 +25,22 @@ notmuch.1.gz: notmuch.1
>  
>  install: all notmuch.1.gz
>      for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
> -        $(DESTDIR)/$(prefix)/share/emacs/site-lisp/
> $(DESTDIR)/etc/bash_completion.d/ ; \
> +        $(DESTDIR)/etc/bash_completion.d/ ; \
>      do \
>          install -d $$d ; \
>      done ;
>      install notmuch $(DESTDIR)$(prefix)/bin/
>      install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
> -    install -m0644 notmuch.el $(DESTDIR)$(prefix)/share/emacs/site-lisp/
>      install notmuch-completion.bash \
>          $(DESTDIR)/etc/bash_completion.d/notmuch
>  
> +install-emacs: install notmuch.elc
> +    for d in $(DESTDIR)/$(emacs_startdir) ; \
> +    do \
> +        install -d $$d ; \
> +    done ;
> +    install -m0644 notmuch.el $(DESTDIR)$(emacs_startdir)
> +    install -m0644 notmuch.elc $(DESTDIR)$(emacs_startdir)
> +
>  SRCS  := $(SRCS) $(notmuch_client_srcs)
>  CLEAN := $(CLEAN) notmuch $(notmuch_client_modules)
-- 
Exherbo KDE, X.org maintainer

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] notmuch: improve installation of emacs mode
  2009-11-19 13:18     ` Ingmar Vanhassel
@ 2009-11-19 14:27       ` Jeffrey C. Ollie
  2009-11-19 19:32         ` Ingmar Vanhassel
  0 siblings, 1 reply; 10+ messages in thread
From: Jeffrey C. Ollie @ 2009-11-19 14:27 UTC (permalink / raw)
  To: Not Much Mail

1) Add a separate targets to build and install emacs mode.

2) Don't hardcode the installation directory, instead use emacs'
   pkg-config module.

3) Install a byte compiled version of the emacs mode.

4) Install the emacs mode in emacs' site-start directory so that it
   gets loaded automatically.

5) Ignore byte-compiled emacs files.

Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
---
 .gitignore     |    2 +-
 Makefile       |    6 ++++++
 Makefile.local |   15 ++++++++++++---
 3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 8417d60..7d3c543 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,4 @@ notmuch.1.gz
 *.[ao]
 *~
 .*.swp
-
+*.elc
diff --git a/Makefile b/Makefile
index 023b2ec..17fa4a2 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,9 @@ CFLAGS=-O2
 extra_cflags := $(shell pkg-config --cflags glib-2.0 gmime-2.4 talloc)
 extra_cxxflags := $(shell xapian-config --cxxflags)
 
+emacs_lispdir := $(shell pkg-config emacs --variable sitepkglispdir)
+emacs_startdir := $(shell pkg-config emacs --variable sitestartdir)
+
 # Now smash together user's values with our extra values
 override CFLAGS += $(WARN_FLAGS) $(extra_cflags)
 override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
@@ -28,6 +31,9 @@ include Makefile.config
 %.o: %.c
 	$(CC) -c $(CFLAGS) $< -o $@
 
+%.elc: %.el
+	emacs -batch -f batch-byte-compile $<
+
 .deps/%.d: %.c
 	@set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
 	$(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
diff --git a/Makefile.local b/Makefile.local
index 6bc01a5..2bb4521 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -1,5 +1,7 @@
 all: notmuch notmuch.1.gz
 
+emacs: notmuch.elc
+
 notmuch_client_srcs =		\
 	notmuch.c		\
 	notmuch-config.c	\
@@ -25,15 +27,22 @@ notmuch.1.gz: notmuch.1
 
 install: all notmuch.1.gz
 	for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
-		$(DESTDIR)/$(prefix)/share/emacs/site-lisp/ $(DESTDIR)/etc/bash_completion.d/ ; \
+		$(DESTDIR)/etc/bash_completion.d/ ; \
 	do \
 		install -d $$d ; \
 	done ;
 	install notmuch $(DESTDIR)$(prefix)/bin/
 	install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
-	install -m0644 notmuch.el $(DESTDIR)$(prefix)/share/emacs/site-lisp/
 	install notmuch-completion.bash \
 		$(DESTDIR)/etc/bash_completion.d/notmuch
 
+install-emacs: install emacs
+	for d in $(DESTDIR)/$(emacs_startdir) ; \
+	do \
+		install -d $$d ; \
+	done ;
+	install -m0644 notmuch.el $(DESTDIR)$(emacs_startdir)
+	install -m0644 notmuch.elc $(DESTDIR)$(emacs_startdir)
+
 SRCS  := $(SRCS) $(notmuch_client_srcs)
-CLEAN := $(CLEAN) notmuch $(notmuch_client_modules)
+CLEAN := $(CLEAN) notmuch $(notmuch_client_modules) notmuch.elc
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] notmuch: improve installation of emacs mode
  2009-11-19  6:18 [PATCH] notmuch: improve installation of emacs mode Jeffrey C. Ollie
  2009-11-19 11:11 ` Ingmar Vanhassel
@ 2009-11-19 19:25 ` Keith Packard
  2009-11-19 21:20   ` [PATCH 1/2] Improve " Jeffrey C. Ollie
  1 sibling, 1 reply; 10+ messages in thread
From: Keith Packard @ 2009-11-19 19:25 UTC (permalink / raw)
  To: Jeffrey C. Ollie, Not Much Mail

[-- Attachment #1: Type: text/plain, Size: 603 bytes --]


On Thu, 19 Nov 2009 00:18:50 -0600, "Jeffrey C. Ollie" <jeff@ocjtech.us> wrote:
> 1) Don't hardcode the installation directory, instead use emacs'
>    pkg-config module.
> 
> 2) Install a byte compiled version of the emacs mode.

yes, both of these seem reasonable

> 3) Install the emacs mode in emacs' site-start directory so that it
>    gets loaded automatically.

I'd say anyone using notmuch should just use (require 'notmuch) instead;
that way you don't abuse people not using this system. This is similar
to most other package usage with emacs...

--
keith.packard@intel.com

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] notmuch: improve installation of emacs mode
  2009-11-19 14:27       ` Jeffrey C. Ollie
@ 2009-11-19 19:32         ` Ingmar Vanhassel
  0 siblings, 0 replies; 10+ messages in thread
From: Ingmar Vanhassel @ 2009-11-19 19:32 UTC (permalink / raw)
  To: notmuch

Excerpts from Jeffrey C. Ollie's message of Thu Nov 19 15:27:02 +0100 2009:
> 1) Add a separate targets to build and install emacs mode.
> 
> 2) Don't hardcode the installation directory, instead use emacs'
>    pkg-config module.
> 
> 3) Install a byte compiled version of the emacs mode.
> 
> 4) Install the emacs mode in emacs' site-start directory so that it
>    gets loaded automatically.
> 
> 5) Ignore byte-compiled emacs files.
> 
> Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>

Reviewed-by: Ingmar Vanhassel <ingmar@exherbo.org>

Thanks again!

> ---
>  .gitignore     |    2 +-
>  Makefile       |    6 ++++++
>  Makefile.local |   15 ++++++++++++---
>  3 files changed, 19 insertions(+), 4 deletions(-)
> 
> diff --git a/.gitignore b/.gitignore
> index 8417d60..7d3c543 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -5,4 +5,4 @@ notmuch.1.gz
>  *.[ao]
>  *~
>  .*.swp
> -
> +*.elc
> diff --git a/Makefile b/Makefile
> index 023b2ec..17fa4a2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -7,6 +7,9 @@ CFLAGS=-O2
>  extra_cflags := $(shell pkg-config --cflags glib-2.0 gmime-2.4 talloc)
>  extra_cxxflags := $(shell xapian-config --cxxflags)
>  
> +emacs_lispdir := $(shell pkg-config emacs --variable sitepkglispdir)
> +emacs_startdir := $(shell pkg-config emacs --variable sitestartdir)
> +
>  # Now smash together user's values with our extra values
>  override CFLAGS += $(WARN_FLAGS) $(extra_cflags)
>  override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
> @@ -28,6 +31,9 @@ include Makefile.config
>  %.o: %.c
>      $(CC) -c $(CFLAGS) $< -o $@
>  
> +%.elc: %.el
> +    emacs -batch -f batch-byte-compile $<
> +
>  .deps/%.d: %.c
>      @set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
>      $(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
> diff --git a/Makefile.local b/Makefile.local
> index 6bc01a5..2bb4521 100644
> --- a/Makefile.local
> +++ b/Makefile.local
> @@ -1,5 +1,7 @@
>  all: notmuch notmuch.1.gz
>  
> +emacs: notmuch.elc
> +
>  notmuch_client_srcs =        \
>      notmuch.c        \
>      notmuch-config.c    \
> @@ -25,15 +27,22 @@ notmuch.1.gz: notmuch.1
>  
>  install: all notmuch.1.gz
>      for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
> -        $(DESTDIR)/$(prefix)/share/emacs/site-lisp/
> $(DESTDIR)/etc/bash_completion.d/ ; \
> +        $(DESTDIR)/etc/bash_completion.d/ ; \
>      do \
>          install -d $$d ; \
>      done ;
>      install notmuch $(DESTDIR)$(prefix)/bin/
>      install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
> -    install -m0644 notmuch.el $(DESTDIR)$(prefix)/share/emacs/site-lisp/
>      install notmuch-completion.bash \
>          $(DESTDIR)/etc/bash_completion.d/notmuch
>  
> +install-emacs: install emacs
> +    for d in $(DESTDIR)/$(emacs_startdir) ; \
> +    do \
> +        install -d $$d ; \
> +    done ;
> +    install -m0644 notmuch.el $(DESTDIR)$(emacs_startdir)
> +    install -m0644 notmuch.elc $(DESTDIR)$(emacs_startdir)
> +
>  SRCS  := $(SRCS) $(notmuch_client_srcs)
> -CLEAN := $(CLEAN) notmuch $(notmuch_client_modules)
> +CLEAN := $(CLEAN) notmuch $(notmuch_client_modules) notmuch.elc
-- 
Exherbo KDE, X.org maintainer

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] Improve installation of emacs mode.
  2009-11-19 19:25 ` Keith Packard
@ 2009-11-19 21:20   ` Jeffrey C. Ollie
  2009-11-19 21:20     ` [PATCH 2/2] Add a .desktop file entry Jeffrey C. Ollie
  2009-11-20  9:35     ` [PATCH 1/2] Improve installation of emacs mode Carl Worth
  0 siblings, 2 replies; 10+ messages in thread
From: Jeffrey C. Ollie @ 2009-11-19 21:20 UTC (permalink / raw)
  To: Not Much Mail

1) Add a separate targets to build and install emacs mode.

2) Don't hardcode the installation directory, instead use emacs'
   pkg-config module.

3) Install a byte compiled version of the emacs mode.

4) Install the emacs mode in emacs' site-lisp directory.  Put
   "(require 'notmuch)" in your .emacs to load it automatically.

5) Ignore byte-compiled emacs files.

Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
---
 .gitignore     |    2 +-
 Makefile       |    6 ++++++
 Makefile.local |   15 ++++++++++++---
 3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 8417d60..7d3c543 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,4 @@ notmuch.1.gz
 *.[ao]
 *~
 .*.swp
-
+*.elc
diff --git a/Makefile b/Makefile
index 023b2ec..17fa4a2 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,9 @@ CFLAGS=-O2
 extra_cflags := $(shell pkg-config --cflags glib-2.0 gmime-2.4 talloc)
 extra_cxxflags := $(shell xapian-config --cxxflags)
 
+emacs_lispdir := $(shell pkg-config emacs --variable sitepkglispdir)
+emacs_startdir := $(shell pkg-config emacs --variable sitestartdir)
+
 # Now smash together user's values with our extra values
 override CFLAGS += $(WARN_FLAGS) $(extra_cflags)
 override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
@@ -28,6 +31,9 @@ include Makefile.config
 %.o: %.c
 	$(CC) -c $(CFLAGS) $< -o $@
 
+%.elc: %.el
+	emacs -batch -f batch-byte-compile $<
+
 .deps/%.d: %.c
 	@set -e; rm -f $@; mkdir -p $$(dirname $@) ; \
 	$(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
diff --git a/Makefile.local b/Makefile.local
index c44d160..ecd4ceb 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -1,5 +1,7 @@
 all: notmuch notmuch.1.gz
 
+emacs: notmuch.elc
+
 notmuch_client_srcs =		\
 	notmuch.c		\
 	notmuch-config.c	\
@@ -25,15 +27,22 @@ notmuch.1.gz: notmuch.1
 
 install: all notmuch.1.gz
 	for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
-		$(DESTDIR)/$(prefix)/share/emacs/site-lisp/ $(DESTDIR)/etc/bash_completion.d/ ; \
+		$(DESTDIR)/etc/bash_completion.d/ ; \
 	do \
 		install -d $$d ; \
 	done ;
 	install notmuch $(DESTDIR)$(prefix)/bin/
 	install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
-	install -m0644 notmuch.el $(DESTDIR)$(prefix)/share/emacs/site-lisp/
 	install notmuch-completion.bash \
 		$(DESTDIR)/etc/bash_completion.d/notmuch
 
+install-emacs: install emacs
+	for d in $(DESTDIR)/$(emacs_lispdir) ; \
+	do \
+		install -d $$d ; \
+	done ;
+	install -m0644 notmuch.el $(DESTDIR)$(emacs_lispdir)
+	install -m0644 notmuch.elc $(DESTDIR)$(emacs_lispdir)
+
 SRCS  := $(SRCS) $(notmuch_client_srcs)
-CLEAN := $(CLEAN) notmuch $(notmuch_client_modules)
+CLEAN := $(CLEAN) notmuch $(notmuch_client_modules) notmuch.elc
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] Add a .desktop file entry.
  2009-11-19 21:20   ` [PATCH 1/2] Improve " Jeffrey C. Ollie
@ 2009-11-19 21:20     ` Jeffrey C. Ollie
  2009-11-20  9:35     ` [PATCH 1/2] Improve installation of emacs mode Carl Worth
  1 sibling, 0 replies; 10+ messages in thread
From: Jeffrey C. Ollie @ 2009-11-19 21:20 UTC (permalink / raw)
  To: Not Much Mail

This will add an entry in your window manager's menus that will create
up a new emacs process and start notmuch.

Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
---
 notmuch.desktop |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
 create mode 100644 notmuch.desktop

diff --git a/notmuch.desktop b/notmuch.desktop
new file mode 100644
index 0000000..d29dff6
--- /dev/null
+++ b/notmuch.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=Not Much Mail
+Exec=emacs -f notmuch
+Icon=emblem-mail
+Terminal=false
+Type=Application
+Categories=Network;Email
-- 
1.6.5.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] Improve installation of emacs mode.
  2009-11-19 21:20   ` [PATCH 1/2] Improve " Jeffrey C. Ollie
  2009-11-19 21:20     ` [PATCH 2/2] Add a .desktop file entry Jeffrey C. Ollie
@ 2009-11-20  9:35     ` Carl Worth
  1 sibling, 0 replies; 10+ messages in thread
From: Carl Worth @ 2009-11-20  9:35 UTC (permalink / raw)
  To: Jeffrey C. Ollie, Not Much Mail

On Thu, 19 Nov 2009 15:20:01 -0600, "Jeffrey C. Ollie" <jeff@ocjtech.us> wrote:
> 1) Add a separate targets to build and install emacs mode.
> 
> 2) Don't hardcode the installation directory, instead use emacs'
>    pkg-config module.
> 
> 3) Install a byte compiled version of the emacs mode.
> 
> 4) Install the emacs mode in emacs' site-lisp directory.  Put
>    "(require 'notmuch)" in your .emacs to load it automatically.
> 
> 5) Ignore byte-compiled emacs files.

Thanks, Jeffrey!

This is pushed now.

-Carl

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-11-20  9:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-19  6:18 [PATCH] notmuch: improve installation of emacs mode Jeffrey C. Ollie
2009-11-19 11:11 ` Ingmar Vanhassel
2009-11-19 13:12   ` Jeffrey C. Ollie
2009-11-19 13:18     ` Ingmar Vanhassel
2009-11-19 14:27       ` Jeffrey C. Ollie
2009-11-19 19:32         ` Ingmar Vanhassel
2009-11-19 19:25 ` Keith Packard
2009-11-19 21:20   ` [PATCH 1/2] Improve " Jeffrey C. Ollie
2009-11-19 21:20     ` [PATCH 2/2] Add a .desktop file entry Jeffrey C. Ollie
2009-11-20  9:35     ` [PATCH 1/2] Improve installation of emacs mode Carl Worth

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).