Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Jan 1996 22:47:44 +0100
From:      "Julian H. Stacey" <jhs@freebsd.org>
To:        "Jordan K. Hubbard" <jkh@time.cdrom.com>
Cc:        ports@freebsd.org, jkh@freebsd.org, brent.welch@sun.com, n1epo4tl@ibmmail.com, root@thud.freebsd.org
Subject:   Re: ports/mail/exmh 
Message-ID:  <199601242147.WAA03843@vector.jhs.local>
In-Reply-To: Your message of "Mon, 22 Jan 1996 19:46:25 PST." <3441.822368785@time.cdrom.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Reference:
> From: "Jordan K. Hubbard" <jkh@time.cdrom.com> 
> > 
> > Below is a new port (wrapper): ports/mail/exmh
> > ( EXMH is a very nice X-Windows front end to the mail/mh package,
> > 
> > ( This is a more polished version of the one I did in December,
> 
> But still untested.. :-)

Not untested, It works for me, but I did say it would doubtless need 
additional tweaks from a ports person ;-)
I've done as much testing as is convenient here:
	- While working on it I tried running make & 
	  make install on both my prime development box, & my 2nd gate box,
	  I also ran pkg_add on my gate box.
	- I have several times asked why the freefall motd still refers to the
	  `thud' crash, & invites one to mail to arrange recovery of one's
	  login/passwd & yet my thud login/passwd remains unrepaired, so I
	  can't test on the official (& convenient to my USA ISP) test site.
	  (Perhap root@thud gets its mail forwarded off line, & when root is
	  on line, my `please repair jhs passwd' mail is no longer to hand.)
	  .... so I can't test on thud, & testing ports on freefall has been
	  previously discouraged.
	- I did some earlier incomplete work on a host in Aachen, but as my 
	  ISP is USA based, the double Atlantic hop slowed progress.

If you want me to test on thud, root@thud needs to fix my damaged passwd entry.



> root@time-> make
> >> exmh-1.6.5.tar.gz doesn't seem to exist on this system.
> >> Attempting to fetch from ftp://ftp.aud.alcatel.com/tcl.
> /tclexmh-1.6.5.tar.gz: No such file.
> 
> The MASTER_SITES field needs a trailing `/',
> which in this case
> doesn't really matter anyway since it points to the wrong directory! :-)

> I believe that Alcatel has always put code like this in the `code'
> subdirectory, where one will indeed find the exmh package.

OK, I've had my distfile about a month so didnt notice this.  
I assume you are reccomending
	MASTER_SITES=   ftp://ftp.aud.alcatel.com/tcl/code/



> The BUILD_DEPENDS are also entirely wrong, and force gratuitous
> repacks of both the TCL and Tk ports (hint - you have to match shared
> library names properly, as is done in other ports).

OK Thanks.

> Oh yeah, they're also not even supposed to be there - we use
> LIB_DEPENDS and EXEC_DEPENDS instead now, remember?  

Is BUILD_DEPENDS deprecated in Makefile then ? or not ? or merely not
appropriate in this Makefile ?
There is no note for or against usage of BUILD_DEPENDS in 
current src/share/mk/bsd.port.mk variables definition section.
but there is this further down:
	# The following 4 lines should go away as soon as the ports are all updated
	.if defined(EXEC_DEPENDS)
	BUILD_DEPENDS+= ${EXEC_DEPENDS}
	RUN_DEPENDS+=   ${EXEC_DEPENDS}
	.endif

> The entire ports tree switched over quite some time back.

I'm not clear,  hard to believe you might mean from using BUILD_DEPENDS, as
	cd /usr/ports ; grep BUILD_DEPENDS */*/Makefile	
reports:
	archivers/unzip.with_encryption archivers/zip.with_encryption
	comms/hylafax comms/rzsz databases/gnats devel/noweb editors/uemacs
	games/xpacman japanese/ghostscript japanese/kinput2-canna+wnn
	japanese/kinput2-wnn japanese/mule-wnn japanese/netscape.language
	japanese/platex japanese/xdvi lang/pTk mail/pgpsendmail mail/smail
	net/zircon news/nntp print/latex print/latex209 print/musixtex
	print/texinfo russian/pgp.language security/pgp security/ssh
	www/gn www/lynx

So I guess you mean something else.  Is this what it needs ?
	EXEC_DEPENDS=	tcl:${PORTSDIR}/lang/tcl
	LIB_DEPENDS=	tcl\\.7\\.:${PORTSDIR}/lang/tcl
	LIB_DEPENDS+=	tk\\.3\\.:${PORTSDIR}/x11/tk


> Anyway, if you manage to get past all of that, you'll fall over
> in the build anyway here:
> 
> ===>  Building for exmh-1.6.5
> make: cannot open Makefile.
> *** Error code 2

I saw this too, but too ntermitently/rarely to be able to debug it.


> You forgot to set NO_BUILD since everything for exmh is really done in
> the install script.

OK, Done
( I haven't created a NO_BUILD port before, it's only used in a few ports:
	graphics/spigot russian/{ X.language elm.language
	netscape.language netscape2.language pgp.language } www/arena )



> Also, don't ignore the return status from wish -
> it's important!  You don't want to run `post-install' if the install
> falls over, do you?  That'd look pretty funky.

Yes right, it was a hangover from when I was testing the Makefile
label, & wanted to click the quit button & fast continue the test install.
It's gone.



> > There are likely a few things Satoshi may want to rearrange to conform with
> > bsd.port.mk, but the port is functional, & includes all the packages stuff.
> 
> No, actually this port is almost a textbook example of how to do
> almost everything completely wrong!  Kids, do NOT try this at home! :-)
> 
> I think you need to go back over the ports collection again and learn
> from some of the examples.

How to tell a good example from a bad one in a pool of 300  ? 
Do good ones not contain BUILD_DEPENDS ?



> This port is in absolutely no shape to commit,

That is a perfectionist attitude. The fixes were trivial, & nearly all
involve package stuff, which is not important to those who use source +
make install.  Not everyone lives & dies by packages. Quite a few people
are happy if `make ; make install' can save them time. The Makefile has 
always been capable of that (apart from the fetch, but there was 
an alternate site for that too).  Not that we don't want packages too,
but if it's not in the tree, source users are denied something just because
it has'nt been fixed  to package users much more demanding requirements.

Incidentally, I left the other distfile URL hashed out because I thought
bsd.ports.mk couldn't handle 2 alternate distfiles of type
	site_a:/bla/bla/distfile.gz
	site_b:blah/blah/distfile.Z
(because I've only ever noticed 1 md5 file for a port, + varied EXTRACT_SUFX)



I've adopted all your changes, where I could discern your meaning -
unfortunately you sent very little specific syntax,
context diffs or specific syntax would have reduced your previous & this mail.

I've also done other enhancements.
I append a new Makefile.  Please let me know if you have further problems.

> much less use.

This is _Nonsense_ !   It's already in use here,  I'm using it to write this.
The warpper even holds your hand & points the way what to mod. to set a 
reply-to field for dynamic-ip-no-allocation sites.
`

BTW The package is:
	327554 /usr/ports/mail/exmh/exmh-1.6.5.tgz
That's the bit that might most likely need a tweak or 2,
the tk & tcl package bundling stuff for folks without source,
this I'm not sure about, & would particularly welcome fixes if necessary.



> Oh, and I'm actually be somewhat surprised if Brent were genuinely
> interested in any of this - we're talking about FreeBSD's `ports
> encapsulation' of his product, after all, and that's something likely
> to be of interest only to other FreeBSD ports weenies.

Well I imagine he can speak for himself, 
I cc'd him out of politeness, as his EXMH will get more FreeBSD users.

Perhaps you'd like to drop him a note, when the wrapper is commited 
& announced though ?

/usr/ports/mail/exmh/Makefile
----------------{
# New ports collection makefile for:	exmh
# Version required:	1.6.5
# Date released:	23 Jan '95
# Whom:			Julian Stacey <jhs@freebsd.org>

# `make install' configures options interactively, using X & wish

DISTNAME=	exmh-1.6.5
CATEGORIES+=	mail
KEYWORDS+=	x11

# Master site nominated by EXMH author Brent Welch <brent.welch@sun.com>
# Wasn't running an ftpd when jhs tried.
#	MASTER_SITES=	ftp://ftp.sunlabs.com/pub/tcl/exmh/
#	EXTRACT_SUFX=	.tar.Z
# Where jhs got his:
MASTER_SITES=	ftp://ftp.aud.alcatel.com/tcl/code/

MAINTAINER=	jhs@FreeBSD.org

# IS_INTERACTIVE= yes		# make install is interactive, make is not

EXEC_DEPENDS=	tcl:${PORTSDIR}/lang/tcl
LIB_DEPENDS=	tcl\\.7\\.:${PORTSDIR}/lang/tcl
LIB_DEPENDS+=	tk\\.3\\.:${PORTSDIR}/x11/tk

NO_BUILD=	YES

# INSTALL_DEPENDS+=	wish		# used during interactive installation
BUILD_DEPENDS+= ${INSTALL_DEPENDS}	# .port.mk has no INSTALL_DEPENDS

RUN_DEPENDS+=	mh:${PORTSDIR}/mail/mh		# Essential
RUN_DEPENDS+=	x11:${PORTSDIR}/x11/XFree86	# EXMH is X-Windows based
# RUN_DEPENDS+=	metamail:${PORTSDIR}/mail/metamail # not essential, but nice
# RUN_DEPENDS+=	expect faces pgp glimpse	# not yet configured for these

WRKSRC=	${WRKDIR}/${DISTNAME}
PREFIX_LIB=${PREFIX}/lib
EXMH_MAN=${PREFIX}/man/man1

post-patch: reply-to	# gets called by a simple make
	@echo ${WRKSRC}/lib/report.tcl

pre-install: reply-to # does not get called from make install
	@echo ${WRKSRC}/lib/report.tcl
	@echo then run		make install	again.
# I have not used something of the form of a popclient style
#	cp ${WRKSRC}/popclient.man ${WRKSRC}/popclient.1
# as the wish -f exmh.install handles manuals, & is patched by patch-aa

pre-package: reply-to # gets called by make package
	@echo ${PREFIX_LIB}/${DISTNAME}/report.tcl
	@echo "after having aborted the current 'make package'."
	@echo "Then run 'make package' again."

reply-to:	# This warning should be called from various labels
	@echo -n If the host you are installing on has no permanent Internet
	@echo " domain address,"
	@echo -n  but receives varying dynamicly assigned IP
	@echo " addresses per connection then in:"
	@echo "	lib/report.tcl"
	@echo after
	@echo '	puts $out "Subject: exmh bug"'
	@echo -n you should append an email Reply-To: field with a valid domain,
	@echo "  example:"
	@echo '	puts $out "Reply-To: exmh-bug-master@your-host.your-domain"'
	@echo Please consider running
	@echo -n "	vi -c/Subject: "

post-extract:
	cd ${WRKSRC} ; \
		mv exmh-custom.l exmh-custom.1 ; \
		mv exmh-ref.l exmh-ref.1 ; \
		mv exmh-tables.l exmh-tables.1 ; \
		mv exmh-use.l exmh-use.1 ; \
		mv exmh.l exmh.1 ;

install:
	if [ ! -d ${PREFIX_LIB}/${DISTNAME} ]; \
		then /bin/mkdir -p ${PREFIX_LIB}/${DISTNAME}; fi
	cd ${WRKSRC} ; wish -f exmh.install
	make post-install

# I've not joined this label to install because in procmail/Makefile it's done
# after install.
post-install:
.if !defined(NOMANCOMPRESS)
	gzip -9nf ${EXMH_MAN}/exmh-custom.1 ${EXMH_MAN}/exmh-ref.1 \
	   ${EXMH_MAN}/exmh-tables.1 ${EXMH_MAN}/exmh-use.1 ${EXMH_MAN}/exmh.1
.endif

.include <bsd.port.mk>
----------------}

--
Julian H. Stacey	jhs@freebsd.org  	http://www.freebsd.org/~jhs/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601242147.WAA03843>