aboutsummaryrefslogtreecommitdiffstats
path: root/mail/elm+ME
diff options
context:
space:
mode:
authorsem <sem@FreeBSD.org>2004-07-12 20:27:05 +0800
committersem <sem@FreeBSD.org>2004-07-12 20:27:05 +0800
commit97aad66c9c725be0d34fdc42ed5e45bf0148d49c (patch)
tree30f78e7cc45b58c5db5fcfab98dbb17beea55b06 /mail/elm+ME
parent8d5408c230184d047782ea39366d61fcfc575c15 (diff)
downloadfreebsd-ports-gnome-97aad66c9c725be0d34fdc42ed5e45bf0148d49c.tar.gz
freebsd-ports-gnome-97aad66c9c725be0d34fdc42ed5e45bf0148d49c.tar.zst
freebsd-ports-gnome-97aad66c9c725be0d34fdc42ed5e45bf0148d49c.zip
* update to 116 revision
* conditionnaly add USE_ICONV * startup script converted to rcNG * Makefile reworked * DOC_FILES added * DOCSDIR utilized PR: ports/67497 Submitted by: maintainer Approved by: krion (mentor)
Diffstat (limited to 'mail/elm+ME')
-rw-r--r--mail/elm+ME/Makefile279
-rw-r--r--mail/elm+ME/distinfo16
-rw-r--r--mail/elm+ME/files/00elm.sh46
-rw-r--r--mail/elm+ME/files/patch-ac61
-rw-r--r--mail/elm+ME/files/patch-header_alloc.c (renamed from mail/elm+ME/files/patch-newmbox.c)6
-rw-r--r--mail/elm+ME/pkg-plist131
-rw-r--r--mail/elm+ME/scripts/pre-configure39
7 files changed, 348 insertions, 230 deletions
diff --git a/mail/elm+ME/Makefile b/mail/elm+ME/Makefile
index c51458067e45..7b0bc1402b86 100644
--- a/mail/elm+ME/Makefile
+++ b/mail/elm+ME/Makefile
@@ -44,123 +44,226 @@ COMMENT= A once-popular mail user agent, unofficial clone
WRKSRC= ${WRKDIR}/${DISTNAME:S/-//:S/ME+/.ME+./}
HAS_CONFIGURE= yes
-USE_ICONV= yes
+USE_RC_SUBR= yes
USE_REINPLACE= yes
CONFIGURE_SCRIPT= Configure
-SCRIPTS_ENV= CFLAGS="${CFLAGS}" ${PLIST_SUB} PREFIX="${PREFIX}" \
- LOCALBASE="${LOCALBASE}" MAN1PREFIX="${MAN1PREFIX}"
-CONFIGURE_ARGS= -S -P ${PREFIX}
+SCRIPTS_ENV= CONFIG_PATH="${CONFIG_PATH}" CFLAGS="${CFLAGS}" \
+ PREFIX="${PREFIX}" LOCALBASE="${LOCALBASE}" \
+ MAN1PREFIX="${MAN1PREFIX}" CONF_DIR="${CONF_DIR}" \
+ LIB_DIR="${LIB_DIR}" SHLIB_DIR="${SHLIB_DIR}" \
+ STAGE_DIR="${STAGE_DIR}" ELM_SHLIBS="${ELM_SHLIBS}"
+CONFIGURE_ARGS= -b -S -P ${PREFIX} -c ../${CONFIG_PATH:T}
MAKE_ENV= MJ="FORMATTER=groff FORMATTER_OPTS=-Tlatin1"
ALL_TARGET= all documentation
INSTALLS_SHLIB= yes
-LDCONFIG_DIRS= %%PREFIX%%/%%SHLIB_SUBDIR%%
+LDCONFIG_DIRS= %%PREFIX%%/%%SHLIB_DIR%%
+
+PLIST_SUB= SO_REV="${SO_REV}" \
+ RC_DIR="${RC_DIR:S,^${PREFIX}/,,}" \
+ MAIL_DIR="${MAIL_DIR:S,^${PREFIX}/,,}" \
+ CONF_DIR="${CONF_DIR:S,^${PREFIX}/,,}" \
+ LIB_DIR="${LIB_DIR:S,^${PREFIX}/,,}" \
+ SHLIB_DIR="${SHLIB_DIR:S,^${PREFIX}/,,}" \
+ ELM_SHLIBS="${ELM_SHLIBS}" \
+ ${ELM_SHLIBS:U:S/^/ELM_/:S/$/=""/} \
+ ${ELM_UNSHLIBS:U:S/^/ELM_/:S/$/="@comment "/}
+RCSCRIPTS_SUB= SHLIB_DIR="${SHLIB_DIR}" RC_SUBR=${RC_SUBR}
+
+MAN1= answer.1 checkalias.1 elm.1 elmalias.1 elmbindata.1 \
+ elmcharset.1 elmlibregister.1 elmrc-write.1 elmregister.1 \
+ elmstringconvert.1 elmterminal.1 elmunidata.1 elmuninstall.1 \
+ fastmail.1 frm.1 listalias.1 messages.1 newalias.1 newmail.1 \
+ printmail.1 readmsg.1
+MLINKS= frm.1 nfrm.1 newmail.1 wnewmail.1
-PLIST_SUB= SO_REV="${SO_REV}" DOC_SUBDIR="${DOC_SUBDIR}" \
- LIB_SUBDIR="${LIB_SUBDIR}" SHLIB_SUBDIR="${SHLIB_SUBDIR}"
+.if !defined(ELM_USER_SHLIBS)
+OPTIONS= ELM_ICONV "libiconv support" on \
+ ELM_SMTP "SMTP submission protocol (RFC2746) support" on \
+ ELM_TLS "POP STLS and IMAP STARTTLS support" on
+.endif
-MAN1= answer.1 checkalias.1 elm.1 elmalias.1 elmcharset.1 \
- elmrc-write.1 elmstringconvert.1 elmterminal.1 \
- elmunidata.1 fastmail.1 frm.1 listalias.1 messages.1 \
- newalias.1 newmail.1 printmail.1 readmsg.1
-MLINKS= frm.1 nfrm.1 newmail.1 wnewmail.1
+.include <bsd.port.pre.mk>
# Local variables
#
ELM_VERSION= 2.4
-ELM_REVISION= 99
-ELM_PATCHLEVEL= f
+ELM_REVISION= 116
+ELM_PATCHLEVEL= _ # a...z = patch-level, _ means no patch-level.
ELM_PATCHDONE= false
.for level in _ a b c d e f g h i j k l m n o p q r s t u v w x y z
_level=${level}
-.if ${_level} != _ && ${ELM_PATCHDONE} == false
+. if ${_level} != _ && ${ELM_PATCHDONE} == false
PATCHFILES+= ${DISTNAME:S/+/+PL/}${level}.patch.gz
-.endif
-.if ${ELM_PATCHLEVEL} == ${level}
+. endif
+. if ${ELM_PATCHLEVEL} == ${_level}
ELM_PATCHDONE= true
-.endif
+. endif
.endfor
+ELM_SYSTEM_SHLIBS= iconv smtp tls
+
+.if !defined(ELM_USER_SHLIBS)
+. for shlib in ${ELM_SYSTEM_SHLIBS}
+. if !defined(${shlib:U:S/^/WITHOUT_ELM_/})
+ELM_USER_SHLIBS+=${shlib}
+. endif
+. endfor
+.endif
+
+ELM_USER_SHLIBS?= ${ELM_SYSTEM_SHLIBS} # or none
+
+ELM_SHLIBS=
+.if ${ELM_USER_SHLIBS} == none
+ELM_UNSHLIBS= ${ELM_SYSTEM_SHLIBS}
+.else
+ELM_UNSHLIBS=
+. for shlib1 in ${ELM_SYSTEM_SHLIBS}
+_shlib1=${shlib1}
+_define= false
+. for shlib2 in ${ELM_USER_SHLIBS}
+_shlib2=${shlib2}
+. if ${_shlib1} == ${_shlib2}
+_define= true
+. endif
+. endfor
+. if ${_define} == true
+ELM_SHLIBS+= ${shlib1}
+. else
+ELM_UNSHLIBS+= ${shlib1}
+. endif
+. endfor
+.endif
+
+.if ${ELM_SHLIBS:Miconv} == iconv
+USE_ICONV= yes
+.endif
+
# evaluation should be protected 'til extraction to avoid noisy messages.
SO_REV= $$([ -f ${WRKSRC}/hdrs/patchlevel.h ] && \
${AWK} '/SHAREDTAG:/{print $$2}' ${WRKSRC}/hdrs/patchlevel.h)
MSECS= 1
-RCD_SUBDIR= etc/rc.d
-LIB_SUBDIR= lib/elm
-SHLIB_SUBDIR= libexec/elm
-DOC_SUBDIR= share/doc/elm+ME
-
-RCD_DIR= ${PREFIX}/${RCD_SUBDIR}
-LIB_DIR= ${PREFIX}/${LIB_SUBDIR}
+STAGE_DIR= ${WRKDIR}/stage
+RC_DIR= ${PREFIX}/etc/rc.d
+MAIL_DIR= ${PREFIX}/etc/mail
+CONF_DIR= ${MAIL_DIR}/elm
+LIB_DIR= ${PREFIX}/lib/elm
+SHLIB_DIR= ${PREFIX}/libexec/elm
-_RCD_FILE= 00elm.sh
-RCD_FILE= 000.elm.sh
+CONFIG_PATH= ${WRKDIR}/config.sh
+_RC_FILE= 00elm.sh
+RC_FILE= 000.elm.sh
MIME_TYPES= elm.mimetypes
MIME_CSETS= elm.mimecharsets
TERM_INFO= elm.terminalinfo
ELM_RC= elm.rc
-DOC_FILES= README.ME+ \
- shared_libs/iconv/README.ICONV \
- shared_libs/smtp/README.SMTP \
- shared_libs/tls/README.TLS \
+CONF_FILES= ${MIME_TYPES} ${MIME_CSETS} ${TERM_INFO} ${ELM_RC}
+DOC_FILES= MIME.txt README.ME+ \
doc/Alias.fmtd doc/Config.fmtd doc/Cover.fmtd \
doc/Form.fmtd doc/Ref.fmtd doc/Users.fmtd
+.for shlib in ${ELM_SHLIBS}
+DOC_FILES+= shared_libs/${shlib:L}/README.${shlib:U}
+.endfor
# Post-patch
#
-post-patch: fix-permissions patch-install-script patch-setgid patch-nls-files
+post-patch: fix-permissions patch-startup-scripts patch-setgid patch-nls-files
fix-permissions:
@${CHMOD} -R u+w ${WRKSRC}
-patch-install-script:
- @${SED} -e 's,%%SHLIB_SUBDIR%%,${SHLIB_SUBDIR},' \
- ${FILESDIR}/${_RCD_FILE} > ${WRKSRC}/${RCD_FILE}
+patch-startup-scripts:
+ @${SED} ${RCSCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+ ${FILESDIR}/${_RC_FILE} > ${WRKDIR}/${RC_FILE}
-# d_savegrpmboxid is currently broken using setgid(2) instead of setegid(2).
-# will probably be fixed in a next release, for instance, fake a patch.
-# the alternative would be to disable this option in pre-configure script.
+# from <sys/unistd.h>:
+# Although we have saved user/group IDs, we do not use them in setuid
+# as described in POSIX 1003.1, because the feature does not work for
+# root. We use the saved IDs in seteuid/setegid, which are not currently
+# part of the POSIX 1003.1 specification. XXX revisit for 1003.1-2001
+# as this is now mandatory.
patch-setgid:
- @${REINPLACE_CMD} -e 's|setgid|setegid|' \
+ @if [ "$$(sysctl -n kern.saved_ids)" -eq 0 ]; then \
+ ${REINPLACE_CMD} -e 's|setgid|setegid|' \
${WRKSRC}/lib/localmbx.c \
- ${WRKSRC}/src/init.c ${WRKSRC}/src/lock.c
+ ${WRKSRC}/src/init.c ${WRKSRC}/src/lock.c; \
+ ${REINPLACE_CMD} -e 's|have_saved_ids = 0|have_saved_ids = 1|' \
+ ${WRKSRC}/lib/read_rc.c; \
+ fi
patch-nls-files:
@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|' ${WRKSRC}/nls/LANGS
+# Pre-configure
+#
+pre-configure: configure-shlibs
+
+TEE?= tee
+
+configure-shlibs:
+ @${CP} /dev/null ${CONFIG_PATH}
+.for shlib in ${ELM_SYSTEM_SHLIBS}
+ @${ECHO_CMD} "\# Support for ${shlib:U}" \
+ > ${WRKSRC}/shared_libs/${shlib:L}/config.res
+.endfor
+.for shlib in ${ELM_SHLIBS}
+ @${ECHO_CMD} "${shlib:L}_ok='define'" \
+ | ${TEE} -a ${CONFIG_PATH} \
+ >> ${WRKSRC}/shared_libs/${shlib:L}/config.res
+.endfor
+.for shlib in ${ELM_UNSHLIBS}
+ @${ECHO_CMD} "${shlib:L}_ok='undef'" \
+ | ${TEE} -a ${CONFIG_PATH} \
+ >> ${WRKSRC}/shared_libs/${shlib:L}/config.res
+.endfor
+
+# Post-configure
+#
+
+post-configure: rename-readmes
+
+rename-readmes:
+.for shlib in ${ELM_SHLIBS}
+ @if [ -f ${WRKSRC}/shared_libs/${shlib:L}/README.ME+ ]; then \
+ ${MV} ${WRKSRC}/shared_libs/${shlib:L}/README.ME+ \
+ ${WRKSRC}/shared_libs/${shlib:L}/README.${shlib:U}; \
+ fi
+.endfor
+
# Pre-install
#
-pre-install: backup-mime-charsets backup-terminal-info
+pre-install: create-install-dirs backup-conf-files
-backup-mime-charsets:
-.if exists(${LIB_DIR}/${MIME_CSETS})
- @${MV} ${LIB_DIR}/${MIME_CSETS} ${LIB_DIR}/${MIME_CSETS}.orig
-.endif
+create-install-dirs:
+ @${MKDIR} ${CONF_DIR} ${LIB_DIR} ${SHLIB_DIR}
-backup-terminal-info:
-.if exists(${LIB_DIR}/${TERM_INFO})
- @${MV} ${LIB_DIR}/${TERM_INFO} ${LIB_DIR}/${TERM_INFO}.orig
-.endif
+backup-conf-files:
+.for file in ${CONF_FILES}
+ @if [ -f ${LIB_DIR}/${file} ]; then \
+ ${MV} ${LIB_DIR}/${file} ${CONF_DIR}/${file}.orig; \
+ elif [ -f ${CONF_DIR}/${file} ]; then \
+ ${MV} ${CONF_DIR}/${file} ${CONF_DIR}/${file}.orig; \
+ fi
+.endfor
# Post-install
#
post-install: install-startup-files install-nls-files \
install-doc-files install-mime-types \
- install-mime-charsets restore-mime-charsets \
- install-terminal-info restore-terminal-info \
- install-global-rc-file \
+ install-conf-files restore-conf-files \
+ merge-global-rc-file \
remove-catman-files remove-catman-links
install-startup-files:
- @${INSTALL_SCRIPT} ${WRKSRC}/${RCD_FILE} ${RCD_DIR}
+ @${INSTALL_SCRIPT} ${WRKDIR}/${RC_FILE} ${RC_DIR}
install-nls-files:
@cd ${WRKSRC}/nls; ${MAKE} install
@@ -168,74 +271,48 @@ install-nls-files:
install-doc-files:
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
-.for file in ${DOC_FILES}
+. for file in ${DOC_FILES}
@${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
@${GZIP_CMD} ${DOCSDIR}/${file:T}
-.endfor
+. endfor
.endif
install-mime-types:
- @${INSTALL_DATA} ${FILESDIR}/${MIME_TYPES} ${LIB_DIR}/${MIME_TYPES}-dist
-.if !exists(${LIB_DIR}/${MIME_TYPES})
- @${INSTALL_DATA} ${FILESDIR}/${MIME_TYPES} ${LIB_DIR}
-.endif
-
-install-mime-charsets:
- @${INSTALL_DATA} ${LIB_DIR}/${MIME_CSETS} ${LIB_DIR}/${MIME_CSETS}-dist
-# was
-# @${LIB_DIR}/elmcharset -G \
-# -I ${WRKSRC}/ConfTool/killsets \
-# -S ${WRKSRC}/charset/MAPPING/ISO8859 \
-# -w ${LIB_DIR}/${MIME_CSETS}-dist \
-# ${WRKSRC}/bin/${MIME_CSETS}
-
-restore-mime-charsets:
-.if exists(${LIB_DIR}/${MIME_CSETS}.orig)
- @${MV} ${LIB_DIR}/${MIME_CSETS}.orig ${LIB_DIR}/${MIME_CSETS}
-.endif
+ @${INSTALL_DATA} ${FILESDIR}/${MIME_TYPES} ${CONF_DIR}/${MIME_TYPES}
-install-terminal-info:
- @${INSTALL_DATA} ${LIB_DIR}/${TERM_INFO} ${LIB_DIR}/${TERM_INFO}-dist
-# was
-# @${LIB_DIR}/elmterminal -G \
-# -w ${LIB_DIR}/${TERM_INFO}-dist \
-# ${WRKSRC}/bin/${TERM_INFO}
+install-conf-files:
+.for file in ${CONF_FILES}
+ @${INSTALL_DATA} ${CONF_DIR}/${file} ${CONF_DIR}/${file}-dist
+.endfor
-restore-terminal-info:
-.if exists(${LIB_DIR}/${TERM_INFO}.orig)
- @${MV} ${LIB_DIR}/${TERM_INFO}.orig ${LIB_DIR}/${TERM_INFO}
-.endif
+# for instance, don't restore obsolete files :( except elm.rc :)
+restore-conf-files:
+.for file in ${ELM_RC} # ${CONF_FILES}
+ @if [ -f ${CONF_DIR}/${file}.orig ]; then \
+ ${MV} ${CONF_DIR}/${file}.orig ${CONF_DIR}/${file}; \
+ fi
+.endfor
-# at installation time, elm already has merged changes to the global
-# rc file. so, the only way to generate a -dist rc file is to
-# backup the original rc file, then to generate the -dist rc file
-# and to restore the backuped rc file. this allow us, at deinstallation
-# time, to not delete an existing customized rc file.
-# same assertion about elm.mimecharsets and elm.terminalinfo.
-install-global-rc-file:
- @${MV} ${LIB_DIR}/${ELM_RC} ${LIB_DIR}/${ELM_RC}.orig
+merge-global-rc-file:
@${LIB_DIR}/elmrc-write -G -I
- @${MV} ${LIB_DIR}/${ELM_RC} ${LIB_DIR}/${ELM_RC}-dist
- @${MV} ${LIB_DIR}/${ELM_RC}.orig ${LIB_DIR}/${ELM_RC}
+ @${LIB_DIR}/elmlibregister -G -I ${ELM_SHLIBS}
remove-catman-files:
.for sect in ${MSECS}
-.for page in ${MAN${sect}}
+. for page in ${MAN${sect}}
@${RM} -f ${MAN${sect}PREFIX}/man/cat${sect}/${page}
-.endfor
+. endfor
.endfor
remove-catman-links:
.for sect in ${MSECS}
-.for page in ${MLINKS}
-.if ${MAN${sect}:M${page}} == ""
+. for page in ${MLINKS}
+. if ${MAN${sect}:M${page}} == ""
@${RM} -f ${MAN${sect}PREFIX}/man/cat${sect}/${page}
-.endif
-.endfor
+. endif
+. endfor
.endfor
-.include <bsd.port.pre.mk>
-
# some sketchy hackery
FETCH_CMD_INTERIOR= ${FETCH_CMD:M*fetch*}
diff --git a/mail/elm+ME/distinfo b/mail/elm+ME/distinfo
index 2968ee6e2d40..db0871b049cb 100644
--- a/mail/elm+ME/distinfo
+++ b/mail/elm+ME/distinfo
@@ -1,14 +1,2 @@
-MD5 (elm-2.4ME+99.tar.gz) = 014e2a606fb1a7e80d048680c80dfb60
-SIZE (elm-2.4ME+99.tar.gz) = 1258252
-MD5 (elm-2.4ME+PL99a.patch.gz) = d8898816793c0b46ce9779a86c5bda03
-SIZE (elm-2.4ME+PL99a.patch.gz) = 5647
-MD5 (elm-2.4ME+PL99b.patch.gz) = d5c1a2a0293d208a1f9927cf96a7ad7f
-SIZE (elm-2.4ME+PL99b.patch.gz) = 4770
-MD5 (elm-2.4ME+PL99c.patch.gz) = 10700bf9bacdfd420bff3328e287ef30
-SIZE (elm-2.4ME+PL99c.patch.gz) = 1849
-MD5 (elm-2.4ME+PL99d.patch.gz) = 6104d4dae388d74e0c1a51fe4506e844
-SIZE (elm-2.4ME+PL99d.patch.gz) = 9821
-MD5 (elm-2.4ME+PL99e.patch.gz) = f797ab1bf282e949e954d617cf61ea2e
-SIZE (elm-2.4ME+PL99e.patch.gz) = 3504
-MD5 (elm-2.4ME+PL99f.patch.gz) = b3bdaaa996ad299590ce425d29be2541
-SIZE (elm-2.4ME+PL99f.patch.gz) = 6154
+MD5 (elm-2.4ME+116.tar.gz) = cb2ef246253a679268102e3e0d0b1954
+SIZE (elm-2.4ME+116.tar.gz) = 1458277
diff --git a/mail/elm+ME/files/00elm.sh b/mail/elm+ME/files/00elm.sh
index b498c4549044..ab80dc89b7ea 100644
--- a/mail/elm+ME/files/00elm.sh
+++ b/mail/elm+ME/files/00elm.sh
@@ -2,20 +2,36 @@
#
# $FreeBSD$
#
+# Configure the shared library cache
+#
+# PROVIDE: elm
+# REQUIRE: ldconfig
+# KEYWORD: FreeBSD
+
+elm_enable="YES"
+elm_shlib_dir="%%SHLIB_DIR%%"
+
+. %%RC_SUBR%%
+
+name=ldconfig
+rcvar=$(set_rcvar)
+ldconfig_command="/sbin/ldconfig"
+load_rc_config ${name}
+
+name="elm"
+rcvar=$(set_rcvar)
+start_cmd="elm_start"
+stop_cmd=":"
-if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
- echo "$0: Cannot determine the PREFIX" >&2
- exit 1
-fi
+elm_start ()
+{
+ _ins=
+ ldconfig=${ldconfig_command}
+ checkyesno ldconfig_insecure && _ins="-i"
+ if [ -x "${ldconfig_command}" ]; then
+ ${ldconfig} -m ${_ins} ${elm_shlib_dir}
+ fi
+}
-case "$1" in
-start)
- /sbin/ldconfig -m ${PREFIX}/%%SHLIB_SUBDIR%%
- ;;
-stop)
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" 2>&1
- exit 64
- ;;
-esac
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/mail/elm+ME/files/patch-ac b/mail/elm+ME/files/patch-ac
index fd8393602082..c86bf8799e53 100644
--- a/mail/elm+ME/files/patch-ac
+++ b/mail/elm+ME/files/patch-ac
@@ -1,21 +1,42 @@
---- Configure.orig Tue Jul 23 20:26:30 2002
-+++ Configure Tue Jul 23 20:26:31 2002
-@@ -94,10 +94,10 @@
- yes)
- ;;
- *)
-- if test ! -t 0; then
-- echo "Say 'sh Configure', not 'sh <Configure'"
-- exit 1
-- fi
-+# if test ! -t 0; then
-+# echo "Say 'sh Configure', not 'sh <Configure'"
-+# exit 1
-+# fi
- ;;
- esac
-
-@@ -2251,7 +2251,7 @@
+--- Configure.orig Sat Nov 15 17:19:06 2003
++++ Configure Tue Dec 23 03:24:03 2003
+@@ -64,7 +64,7 @@
+ shift
+ ;;
+ -P*)
+- prefix="`expr \"$1\" : '-P\(.*\)'`"
++ prefix="`expr \"X$1\" : 'X-P\(.*\)'`"
+ shift
+ case "$prefix" in
+ "")
+@@ -75,7 +75,7 @@
+ echo "Prefix: $prefix"
+ ;;
+ -s*)
+- libsuffix="`expr \"$1\" : '-s\(.*\)'`"
++ libsuffix="`expr \"X$1\" : 'X-s\(.*\)'`"
+ shift
+ case "$libsuffix" in
+ "")
+@@ -86,7 +86,7 @@
+ echo "Extra library suffix: $libsuffix"
+ ;;
+ -c*)
+- config="`expr \"$1\" : '-c\(.*\)'`"
++ config="`expr \"X$1\" : 'X-c\(.*\)'`"
+ shift
+ case "$config" in
+ "")
+@@ -122,7 +122,7 @@
+ case "$error" in
+ true)
+ cat >&2 << EOM
+-Usage: Configure [-dS]
++Usage: Configure [-dbhSMN] [-P'prefix'] [-s'suffix'] [-c'config'] [-DDEBUG]
+ -d : use defaults for all answers.
+ -b : batchmode -- do not prompt user (implies -d)
+ -h : print this help message and exit (with an error status).
+@@ -2296,7 +2296,7 @@
echo "Found shlib directory"
fi
@@ -24,7 +45,7 @@
LibLoc=`cd ..; pwd`/shlib
-@@ -2544,7 +2544,10 @@
+@@ -2589,7 +2589,10 @@
: see if crypt exists
echo " "
@@ -36,7 +57,7 @@
echo 'crypt() found.'
d_crypt="$define"
cryptlib=''
-@@ -3048,6 +3051,7 @@
+@@ -3093,6 +3096,7 @@
$echo $n "Testing if inet_aton can be used ... $c"
$cat > try.c <<'EOF'
diff --git a/mail/elm+ME/files/patch-newmbox.c b/mail/elm+ME/files/patch-header_alloc.c
index 9ee96d2d04e4..cf2a7f5c708a 100644
--- a/mail/elm+ME/files/patch-newmbox.c
+++ b/mail/elm+ME/files/patch-header_alloc.c
@@ -1,6 +1,6 @@
---- src/newmbox.c.orig Wed Mar 20 08:04:48 2002
-+++ src/newmbox.c Tue Apr 16 05:02:54 2002
-@@ -422,6 +422,36 @@
+--- src/messages/header_alloc.c.orig Wed Dec 17 19:22:20 2003
++++ src/messages/header_alloc.c Tue Dec 23 03:14:46 2003
+@@ -333,6 +333,36 @@
}
if (NULL != (tmphdr = locate_header_by_name(parsed_headers,
diff --git a/mail/elm+ME/pkg-plist b/mail/elm+ME/pkg-plist
index ac4b07bdcf05..efed4c049dec 100644
--- a/mail/elm+ME/pkg-plist
+++ b/mail/elm+ME/pkg-plist
@@ -16,58 +16,87 @@ bin/newmail
@unexec rm -f %B/wnewmail
bin/printmail
bin/readmsg
-etc/rc.d/000.elm.sh
-%%LIB_SUBDIR%%/elm-help.0
-%%LIB_SUBDIR%%/elm-help.1
-%%LIB_SUBDIR%%/elm-help.2
-%%LIB_SUBDIR%%/elm-help.3
-%%LIB_SUBDIR%%/elm.map.bin/unidata.bin
-%%LIB_SUBDIR%%/elm.map.txt/8859-14.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-16.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-2.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-3.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-4.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-5.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-6.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-7.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-8.TXT
-%%LIB_SUBDIR%%/elm.map.txt/8859-9.TXT
-%%LIB_SUBDIR%%/elmcharset
-%%LIB_SUBDIR%%/elmrc-info
-%%LIB_SUBDIR%%/elmrc-write
-%%LIB_SUBDIR%%/elmterminal
-%%LIB_SUBDIR%%/elmunidata
-%%LIB_SUBDIR%%/prlong
-%%SHLIB_SUBDIR%%/libelmme-base.so%%SO_REV%%
-%%SHLIB_SUBDIR%%/libelmme-iconv.so%%SO_REV%%
-%%SHLIB_SUBDIR%%/libelmme-smtp.so%%SO_REV%%
-%%SHLIB_SUBDIR%%/libelmme-tls.so%%SO_REV%%
-%%PORTDOCS%%%%DOC_SUBDIR%%/Alias.fmtd.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/Config.fmtd.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/Cover.fmtd.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/Form.fmtd.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/README.ICONV.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/README.ME+.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/README.SMTP.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/README.TLS.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/Ref.fmtd.gz
-%%PORTDOCS%%%%DOC_SUBDIR%%/Users.fmtd.gz
-share/nls/C/elm2.4me+.cat
-@unexec if cmp -s %D/%%LIB_SUBDIR%%/elm.mimecharsets %D/%%LIB_SUBDIR%%/elm.mimecharsets-dist; then rm -f %D/%%LIB_SUBDIR%%/elm.mimecharsets; fi
-%%LIB_SUBDIR%%/elm.mimecharsets-dist
+%%CONF_DIR%%/elm.filelist
+@unexec if cmp -s %D/%%CONF_DIR%%/elm.mimecharsets %D/%%CONF_DIR%%/elm.mimecharsets-dist; then rm -f %D/%%CONF_DIR%%/elm.mimecharsets; fi
+%%CONF_DIR%%/elm.mimecharsets-dist
+@exec if [ -f %D/%%LIB_DIR%%/elm.mimecharsets ]; then [ -f %B/elm.mimecharsets ] && old=.old || old=; mv %D/%%LIB_DIR%%/elm.mimecharsets %B/elm.mimecharsets${old}; fi
@exec [ -f %B/elm.mimecharsets ] || cp %B/%f %B/elm.mimecharsets
-@unexec if cmp -s %D/%%LIB_SUBDIR%%/elm.mimetypes %D/%%LIB_SUBDIR%%/elm.mimetypes-dist; then rm -f %D/%%LIB_SUBDIR%%/elm.mimetypes; fi
-%%LIB_SUBDIR%%/elm.mimetypes-dist
+@unexec if cmp -s %D/%%CONF_DIR%%/elm.mimetypes %D/%%CONF_DIR%%/elm.mimetypes-dist; then rm -f %D/%%CONF_DIR%%/elm.mimetypes; fi
+%%CONF_DIR%%/elm.mimetypes-dist
+@exec if [ -f %D/%%LIB_DIR%%/elm.mimetypes ]; then [ -f %B/elm.mimetypes ] && old=.old || old=; mv %D/%%LIB_DIR%%/elm.mimetypes %B/elm.mimetypes${old}; fi
@exec [ -f %B/elm.mimetypes ] || cp %B/%f %B/elm.mimetypes
-@unexec if cmp -s %D/%%LIB_SUBDIR%%/elm.rc %D/%%LIB_SUBDIR%%/elm.rc-dist; then rm -f %D/%%LIB_SUBDIR%%/elm.rc; fi
-%%LIB_SUBDIR%%/elm.rc-dist
-@exec if [ -f %B/elm.rc ]; then %D/%%LIB_SUBDIR%%/elmrc-write -G -I; fi
+@unexec if cmp -s %D/%%CONF_DIR%%/elm.rc %D/%%CONF_DIR%%/elm.rc-dist; then rm -f %D/%%CONF_DIR%%/elm.rc; fi
+%%CONF_DIR%%/elm.rc-dist
+@exec if [ -f %D/%%LIB_DIR%%/elm.rc ]; then [ -f %B/elm.rc ] && old=.old || old=; mv %D/%%LIB_DIR%%/elm.rc %B/elm.rc${old}; fi
@exec [ -f %B/elm.rc ] || cp %B/%f %B/elm.rc
-@unexec if cmp -s %D/%%LIB_SUBDIR%%/elm.terminalinfo %D/%%LIB_SUBDIR%%/elm.terminalinfo-dist; then rm -f %D/%%LIB_SUBDIR%%/elm.terminalinfo; fi
-%%LIB_SUBDIR%%/elm.terminalinfo-dist
+@unexec if cmp -s %D/%%CONF_DIR%%/elm.terminalinfo %D/%%CONF_DIR%%/elm.terminalinfo-dist; then rm -f %D/%%CONF_DIR%%/elm.terminalinfo; fi
+%%CONF_DIR%%/elm.terminalinfo-dist
+@exec if [ -f %D/%%LIB_DIR%%/elm.terminalinfo ]; then [ -f %B/elm.terminalinfo ] && old=.old || old=; mv %D/%%LIB_DIR%%/elm.terminalinfo %B/elm.terminalinfo${old}; fi
@exec [ -f %B/elm.terminalinfo ] || cp %B/%f %B/elm.terminalinfo
-%%PORTDOCS%%@dirrm %%DOC_SUBDIR%%
-@dirrm %%SHLIB_SUBDIR%%
-@dirrm %%LIB_SUBDIR%%/elm.map.txt
-@dirrm %%LIB_SUBDIR%%/elm.map.bin
-@unexec rmdir %D/%%LIB_SUBDIR%% 2> /dev/null || :
+%%RC_DIR%%/000.elm.sh
+%%LIB_DIR%%/elm-help.0
+%%LIB_DIR%%/elm-help.1
+%%LIB_DIR%%/elm-help.2
+%%LIB_DIR%%/elm-help.3
+%%LIB_DIR%%/elm.map.bin/bindata.bin
+%%LIB_DIR%%/elm.map.bin/unidata.bin
+%%LIB_DIR%%/elm.map.txt/8859-10.TXT
+%%LIB_DIR%%/elm.map.txt/8859-11.TXT
+%%LIB_DIR%%/elm.map.txt/8859-13.TXT
+%%LIB_DIR%%/elm.map.txt/8859-14.TXT
+%%LIB_DIR%%/elm.map.txt/8859-16.TXT
+%%LIB_DIR%%/elm.map.txt/8859-2.TXT
+%%LIB_DIR%%/elm.map.txt/8859-3.TXT
+%%LIB_DIR%%/elm.map.txt/8859-4.TXT
+%%LIB_DIR%%/elm.map.txt/8859-5.TXT
+%%LIB_DIR%%/elm.map.txt/8859-6.TXT
+%%LIB_DIR%%/elm.map.txt/8859-7.TXT
+%%LIB_DIR%%/elm.map.txt/8859-8.TXT
+%%LIB_DIR%%/elm.map.txt/8859-9.TXT
+%%LIB_DIR%%/elm.map.txt/CP1250.TXT
+%%LIB_DIR%%/elm.map.txt/CP1253.TXT
+%%LIB_DIR%%/elm.map.txt/CP1254.TXT
+%%LIB_DIR%%/elm.map.txt/CP1255.TXT
+%%LIB_DIR%%/elm.map.txt/CP1256.TXT
+%%LIB_DIR%%/elm.map.txt/CP1257.TXT
+%%LIB_DIR%%/elm.map.txt/CP1258.TXT
+%%LIB_DIR%%/elm.map.txt/CP437.TXT
+%%LIB_DIR%%/elm.map.txt/dec-mcs.txt
+%%LIB_DIR%%/elm.map.txt/hp-roman8.txt
+%%LIB_DIR%%/elm.map.txt/viscii.txt
+%%LIB_DIR%%/elmbindata
+%%LIB_DIR%%/elmcharset
+%%LIB_DIR%%/elmlibregister
+%%LIB_DIR%%/elmrc-info
+%%LIB_DIR%%/elmrc-write
+%%LIB_DIR%%/elmregister
+@exec ln -f %B/%f %B/elmuninstall
+@unexec rm -f %B/elmuninstall
+%%LIB_DIR%%/elmterminal
+%%LIB_DIR%%/elmunidata
+%%LIB_DIR%%/prlong
+%%SHLIB_DIR%%/libelmme-base.so%%SO_REV%%
+%%ELM_ICONV%%%%SHLIB_DIR%%/libelmme-iconv.so%%SO_REV%%
+%%ELM_SMTP%%%%SHLIB_DIR%%/libelmme-smtp.so%%SO_REV%%
+%%ELM_TLS%%%%SHLIB_DIR%%/libelmme-tls.so%%SO_REV%%
+%%PORTDOCS%%%%DOCSDIR%%/Alias.fmtd.gz
+%%PORTDOCS%%%%DOCSDIR%%/Config.fmtd.gz
+%%PORTDOCS%%%%DOCSDIR%%/Cover.fmtd.gz
+%%PORTDOCS%%%%DOCSDIR%%/Form.fmtd.gz
+%%PORTDOCS%%%%DOCSDIR%%/MIME.txt.gz
+%%ELM_ICONV%%%%PORTDOCS%%%%DOCSDIR%%/README.ICONV.gz
+%%PORTDOCS%%%%DOCSDIR%%/README.ME+.gz
+%%ELM_SMTP%%%%PORTDOCS%%%%DOCSDIR%%/README.SMTP.gz
+%%ELM_TLS%%%%PORTDOCS%%%%DOCSDIR%%/README.TLS.gz
+%%PORTDOCS%%%%DOCSDIR%%/Ref.fmtd.gz
+%%PORTDOCS%%%%DOCSDIR%%/Users.fmtd.gz
+share/nls/C/elm2.4me+.cat
+@exec %D/%%LIB_DIR%%/elmrc-write -G -I
+@exec %D/%%LIB_DIR%%/elmlibregister -G -I %%ELM_SHLIBS%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm %%SHLIB_DIR%%
+@dirrm %%LIB_DIR%%/elm.map.txt
+@dirrm %%LIB_DIR%%/elm.map.bin
+@unexec rmdir %D/%%LIB_DIR%% 2> /dev/null || :
+@unexec rmdir %D/%%CONF_DIR%% 2> /dev/null || :
+@unexec rmdir %D/%%MAIL_DIR%% 2> /dev/null || :
diff --git a/mail/elm+ME/scripts/pre-configure b/mail/elm+ME/scripts/pre-configure
index 10e5fc119b4a..39c1bd361717 100644
--- a/mail/elm+ME/scripts/pre-configure
+++ b/mail/elm+ME/scripts/pre-configure
@@ -15,10 +15,10 @@ case ${CFLAGS} in
*) DEBUG= ;;
esac
-cat > ${WRKSRC}/config.sh << EOF
+cat >> ${CONFIG_PATH} << EOF
#!/bin/sh
# config.sh
-# This file was produced by running the Configure script.
+# This file was produced by running the $0 script.
Log='\$Log'
Header='\$Header'
@@ -49,6 +49,7 @@ orderlib='false'
ranlib=':'
package='elm2.4me+'
pager='builtin++'
+use_builtin_pager='define'
startsh='#!/bin/sh'
define='define'
loclist='
@@ -178,7 +179,7 @@ compress='/usr/bin/compress'
execmail=''
libswanted='sun nls c_s'
noaddlib='yes'
-c_date='Fri Jan 18 00:59:09 CET 2002'
+c_date='Wed Dec 24 03:02:21 CET 2003'
d_ascii='undef'
d_broke_ctype='undef'
d_calendar='define'
@@ -257,7 +258,8 @@ d_setlinebuf='define'
d_shared='define'
d_shared_rev='${d_shared_rev}'
d_dlopen_libs='define'
-shared_list='iconv smtp tls'
+shared_list='${ELM_SHLIBS}'
+shared_register='${ELM_SHLIBS}'
d_dynamic_main='define'
dynamic_opt='-rdynamic'
dlopen_lib=''
@@ -286,8 +288,11 @@ d_systimekernel='undef'
i_unistd='define'
i_utime='define'
i_sysutime='undef'
-lib='${PREFIX}/${LIB_SUBDIR}'
-shlib='${PREFIX}/${SHLIB_SUBDIR}'
+lib='${LIB_DIR}'
+shlib='${SHLIB_DIR}'
+etc='${CONF_DIR}'
+stage_dir='${STAGE_DIR}'
+build_package='undef'
libdirname='lib'
libc='/usr/lib/libc.so'
linepr='/usr/bin/lp'
@@ -346,32 +351,14 @@ locale_dir='/usr/share/locale'
CONFIG=true
EOF
-mv ${WRKSRC}/shared_libs/iconv/README.ME+ \
- ${WRKSRC}/shared_libs/iconv/README.ICONV
-
-tee -a ${WRKSRC}/config.sh > ${WRKSRC}/shared_libs/iconv/config.res << EOF
-# Support for ICONV
-iconv_ok='define'
+tee -a ${CONFIG_PATH} >> ${WRKSRC}/shared_libs/iconv/config.res << EOF
iconv_dir='${LOCALBASE}'
iconv_include_dir='${LOCALBASE}/include'
iconv_lib_dir='${LOCALBASE}/lib'
iconv_link='iconv'
EOF
-mv ${WRKSRC}/shared_libs/smtp/README.ME+ \
- ${WRKSRC}/shared_libs/smtp/README.SMTP
-
-tee -a ${WRKSRC}/config.sh > ${WRKSRC}/shared_libs/smtp/config.res << EOF
-# Support for SMTP
-smtp_ok='define'
-EOF
-
-mv ${WRKSRC}/shared_libs/tls/README.ME+ \
- ${WRKSRC}/shared_libs/tls/README.TLS
-
-tee -a ${WRKSRC}/config.sh > ${WRKSRC}/shared_libs/tls/config.res << EOF
-# Support for TLS
-tls_ok='define'
+tee -a ${CONFIG_PATH} >> ${WRKSRC}/shared_libs/tls/config.res << EOF
tls_dir='system'
tls_include_dir=''
tls_lib_dir=''