1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
|
#!/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 := qdbm
HCACHE_DB := tokyocabinet
###
# GPGME backend
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 --without-tokyocabinet
endif
ifeq ($(HCACHE_DB),gdbm)
hcache_db := --without-qdbm --without-bdb --without-tokyocabinet
endif
ifeq ($(HCACHE_DB),qdbm)
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 \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--with-sharedir=/usr/share/mutt \
--with-docdir=/usr/share/doc \
--with-mailpath=/var/mail \
\
--disable-dependency-tracking \
\
--enable-compressed \
--enable-debug \
--enable-fcntl \
--enable-hcache \
$(GPGME) \
--enable-imap \
--enable-smtp \
--enable-inodesort \
--enable-pop \
\
--with-curses \
--with-gnutls \
--with-gss \
--with-idn \
--with-mixmaster \
--with-sasl \
\
$(hcache_db)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
confflags += --build $(DEB_BUILD_GNU_TYPE)
# Only specify --host when cross-compiling
ifneq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
confflags += --host $(DEB_HOST_GNU_TYPE)
endif
# CFLAGS
CFLAGS = -Wall -g
CPPFLAGS = -I/usr/include/qdbm
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
# 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
cd $(objdir)-patched && \
env CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
../configure $(confflags)
echo '#include "config-debian.h"' >> $(objdir)-patched/config.h
# 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) pop mutt.org
$(QUILT) applied > PATCHES
autoreconf --install --include=m4
-mkdir $(objdir)
cd $(objdir) && \
env CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
../configure $(confflags)
echo '#include "config-debian.h"' >>$(objdir)/config.h
cd $(objdir) && $(MAKE) CFLAGS="$(CFLAGS)"
touch $@
install: build
###################### install ######################
dh_testdir
dh_testroot
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 && \
cp $(CURDIR)/UPDATING NEWS
chmod +x debian/extra/lib/*
chmod +x debian/header.awk
debian/header.awk debian/patches/features/* \
debian/patches/mutt-patched/* > debian/tmp/README.Patches
( sed -e '/## More settings/,$$d' $(objdir)/doc/Muttrc || exit 1 ; \
cat debian/extra/rc/Muttrc.foot ) > debian/tmp/Muttrc
( echo "# GnuPG configuration"; \
grep '^set' contrib/gpg.rc; \
echo ) > debian/tmp/gpg.rc
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
install -m644 debian/bug/control $(CURDIR)/debian/mutt/usr/share/bug/mutt
install debian/bug/script $(CURDIR)/debian/mutt/usr/share/bug/mutt
binary binary-arch: install
###################### binary ######################
dh_installman
dh_installmenu
dh_installmime
dh_installdocs
dh_installexamples
dh_installchangelogs ChangeLog
-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
dh_link
dh_compress --exclude usr/share/doc/mutt/README.Patches
dh_fixperms --exclude usr/bin/mutt_dotlock
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
build-indep binary-indep:
@echo "Nothing to do."
clean: unpatch
###################### clean ######################
dh_testdir
dh_testroot
# please dpkg-source
rm -f po/*.gmo
echo -n > PATCHES
# remove build trees
rm -rf $(objdir) $(objdir)-patched
# remove autotool-generated files so they don't show up in the diff.gz
rm -f configure config.h.in
rm -f Makefile.in contrib/Makefile.in imap/Makefile.in doc/Makefile.in m4/Makefile.in
dh_clean
.PHONY: configure build build-arch build-indep clean install binary binary-arch binary-indep patch
|