aboutsummaryrefslogtreecommitdiffstats
path: root/comms/hylafax/Makefile
diff options
context:
space:
mode:
authorjhs <jhs@FreeBSD.org>1995-05-22 06:37:50 +0800
committerjhs <jhs@FreeBSD.org>1995-05-22 06:37:50 +0800
commit3e7eaf7b5cada71bc0c7c62b94543273bbd65d0d (patch)
treea8eb9d7836b3afda491078099e1eecc4187ea3ae /comms/hylafax/Makefile
parent57f2e4b3746bb096d9e3b3734a795639c983b35b (diff)
downloadfreebsd-ports-gnome-3e7eaf7b5cada71bc0c7c62b94543273bbd65d0d.tar.gz
freebsd-ports-gnome-3e7eaf7b5cada71bc0c7c62b94543273bbd65d0d.tar.zst
freebsd-ports-gnome-3e7eaf7b5cada71bc0c7c62b94543273bbd65d0d.zip
Reviewed by: Earlier draft reviewed by Satoshi (Thanks)
A new import based on Sam Leffler's Hylafax V3.0pl0. Flexfax is now obsolete. Import includes & applies the base patch Sam posted on the flexfax mail list (mail list is still called flexfax, though the package is called Hylafax). Sam declared our ports/comms/flexfax to be obsolete (over a year old). Sometime after the CD release, I will post a proposal to remove ports/comms/flexfax. I will maintain ports/comms/hylafax as I need fax capability. Thanks to Asami Satoshi for suggested improvements, I leave him to `bless' this port by adding the final comms/Makefile: SUBDIR += hylafax Until he does that, any mistakes I may have made shouldnt break any makes :-) I've undoubtedly screwed something up, somewhere, its a big port (30M inc bins),please test, Oh... and "Share & Enjoy" :-) --- Julian Stacey <jhs@freebsd.org> Tel. +49 89 268616. Fax Modem: 2608126 http://www.regent.e-technik.tu-muenchen.de/people/jhs.html
Diffstat (limited to 'comms/hylafax/Makefile')
-rw-r--r--comms/hylafax/Makefile162
1 files changed, 162 insertions, 0 deletions
diff --git a/comms/hylafax/Makefile b/comms/hylafax/Makefile
new file mode 100644
index 000000000000..ee21b428e586
--- /dev/null
+++ b/comms/hylafax/Makefile
@@ -0,0 +1,162 @@
+# ports collection makefile for: hylafax
+# Version required: v3.0pl0
+# Date created: 16 May 1995
+# Whom: Julian Stacey <jhs@freebsd.org>
+# To Replace: flexfax v2.3beta038special
+# Name changed from flexfax to hylafax by author of both: Sam Leffler.
+
+MAINTAINER= jhs@FreeBSD.org
+DISTNAME= hylafax-v3.0pl0
+PKGNAME= hylafax-3.0.0
+MASTER_SITES= ftp://ftp.sgi.com:sgi/fax/source/
+CATEGORIES+= comms
+KEYWORDS+= "fax modem"
+KEYWORDS+= facsimile
+KEYWORDS+= fax
+KEYWORDS+= fax2ps
+KEYWORDS+= faxalter
+KEYWORDS+= faxcover
+KEYWORDS+= faxd
+KEYWORDS+= faxgetty
+KEYWORDS+= faxmail
+KEYWORDS+= faxrm
+KEYWORDS+= faxstat
+KEYWORDS+= sendfax
+HAS_CONFIGURE= yes
+
+INSTALL= "sh port/install.sh"
+# By default, FreeBSD make of ports sets INSTALL=install,
+# <bsd.port.mk> says make wont allow variables to be unset.
+# Hylafax ${WRKSRC}/configure needs a special (supplied) install
+# (To quote ${WRKSRC}/config.site:
+# Beware of changing the INSTALL definition; you *must* have an
+# install script that emulates the Silicon Graphics install program!
+# ) which it assumes you dont want if you set INSTALL.
+# I would prefer to unset the INSTALL from the FreeBSD ports mechanism,
+# but instead I reset it to what Hylafax wants.
+# As this is still insufficient, See also patches/patch-ad.
+
+.if !exists(patches/patch-ab)
+IS_INTERACTIVE= yes
+# patches/patch-ab makes this BATCH compilable,
+# ( If you need interactive config, mv patch-ab patch-ab.mv )
+.endif
+
+# EXEC_DEPENDS?= ghostview:${PORTSDIR}/print/ghostview
+# For viewing faxes, not essential for compiling.
+
+EXEC_DEPENDS+= gs:${PORTSDIR}/print/ghostscript
+# ghostscript is called by faxcover & sendfax.
+# FreeBSD ports does not come with ghostscript-3 (the license is
+# restrictive), FreeBSD ports comes with ghostscript-2.6.2, which
+# is what I'm currently using. Sam Leffler wrote:
+# Ghostscript versions since 3.12 have had a working tiffg32d
+# driver, but beware of versions before 3.12 that have a
+# tiffg32d driver; those drivers generate invalid 2D-encoded data.
+
+# Someone with more time & less space than me can investigate merging these.
+# LIB_DEPENDS= something:${PORTSDIR}/graphics/tiff
+# ./libtiff has 2M, & may be duplicates of what is in ${PORTSDIR}/graphics/tiff
+# LIB_DEPENDS= something:${PORTSDIR}/print/afm
+# ./afm/ has 536K of fonts, that perhaps could be merged.
+
+FAXCOVER?= /etc/faxcover.ps
+# Default location to check for an optional over-riding host specific
+# customised faxcover that will be installed in these sources,
+# & end up where Hylafax installs all its stuff by default:
+# /var/spool/fax/etc/....
+# Note dont make FAXCOVER use a variable (such as ${PREFIX}),
+# as that wont work in `exists' below.
+
+# ------------------------------------------------------------------------------
+
+pre-fetch:
+ @# Ref. ${DISTNAME} ...
+ @echo "Warning - Original distribution is:"
+ @echo " ftp://ftp.sgi.com/sgi/fax/source/hylafax-v3.0pl0-tar.gz"
+ @echo "but /usr/share/mk/bsd.port*mk expects something.tar.gz, and "
+ @echo "will not allow something-tar.gz, "
+ @# Perhaps asami@freebsd.org can be persuaded to investigate ?
+ @echo -n "so until someone enhances"
+ @echo "FreeBSD make macros, do this:"
+ @echo -n " cd /usr/ports/distfiles ; "
+ @echo "ln -s hylafax-v3.0pl0-tar.gz hylafax-v3.0pl0.tar.gz"
+
+post-configure:
+.if exists(${FAXCOVER})
+ @echo I see you have ${FAXCOVER},
+ @echo which I will use to install a system default from.
+ @# When I suggested to Sam (in the flexfax mailing list) merging
+ @# in the distribution util/cover.templ & faxcover/faxcover.ps
+ @# ( as they are virtually identical) Sam said they're for
+ @# different things, & wouldn't do it. I don't know what the
+ @# different purposes are, & I Do succesfully use the same file.
+ -cd ${WRKSRC} ; mv faxcover/faxcover.ps faxcover/faxcover.ps.mv
+ -cd ${WRKSRC} ; mv util/cover.templ util/cover.templ.mv
+ -cd ${WRKSRC} ; ln -s ../cover.ps faxcover/faxcover.ps
+ -cd ${WRKSRC} ; ln -s ../cover.ps util/cover.templ
+ -cd ${WRKSRC} ; ln -s ${FAXCOVER} cover.ps
+.endif
+.if exists(patches/patch-ab)
+ @echo "patches/patch-ab has supressed interactive configuration."
+ @# If you need interactive config, mv patch-ab patch-ab.mv
+.endif
+
+post-install:
+ cd ${PREFIX}/bin ; strip \
+ fax2ps faxalter faxcover faxmail faxrm faxstat sendfax sendpage
+ cd ${PREFIX}/sbin ; strip faxd.recv faxgetty faxq
+ @echo "Hylafax by default only does this sete[gu]id 0 stuff:"
+ @echo " -u uucp -m 4755 faxq faxgetty"
+ @echo "If you, like I, think it needs more, run 'make suid'"
+ @echo "Now consider running faxaddmodem"
+
+SUID_EXES= /usr/local/sbin/faxgetty
+SUID_EXES+= /usr/local/sbin/faxq
+SUID_EXES+= /usr/local/bin/faxrm
+SUID_EXES+= /usr/local/bin/faxalter
+suid:
+ @# This does too much, & may perhaps cause security loopholes,
+ @# but default Hylafax doesnt do enough, eg faxrm wont work,
+ @# & even worse, I have received a faxes that then silent failed
+ @# to write to recvq.
+ @# Only fax modem users who test their hypotheses may change this !
+ @# (Imagine losing an important incoming fax, if recvq is unwritable.)
+ chown uucp ${SUID_EXES}
+ chgrp dialer ${SUID_EXES}
+ chmod 6555 ${SUID_EXES}
+ find /var/spool/fax -print | xargs chown uucp
+ find /var/spool/fax -print | xargs chgrp dialer
+ find /var/spool/fax -print | xargs chmod g+w
+ find /var/spool/fax -print | xargs chmod g+r
+ find /var/spool/fax -type d -print | xargs chmod g+x
+ # now remove some x bits that get set by mistake.
+ -cd /var/spool/fax ; chmod g-x FIFO* log/* status/* recvq/* sendq/*
+ @echo "Now nonsider doing somethink like this:"
+ @echo " sh"
+ @echo " n=1"
+ @echo ' all="ttyd$$n ttyid$$n ttyld$$n cua0$$n cuai0$$n cual0$$n"'
+ @echo ' chown uucp $$all; chgrp dialer $$all; chmod 660 $$all'
+
+post-clean:
+ rm -f \
+ fax2ps/fax2ps \
+ faxalter/faxalter \
+ faxcover/faxcover \
+ faxd/faxd \
+ faxgetty/faxgetty \
+ faxmail/faxmail \
+ faxq/faxq \
+ faxrm/faxrm \
+ faxstat/faxstat \
+ recvfax/recvfax \
+ sendfax/sendfax \
+ sendpage/sendpage \
+ sgi2fax/sgi2fax
+ @# Sam Leffler (author of Hylafax) has a non standard view of
+ @# `make clean': he leaves binaries intact - deliberately !
+ @# One cannot use /usr/share/mk/bsd.port.mk re-clean: to invoke
+ @# `make clobber' before `make clean'
+ @# as it results in `"rules", ... Could not find Makedepend'
+
+.include <bsd.port.mk>