mutt: fix build and convert to autotools

mutt has been upgraded, but the mutt-1.5.16-makedoc-hostcc.patch
wasn't upgraded accordingly, causing build failures in the
documentation. Therefore, we add a new patch
mutt-1.5.17+20080114-nodoc.patch that disables the construction of the
documentation.

As this patch modifies Makefile.am, we need to autoreconf the
package. The simplest and cleanest way to do this is to convert the
package to the autotools infrastructure.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2010-05-15 20:02:28 +02:00
parent 7b38fc20ba
commit 47a7c75bfb
3 changed files with 32 additions and 94 deletions

View File

@ -1,32 +0,0 @@
--- mutt-1.5.16.oorig/Makefile.in 2007-09-02 22:16:23.000000000 +0200
+++ mutt-1.5.16/Makefile.in 2007-09-02 22:19:49.000000000 +0200
@@ -164,12 +164,6 @@
DBX = @DBX@
DEBUGGER = @DEBUGGER@
-# $(makedoc_OBJECTS): $(makedoc_SOURCES)
-# $(HOST_CC) $(DEFS) $(AM_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $<
-
-# makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
-# @rm -rf makedoc
-# $(HOST_CC) $(AM_CFLAGS) $(LDFLAGS) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) -o makedoc
DEFS = -DPKGDATADIR=\"$(pkgdatadir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
-DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \
-DHAVE_CONFIG_H=1
@@ -447,9 +441,15 @@
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+$(makedoc_OBJECTS): $(makedoc_SOURCES)
+ $(CC_FOR_BUILD) -DHAVE_UNISTD_H -DHAVE_GETOPT_H -DHAVE_STRERROR -c $< ;#$(DEFS) $(AM_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $<
+#makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
+# @rm -rf makedoc
+# $(CC_FOR_BUILD) $(AM_CFLAGS) $(LDFLAGS) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) -o makedoc
makedoc$(EXEEXT): $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
@rm -f makedoc$(EXEEXT)
- $(LINK) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS)
+ $(CC_FOR_BUILD) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS) -o $@
mutt$(EXEEXT): $(mutt_OBJECTS) $(mutt_DEPENDENCIES)
@rm -f mutt$(EXEEXT)
$(LINK) $(mutt_LDFLAGS) $(mutt_OBJECTS) $(mutt_LDADD) $(LIBS)

View File

@ -0,0 +1,21 @@
Disable the documentation build
The documentation tool is compiled for the target, but executed on the
host. We don't bother fixing this, as we don't care of the
documentation in Buildroot.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: mutt-1.5.17+20080114/Makefile.am
===================================================================
--- mutt-1.5.17+20080114.orig/Makefile.am 2010-05-15 18:15:08.000000000 +0200
+++ mutt-1.5.17+20080114/Makefile.am 2010-05-15 18:15:17.000000000 +0200
@@ -9,7 +9,7 @@
IMAP_INCLUDES = -I$(top_srcdir)/imap
endif
-SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR)
+SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR)
bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@

View File

@ -7,70 +7,19 @@ MUTT_VERSION:=1.5.17+20080114
MUTT_SOURCE:=mutt_$(MUTT_VERSION).orig.tar.gz
MUTT_PATCH:=mutt_$(MUTT_VERSION)-1.diff.gz
MUTT_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/m/mutt/
MUTT_DIR:=$(BUILD_DIR)/mutt-$(MUTT_VERSION)
MUTT_CAT:=$(ZCAT)
MUTT_BINARY:=mutt
MUTT_TARGET_BINARY:=usr/bin/mutt
$(DL_DIR)/$(MUTT_SOURCE):
$(call DOWNLOAD,$(MUTT_SITE),$(MUTT_SOURCE))
$(DL_DIR)/$(MUTT_PATCH):
$(call DOWNLOAD,$(MUTT_SITE),$(MUTT_PATCH))
$(MUTT_DIR)/.unpacked: $(DL_DIR)/$(MUTT_SOURCE) $(DL_DIR)/$(MUTT_PATCH)
$(MUTT_CAT) $(DL_DIR)/$(MUTT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(MUTT_DIR) package/mutt/ mutt-$(MUTT_VERSION)\*.patch
ifneq ($(MUTT_PATCH),)
(cd $(MUTT_DIR) && $(MUTT_CAT) $(DL_DIR)/$(MUTT_PATCH) | patch -p1)
if [ -d $(MUTT_DIR)/debian/patches ]; then \
toolchain/patch-kernel.sh $(MUTT_DIR) $(MUTT_DIR)/debian/patches \*.patch; \
fi
endif
touch $@
$(MUTT_DIR)/.configured: $(MUTT_DIR)/.unpacked
(cd $(MUTT_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
./configure $(QUIET) \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
$(DISABLE_LARGEFILE) \
$(DISABLE_IPV6) \
$(DISABLE_NLS) \
MUTT_DEPENDENCIES=ncurses
MUTT_CONF_OPT = \
--disable-smtp \
--disable-iconv \
--without-wc-funcs \
)
touch $@
--without-wc-funcs
MUTT_AUTORECONF=YES
$(MUTT_DIR)/$(MUTT_BINARY): $(MUTT_DIR)/.configured
$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(MUTT_DIR)
define MUTT_APPLY_DEBIAN_PATCHES
if [ -d $(@D)/debian/patches ]; then \
toolchain/patch-kernel.sh $(@D) $(@D)/debian/patches \*.patch; \
fi
endef
$(TARGET_DIR)/$(MUTT_TARGET_BINARY): $(MUTT_DIR)/$(MUTT_BINARY)
cp -dpf $(MUTT_DIR)/$(MUTT_BINARY) $@
$(STRIPCMD) $(STRIP_STRIP_ALL) $@
MUTT_POST_PATCH_HOOKS += MUTT_APPLY_DEBIAN_PATCHES
mutt-source: $(DL_DIR)/$(MUTT_SOURCE) $(DL_DIR)/$(MUTT_PATCH)
mutt-unpacked: $(MUTT_DIR)/.unpacked
mutt: ncurses $(TARGET_DIR)/$(MUTT_TARGET_BINARY)
mutt-clean:
-$(MAKE) -C $(MUTT_DIR) clean
rm -f $(TARGET_DIR)/$(MUTT_TARGET_BINARY)
mutt-dirclean:
rm -rf $(MUTT_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_MUTT),y)
TARGETS+=mutt
endif
$(eval $(call AUTOTARGETS,package,mutt))