#!/usr/bin/make -f
include /usr/share/quilt/quilt.make
+QUILT = QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt --quiltrc /dev/null
+###################### user serviceable parts ######################
+
+###
+# build a separate mutt-patched package?
+BUILD_PATCHED := yes
###
# header cache backend
# HCACHE_DB := bdb
-HCACHE_DB := gdbm
+# HCACHE_DB := gdbm
# HCACHE_DB := qdbm
+HCACHE_DB := tokyocabinet
###
# GPGME backend
-# GPGME := --enable-gpgme
+GPGME := --enable-gpgme
###
+###################### variables ######################
+
+ifneq ($(BUILD_PATCHED),yes)
+export DH_OPTIONS := -Nmutt-patched
+endif
+
# Configure arguments
ifeq ($(HCACHE_DB),bdb)
- hcache_db := --without-gdbm --without-qdbm
+ hcache_db := --without-gdbm --without-qdbm --without-tokyocabinet
endif
ifeq ($(HCACHE_DB),gdbm)
- hcache_db := --without-qdbm --without-bdb
+ hcache_db := --without-qdbm --without-bdb --without-tokyocabinet
endif
ifeq ($(HCACHE_DB),qdbm)
- hcache_db := --without-gdbm --without-bdb
+ hcache_db := --without-gdbm --without-bdb --without-tokyocabinet
+endif
+ifeq ($(HCACHE_DB),tokyocabinet)
+ hcache_db := --without-gdbm --without-bdb --without-qdbm
+ ifeq ($(shell dpkg --print-architecture),hurd-i386)
+ hcache_db := --without-bdb --without-qdbm
+ endif
endif
confflags = --prefix=/usr \
\
--with-curses \
--with-gnutls \
+ --with-gss \
--with-idn \
--with-mixmaster \
--with-sasl \
# Directory to make the build on
objdir = $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)
+###################### main ######################
+
$(objdir)-patched/build-stamp: $(QUILT_STAMPFN)
dh_testdir
dh_clean
+ -mkdir $(objdir)-patched
+ifeq ($(BUILD_PATCHED),yes)
###################### building mutt-patched ######################
+ $(QUILT) applied > PATCHES
autoreconf --install --include=m4
- -mkdir $(objdir)-patched
cd $(objdir)-patched && \
env CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
../configure $(confflags)
# we should just "make mutt" here, but that doesn't work yet
cd $(objdir)-patched && $(MAKE) CFLAGS="$(CFLAGS)"
+endif
touch $@
build build-arch: $(objdir)/build-stamp
$(objdir)/build-stamp: $(objdir)-patched/build-stamp
###################### building mutt ######################
- QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt --quiltrc /dev/null pop mutt.org
+ $(QUILT) pop mutt.org
+ $(QUILT) applied > PATCHES
autoreconf --install --include=m4
-mkdir $(objdir)
###################### install ######################
dh_testdir
dh_testroot
- dh_clean -k
+ dh_prep
cd $(objdir) && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
cd debian/tmp/usr/share/doc && \
rm -rf samples/iconv samples/ca-bundle.crt && \
mv NEWS NEWS.old && \
- mv ChangeLog.old changelog.old && \
cp $(CURDIR)/UPDATING NEWS
chmod +x debian/extra/lib/*
grep '^set' contrib/gpg.rc; \
echo ) > debian/tmp/gpg.rc
- # temporarily call the binary mutt-patched so dh_strip gets the debug file name right
+ dh_install
+
+ # prepare files for update-alternatives
+ mv debian/mutt/usr/bin/mutt debian/mutt/usr/bin/mutt-org
+ifeq ($(BUILD_PATCHED),yes)
install -D $(objdir)-patched/mutt debian/mutt-patched/usr/bin/mutt-patched
+endif
# reportbug driver
dh_installdirs
binary binary-arch: install
###################### binary ######################
- dh_install
dh_installman
dh_installmenu
+ dh_installmime
dh_installdocs
dh_installexamples
dh_installchangelogs ChangeLog
- install -m644 debian/mutt.lintian $(CURDIR)/debian/mutt/usr/share/lintian/overrides/mutt
+ -dh_lintian
dh_strip --dbg-package=mutt-dbg
rm -rf $(CURDIR)/debian/mutt-dbg/usr/share/doc/mutt-dbg \
$(CURDIR)/debian/mutt-patched/usr/share/doc/mutt-patched
- mv debian/mutt-patched/usr/bin/mutt-patched debian/mutt-patched/usr/bin/mutt
dh_link
dh_compress --exclude usr/share/doc/mutt/README.Patches
# please dpkg-source
rm -f po/*.gmo
- touch PATCHES
+ echo -n > PATCHES
# remove build trees
rm -rf $(objdir) $(objdir)-patched
rm -f configure config.h.in
rm -f Makefile.in contrib/Makefile.in imap/Makefile.in doc/Makefile.in m4/Makefile.in
- # clean PATCHES hunks (blame quilt refresh)
- for p in `grep -rl PATCHES debian/patches` ; do perl -wi debian/fix-PATCHES.pl $$p ; done
-
dh_clean
.PHONY: configure build build-arch build-indep clean install binary binary-arch binary-indep patch