Commit 47a7c75b authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

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: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 7b38fc20
Loading
Loading
Loading
Loading
+0 −32
Original line number Diff line number Diff line
--- 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)
+21 −0
Original line number Diff line number Diff line
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@
 
+11 −62
Original line number Diff line number Diff line
@@ -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 $@

$(MUTT_DIR)/$(MUTT_BINARY): $(MUTT_DIR)/.configured
	$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(MUTT_DIR)

$(TARGET_DIR)/$(MUTT_TARGET_BINARY): $(MUTT_DIR)/$(MUTT_BINARY)
	cp -dpf $(MUTT_DIR)/$(MUTT_BINARY) $@
	$(STRIPCMD) $(STRIP_STRIP_ALL) $@
		--without-wc-funcs
MUTT_AUTORECONF=YES

mutt-source: $(DL_DIR)/$(MUTT_SOURCE) $(DL_DIR)/$(MUTT_PATCH)

mutt-unpacked: $(MUTT_DIR)/.unpacked

mutt: ncurses $(TARGET_DIR)/$(MUTT_TARGET_BINARY)
define MUTT_APPLY_DEBIAN_PATCHES
        if [ -d $(@D)/debian/patches ]; then \
                toolchain/patch-kernel.sh $(@D) $(@D)/debian/patches \*.patch; \
        fi
endef

mutt-clean:
	-$(MAKE) -C $(MUTT_DIR) clean
	rm -f $(TARGET_DIR)/$(MUTT_TARGET_BINARY)
MUTT_POST_PATCH_HOOKS += MUTT_APPLY_DEBIAN_PATCHES

mutt-dirclean:
	rm -rf $(MUTT_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_MUTT),y)
TARGETS+=mutt
endif
$(eval $(call AUTOTARGETS,package,mutt))
 No newline at end of file