瀏覽代碼

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>
Thomas Petazzoni 15 年之前
父節點
當前提交
47a7c75bfb
共有 3 個文件被更改,包括 32 次插入94 次删除
  1. 0 32
      package/mutt/mutt-1.5.16-makedoc-hostcc.patch
  2. 21 0
      package/mutt/mutt-1.5.17+20080114-nodoc.patch
  3. 11 62
      package/mutt/mutt.mk

+ 0 - 32
package/mutt/mutt-1.5.16-makedoc-hostcc.patch

@@ -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)

+ 21 - 0
package/mutt/mutt-1.5.17+20080114-nodoc.patch

@@ -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@
+ 

+ 11 - 62
package/mutt/mutt.mk

@@ -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)
+define MUTT_APPLY_DEBIAN_PATCHES
+        if [ -d $(@D)/debian/patches ]; then \
+                toolchain/patch-kernel.sh $(@D) $(@D)/debian/patches \*.patch; \
+        fi
+endef
 
-mutt-unpacked: $(MUTT_DIR)/.unpacked
+MUTT_POST_PATCH_HOOKS += MUTT_APPLY_DEBIAN_PATCHES
 
-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))