diff options
Diffstat (limited to 'net-misc/hylafax/hylafax-4.4.4.ebuild')
-rw-r--r-- | net-misc/hylafax/hylafax-4.4.4.ebuild | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/net-misc/hylafax/hylafax-4.4.4.ebuild b/net-misc/hylafax/hylafax-4.4.4.ebuild new file mode 100644 index 000000000000..79d7fb49b3a3 --- /dev/null +++ b/net-misc/hylafax/hylafax-4.4.4.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/hylafax/hylafax-4.4.4.ebuild,v 1.1 2008/07/13 23:05:21 nerdboy Exp $ + +inherit eutils multilib pam toolchain-funcs + +DESCRIPTION="Enterprise client-server fax package for class 1 and 2 fax modems." +HOMEPAGE="http://www.hylafax.org" +SRC_URI="ftp://ftp.hylafax.org/source/${P}.tar.gz" + +SLOT="0" +LICENSE="hylafax" +KEYWORDS="~x86 ~sparc ~hppa ~amd64 ~ppc" + +IUSE="jbig pam mgetty html" + +DEPEND=">=sys-libs/zlib-1.1.4 + virtual/ghostscript + >=media-libs/tiff-3.8.2 + media-libs/jpeg + jbig? ( media-libs/jbigkit ) + sys-apps/gawk + pam? ( virtual/pam ) + mgetty? ( net-dialup/mgetty )" + +RDEPEND="${DEPEND} + net-mail/metamail" + +export CONFIG_PROTECT="${CONFIG_PROTECT} /var/spool/fax/etc /usr/lib/fax" + +pkg_setup() { + if use mgetty; then + if built_with_use net-dialup/mgetty fax; then + eerror "net-dialup/mgetty must be installed without USE=fax" + die "merge net-dialup/mgetty without USE=fax" + fi + fi + + if use jbig; then + einfo "Checking for tiff compiled with jbig support..." + if built_with_use media-libs/tiff jbig; then + einfo "Found jbig support; continuing..." + else + ewarn "Tiff (media-libs/tiff) must be compiled with jbig support." + einfo "Please re-emerge tiff with the jbig USE flag or disable it." + die "Tiff not merged with jbig USE flag" + fi + fi +} + +src_compile() { + # gcc standard C++ header changes + if [ $(gcc-major-version) -eq 4 ] && [ $(gcc-minor-version) -ge 3 ] ; then + sed -i -e 's:"new.h":<new>:g' configure util/Types.h || die "sed failed" + sed -i -e 's:"iostream.h":<iostream>\n using namespace std;:g' \ + configure || die "sed failed" + fi + + local my_conf=" + --with-DIR_BIN=/usr/bin + --with-DIR_SBIN=/usr/sbin + --with-DIR_LIB=/usr/$(get_libdir) + --with-DIR_LIBEXEC=/usr/sbin + --with-DIR_LIBDATA=/var/lib/fax + --with-DIR_LOCKS=/var/lock + --with-DIR_MAN=/usr/share/man + --with-DIR_SPOOL=/var/spool/fax + --with-DIR_HTML=/usr/share/doc/${P}/html + --with-DIR_CGI="${WORKDIR}" + --with-PATH_DPSRIP=/var/spool/fax/bin/ps2fax + --with-PATH_IMPRIP=\"\" + --with-SYSVINIT=no + --with-REGEX=yes + --with-LIBTIFF=\"-ltiff -ljpeg -lz\" + --with-OPTIMIZER=\"${CFLAGS}\" + --with-DSO=auto" + + if use html; then + my_conf="${my_conf} --with-HTML=yes" + else + my_conf="${my_conf} --with-HTML=no" + fi + + if use mgetty; then + my_conf="${my_conf} \ + --with-PATH_GETTY=/sbin/mgetty \ + --with-PATH_EGETTY=/sbin/mgetty \ + --with-PATH_VGETTY=/usr/sbin/vgetty" + else + my_conf="${my_conf} \ + --with-PATH_GETTY=/bin/false \ + --with-PATH_EGETTY=/bin/false \ + --with-PATH_VGETTY=/bin/false" + fi + + if [ -h /etc/localtime ]; then + local continent=$(readlink /etc/localtime | cut -d / -f 5) + if [ "${continent}" == "Europe" ]; then + my_conf="${my_conf} --with-PAGESIZE=A4" + fi + fi + + #--enable-pam isn't valid + use pam || my_conf="${my_conf} $(use_enable pam)" + + myconf="CC=$(tc-getCC) CXX=$(tc-getCXX) ${my_conf}" + + # eval required for quoting in ${my_conf} to work properly, better way? + eval ./configure --nointeractive ${my_conf} || die "./configure failed" + + emake -j1 || die "emake failed" +} + +src_install() { + dodir /usr/{bin,sbin} /usr/$(get_libdir)/fax /usr/share/man + dodir /var/spool /var/spool/recvq + fowners uucp:uucp /var/spool/fax + fperms 0600 /var/spool/fax + dodir /usr/share/doc/${P}/html + + make \ + BIN=${D}/usr/bin \ + SBIN=${D}/usr/sbin \ + LIBDIR=${D}/usr/$(get_libdir) \ + LIB=${D}/usr/$(get_libdir) \ + LIBEXEC=${D}/usr/sbin \ + LIBDATA=${D}/usr/$(get_libdir)/fax \ + MAN=${D}/usr/share/man \ + SPOOL=${D}/var/spool/fax \ + HTMLDIR=${D}/usr/share/doc/${P}/html \ + install || die "make install failed" + + keepdir /var/spool/fax/{archive,client,etc,pollq,recvq,tmp} + keepdir /var/spool/fax/{status,sendq,log,info,doneq,docq,dev} + + dosed "s:hostname:hostname -f:g" \ + /var/spool/fax/bin/{faxrcvd,pollrcvd} || die "dosed failed" + + generate_files # in this case, it only generates the env.d entry + + einfo "Adding env.d entry for Hylafax" + doenvd 99${P} + + einfo "Adding init.d entry for Hylafax" + newinitd "${FILESDIR}"/${PN}-4.2 ${PN} + + use pam && pamd_mimic_system hylafax auth account session + + dodoc CHANGES CONTRIBUTORS COPYRIGHT README TODO +} + +pkg_postinst() { + elog + elog "The faxonly USE flag has been removed; since Hylafax does not" + elog "require mgetty, and certain fax files conflict, you must build" + elog "mgetty without fax support if you wish to use them both. You" + elog "may want to add both to package.use so any future updates are" + elog "correctly built:" + elog + elog " net-dialup/mgetty -fax" + elog " net-misc/hylafax [-mgetty|mgetty]" + elog + elog "There are additional files included in the hylafax/files dir." + elog + elog "Note 1: hylafax.cron is provided for vixie-cron users and" + elog "should be placed in /etc/cron.d. Use as-is or adapt it to" + elog "your system config." + elog + elog "Note 2: if you need to use hylafax with iptables, then you" + elog "need to specify the port and use ip_conntrack_ftp as shown" + elog "in the included example modules file." + elog + elog "See the docs and man pages for detailed configuration info." + elog + elog "Now run faxsetup and (if necessary) faxaddmodem." + elog +} + +generate_files() { + cat <<-EOF > 99${P} + PATH="/var/spool/fax/bin" + CONFIG_PROTECT="/var/spool/fax/etc /usr/$(get_libdir)/fax" + EOF +} |