diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/hylafaxplus | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-misc/hylafaxplus')
-rw-r--r-- | net-misc/hylafaxplus/Manifest | 2 | ||||
-rw-r--r-- | net-misc/hylafaxplus/files/hylafax-cryptglibc.patch | 98 | ||||
-rw-r--r-- | net-misc/hylafaxplus/files/hylafaxplus-conf | 29 | ||||
-rw-r--r-- | net-misc/hylafaxplus/files/hylafaxplus-init | 176 | ||||
-rw-r--r-- | net-misc/hylafaxplus/files/ldconfig-patch | 10 | ||||
-rw-r--r-- | net-misc/hylafaxplus/hylafaxplus-5.5.4-r1.ebuild | 176 | ||||
-rw-r--r-- | net-misc/hylafaxplus/hylafaxplus-5.5.5.ebuild | 176 | ||||
-rw-r--r-- | net-misc/hylafaxplus/metadata.xml | 21 |
8 files changed, 688 insertions, 0 deletions
diff --git a/net-misc/hylafaxplus/Manifest b/net-misc/hylafaxplus/Manifest new file mode 100644 index 000000000000..22395a9b4048 --- /dev/null +++ b/net-misc/hylafaxplus/Manifest @@ -0,0 +1,2 @@ +DIST hylafax-5.5.4.tar.gz 1347860 SHA256 699ea9e05a251c0f120d753c3dab2ef347b6bb8fe362dac8ff3e4ece0fdac3ff SHA512 c26c722bf9261ffa154979e015c2cfed982caffd8c7663f471e369d05544eb24edb0e70c7f06d02b77bf71956ae7a242a48f31a6567785acd8707be3b6946161 WHIRLPOOL 779cbc292065867317a4d4fc73725acfc1c4d39b0cab6b2339a9303e91488180430d2d87f4fb52869daa0b1343a7a4b700fbf5e711288409372b4d08fbf514ce +DIST hylafax-5.5.5.tar.gz 1353495 SHA256 2916fb7ed6141dd6433336ee3ec4f9d93183d1142d1ebbecf696c646348e1f12 SHA512 ee6225ae044c567093103f35c30d848db757636c1d8db78e8f7cb43eb01ea34ab229a81ca4175e2bf30d3c87b598d5b5797b7d92b0dc852bf4b69c697baca8cf WHIRLPOOL e0e387a60abe242011a88178000b91eb93a22363deb7df925e70f9a8293a55db79c859b89dd4d4ac8520c1f62f652edfcad1fbb9cb1be429e1b5765e7572bf23 diff --git a/net-misc/hylafaxplus/files/hylafax-cryptglibc.patch b/net-misc/hylafaxplus/files/hylafax-cryptglibc.patch new file mode 100644 index 000000000000..dbfc8bac5393 --- /dev/null +++ b/net-misc/hylafaxplus/files/hylafax-cryptglibc.patch @@ -0,0 +1,98 @@ +diff -urN hylafax-5.5.4/hfaxd/Login.c++ hylafax-5.5.4-libc217/hfaxd/Login.c++ +--- hylafax-5.5.4/hfaxd/Login.c++ 2013-08-07 01:23:35.000000000 +0200 ++++ hylafax-5.5.4-libc217/hfaxd/Login.c++ 2013-11-13 12:56:02.000000000 +0100 +@@ -30,9 +30,6 @@ + #include <ctype.h> + #include <fcntl.h> + #include <pwd.h> +-#if HAS_CRYPT_H +-#include <crypt.h> +-#endif + + void + HylaFAXServer::loginRefused(const char* why) +@@ -434,7 +431,7 @@ + /* + * Check hosts.hfaxd first, then PAM, and last, LDAP + */ +- if (pass[0] == '\0' || !(strcmp(crypt(pass, passWd), passWd) == 0 || ++ if (pass[0] == '\0' || !(strcmp(Sys::crypt(pass, passWd), passWd) == 0 || + pamCheck(the_user, pass) || + ldapCheck(the_user,pass))) + { +@@ -513,7 +510,7 @@ + { + fxAssert(IS(LOGGEDIN), "ADMIN command permitted when not logged in"); + // NB: null adminWd is permitted +- if ((strcmp(crypt(pass, adminWd), adminWd) != 0) && !pamIsAdmin()) { ++ if ((strcmp(Sys::crypt(pass, adminWd), adminWd) != 0) && !pamIsAdmin()) { + if (++adminAttempts >= maxAdminAttempts) { + reply(530, "Password incorrect (closing connection)."); + logNotice("Repeated admin failures from %s [%s]" +diff -urN hylafax-5.5.4/hfaxd/SNPPServer.c++ hylafax-5.5.4-libc217/hfaxd/SNPPServer.c++ +--- hylafax-5.5.4/hfaxd/SNPPServer.c++ 2013-08-07 01:23:35.000000000 +0200 ++++ hylafax-5.5.4-libc217/hfaxd/SNPPServer.c++ 2013-11-13 12:55:42.000000000 +0100 +@@ -36,9 +36,6 @@ + #include "RE.h" + + #include <ctype.h> +-#if HAS_CRYPT_H +-#include <crypt.h> +-#endif + + extern "C" { + #include <netdb.h> +@@ -1003,7 +1000,7 @@ + + if (checkUser(loginID)) { + if (passWd != "") { +- if (pass[0] == '\0' || !(streq(crypt(pass, passWd), passWd) || pamCheck(the_user, pass))) { ++ if (pass[0] == '\0' || !(streq(Sys::crypt(pass, passWd), passWd) || pamCheck(the_user, pass))) { + if (++loginAttempts >= maxLoginAttempts) { + reply(421, "Login incorrect (closing connection)."); + logNotice("Repeated SNPP login failures for user %s from %s [%s]" +diff -urN hylafax-5.5.4/hfaxd/User.c++ hylafax-5.5.4-libc217/hfaxd/User.c++ +--- hylafax-5.5.4/hfaxd/User.c++ 2013-08-07 01:23:35.000000000 +0200 ++++ hylafax-5.5.4-libc217/hfaxd/User.c++ 2013-11-13 12:55:19.000000000 +0100 +@@ -30,9 +30,6 @@ + + #include <ctype.h> + #include <pwd.h> +-#if HAS_CRYPT_H +-#include <crypt.h> +-#endif + #include <math.h> + + #ifndef CHAR_BIT +@@ -374,7 +371,7 @@ + #else + to64(&salt[0], random(), 2); + #endif +- result = crypt(pass, salt); ++ result = Sys::crypt(pass, salt); + return (true); + } + +diff -urN hylafax-5.5.4/util/Sys.h hylafax-5.5.4-libc217/util/Sys.h +--- hylafax-5.5.4/util/Sys.h 2013-08-07 01:23:35.000000000 +0200 ++++ hylafax-5.5.4-libc217/util/Sys.h 2013-11-13 12:56:26.000000000 +0100 +@@ -44,6 +44,10 @@ + #include <osfcn.h> + #endif + ++#if HAS_CRYPT_H ++#include <crypt.h> ++#endif ++ + /* + * Wrapper functions for C library calls. + * +@@ -140,5 +144,8 @@ + { return ::fopen(filename, mode); } + + static int getOpenMax(); ++ ++ static const char* crypt(const char* key, const char* salt) ++ { const char* enc = ::crypt(key, salt); return enc ? enc : ""; } + }; + #endif /* _Sys_ */ diff --git a/net-misc/hylafaxplus/files/hylafaxplus-conf b/net-misc/hylafaxplus/files/hylafaxplus-conf new file mode 100644 index 000000000000..911a59db4078 --- /dev/null +++ b/net-misc/hylafaxplus/files/hylafaxplus-conf @@ -0,0 +1,29 @@ +# Spool directory for HylaFAX +spooldir="/var/spool/fax" + +# Faxq program path +faxq="/usr/sbin/faxq" + +# hfaxd program path +hfaxd="/usr/sbin/hfaxd" + +# faxgetty program path +faxgetty="/usr/sbin/faxgetty" + +# Port of the hfaxd daemon for new protocol +faxport=hylafax + +# Address used by hfaxd as binding address. +faxbind="127.0.0.1" + +# Port of the hfaxd daemon for SNPP protocol +snppport=444 + +# Port of the hfaxd daemon for old protocol +oldprotoport=4557 + +# newproto | oldproto | snpp | any +mode="newproto" + +# Directory where the pidfiles of HylaFAX are saved. +piddir="/var/run" diff --git a/net-misc/hylafaxplus/files/hylafaxplus-init b/net-misc/hylafaxplus/files/hylafaxplus-init new file mode 100644 index 000000000000..47c16fdff2f2 --- /dev/null +++ b/net-misc/hylafaxplus/files/hylafaxplus-init @@ -0,0 +1,176 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Author Geaaru +# Distributed under the terms of the GNU General Public License v2 + +opts="zap" + +depend() { + use lo +} + +checkconfig() { + ebegin "Check hylafax server configuration..." + + if [ x$spooldir == x ] ; then + eerror "No spooldir directory defined" + return 1 + else + SPOOL=$spooldir + einfo "Use spool directory $SPOOL" + fi + + if [ x$mode == x ] ; then + eerror "No mode defined" + return 1 + fi + + if [ ! -f $SPOOL/etc/setup.cache ] ; then + eerror "No $SPOOL/etc/setup.cache file founded. Use faxsetup command" + return 1 + fi + + if [[ x$hfaxd == x || ! -f $hfaxd ]] ; then + eerror "No hfaxd daemon founded" + return 1 + fi + + if [[ x$faxq == x || ! -f $faxq ]] ; then + eerror "No faxq program founded" + return 1 + fi + + if [[ x$faxgetty == x || ! -f $faxgetty ]] ; then + eerror "No faxgetty program founded" + return 1 + fi + + if [ x$faxbind == x ] ; then + eerror "No binding address supply" + return 1 + fi + + if [ x$piddir == x ] ; then + PIDDIR=$SPOOL + else + PIDDIR=$piddir + fi + + + hfaxd_args="-l $faxbind -q $SPOOL" + + case $mode in + newproto) + if [[ x$faxport == x ]] ; then + eerror "No faxport defined" + return 1 + fi + hfaxd_args="$hfaxd_args -i $faxport" + ;; + oldproto) + if [[ x$oldprotoport == x ]] ; then + eerror "No oldprotoport defined" + return 1 + fi + hfaxd_args="$hfaxd_args -o $oldprotoport" + ;; + snpp) + if [[ x$snppport == x ]] ; then + eerror "No snppport defined" + return 1 + fi + hfaxd_args="$hfaxd_args -s $snppport" + ;; + any) + if [[ x$faxport == x || x$snppport == x || x$oldprotoport == x ]] ; then + eerror "No port data founded for old services" + return 1 + fi + hfaxd_args="$hfaxd_args -i $faxport -s $snppport -o $oldprotoport" + ;; + *) + eerror "Invalid mode" + return 1 + ;; + + esac + + faxq_args="-q $SPOOL" + + # workaround for manage save of pidfile with start-stop-daemon + hfaxd_args="$hfaxd_args -d" + faxq_args="$faxq_args -D" + + return 0 +} + +start() { + local result + + checkconfig || return 1 + + ebegin "Starting HylaFAX server daemons" + + start_faxq + result=$? + + if [ $result -ne 0 ] ; then + eerror "Error on start $faxq daemon" + return 1 + fi + + start_hfaxd + result=$? + + eend $result +} + +start_hfaxd() { + local arguments="--start \ + --make-pidfile --pidfile $PIDDIR/hfaxd.pid" + + einfo "Starting $hfaxd with args $hfaxd_args" + + start-stop-daemon -b ${arguments} --exec $hfaxd -- $hfaxd_args > /dev/null 2>&1 + + return $?; +} + +start_faxq() { + local arguments="--start \ + --make-pidfile --pidfile $PIDDIR/faxq.pid" + einfo "Starting $faxq ... " + + start-stop-daemon -b ${arguments} --exec $faxq -- $faxq_args > /dev/null 2>&1 + + return $? +} + +stop() { + checkconfig || return 1 + + ebegin "Stopping HylaFAX server daemons" + + start-stop-daemon --stop --quiet --pidfile $PIDDIR/hfaxd.pid + start-stop-daemon --stop --quiet --pidfile $PIDDIR/faxq.pid + eend $? +} + +zap() { + checkconfig || return 1 + + ebegin "Zap HylaFAX server daemon files" + + if [ -f $PIDFILE/hfaxd.pid ] ; then + rm -f $PIDFILE/hfaxd.pid + fi + + if [ -f $PIDFILE/faxq.pid ] ; then + rm -f $PIDFILE/faxq.pid + fi +} + +restart() { + stop + start +} diff --git a/net-misc/hylafaxplus/files/ldconfig-patch b/net-misc/hylafaxplus/files/ldconfig-patch new file mode 100644 index 000000000000..8b0f4352d51f --- /dev/null +++ b/net-misc/hylafaxplus/files/ldconfig-patch @@ -0,0 +1,10 @@ +--- faxd/Makefile.LINUXdso.original 2011-12-30 18:17:59.000000000 +0100 ++++ faxd/Makefile.LINUXdso 2011-12-30 18:18:51.000000000 +0100 +@@ -37,7 +37,6 @@ + + installDSO: libfaxserver.${DSO} + ${PUTSERV} -root ${INSTALLROOT} -F ${LIBDIR} -m 755 -O libfaxserver.${DSO} +- [ `id -u` -eq 0 ] && ( PATH=${PATH}:/sbin ldconfig ${LIBDIR} ) || ( echo "ldconfig is required to be run as user root at install time" ) + + uninstallDSO:: + ${RM} -f ${LIBDIR}/libfaxserver.${DSO} diff --git a/net-misc/hylafaxplus/hylafaxplus-5.5.4-r1.ebuild b/net-misc/hylafaxplus/hylafaxplus-5.5.4-r1.ebuild new file mode 100644 index 000000000000..1c8f78090e61 --- /dev/null +++ b/net-misc/hylafaxplus/hylafaxplus-5.5.4-r1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils multilib pam toolchain-funcs + +MY_PN="${PN/plus/}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Enterprise client-server fax package for class 1 and 2 fax modems" +HOMEPAGE="http://hylafax.sourceforge.net" +SRC_URI="mirror://sourceforge/hylafax/${MY_P}.tar.gz" + +SLOT="0" +LICENSE="hylafaxplus" +KEYWORDS="amd64 x86" + +IUSE="jbig html ldap mgetty pam" + +DEPEND=">=sys-libs/zlib-1.1.4 + app-text/ghostscript-gpl + virtual/mta + media-libs/tiff[jbig?] + virtual/jpeg + jbig? ( media-libs/jbigkit ) + virtual/awk + ldap? ( net-nds/openldap ) + pam? ( virtual/pam ) + mgetty? ( net-dialup/mgetty[-fax] )" + +RDEPEND="${DEPEND} + net-mail/metamail + !net-dialup/sendpage" + +S="${WORKDIR}/${MY_P}" + +export CONFIG_PROTECT="${CONFIG_PROTECT} /var/spool/fax/etc /usr/lib/fax" + +src_prepare() { + epatch "${FILESDIR}/ldconfig-patch" + epatch "${FILESDIR}/hylafax-cryptglibc.patch" + + # force it not to strip binaries + for dir in etc util faxalter faxcover faxd faxmail faxrm faxstat \ + hfaxd sendfax sendpage ; do + sed -i -e "s:-idb:-idb \"nostrip\" -idb:g" \ + "${dir}"/Makefile.in || die "sed failed" + done + + sed -i -e "s:hostname:hostname -f:g" util/{faxrcvd,pollrcvd}.sh.in || die "sed on hostname failed" + + # Respect LDFLAGS(at least partially) + sed -i -e "/^LDFLAGS/s/LDOPTS}/LDOPTS} ${LDFLAGS}/" defs.in || die "sed on defs.in failed" + + sed -i -e "s|-fpic|-fPIC|g" \ + configure || die + + epatch_user +} + +src_configure() { + do_configure() { + echo ./configure --nointeractive ${1} + # eval required for quoting in ${my_conf} to work properly, better way? + eval ./configure --nointeractive ${1} || die "./configure failed" + } + 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=/usr/$(get_libdir)/fax + --with-DIR_LOCALE=/usr/share/locale + --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 + --with-HTML=$(usex html)" + + 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 + # GETTY defaults to /sbin/agetty + my_conf="${my_conf} \ + --with-PATH_EGETTY=/bin/false \ + --with-PATH_VGETTY=/bin/false" + fi + + #--enable-pam isn't valid + use pam || my_conf="${my_conf} $(use_enable pam)" + use ldap || my_conf="${my_conf} $(use_enable ldap)" + use jbig || my_conf="${my_conf} $(use_enable jbig)" + + tc-export CC CXX AR RANLIB + + do_configure "${my_conf}" +} + +src_compile() { + # Parallel building is borked + emake -j1 +} + +src_install() { + dodir /usr/{bin,sbin} /usr/$(get_libdir)/fax /usr/share/man + dodir /var/spool /var/spool/recvq /var/spool/fax + fowners uucp:uucp /var/spool/fax + fperms 0600 /var/spool/fax + dodir "/usr/share/doc/${P}/samples" + + emake DESTDIR="${D}" \ + 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" \ + DIR_LOCALE="${D}/usr/share/locale" \ + MAN="${D}/usr/share/man" \ + SPOOL="${D}/var/spool/fax" \ + HTMLDIR="${D}/usr/share/doc/${PF}/html" \ + install + + keepdir /var/spool/fax/{archive,client,etc,pollq,recvq,tmp} + keepdir /var/spool/fax/{status,sendq,log,info,doneq,docq,dev} + + generate_files # in this case, it only generates the env.d entry + + einfo "Adding env.d entry for ${PN}" + doenvd "${T}/99${PN}" + + newconfd "${FILESDIR}/${PN}-conf" ${PN} + newinitd "${FILESDIR}/${PN}-init" ${PN} + + use pam && pamd_mimic_system ${MY_PN} auth account session + + dodoc CONTRIBUTORS README TODO + docinto samples +} + +pkg_postinst() { + elog + elog "The faxonly USE flag has been removed; since ${PN} 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 "See the docs and man pages for detailed configuration info." + elog + elog "Now run faxsetup and (if necessary) faxaddmodem." + elog +} + +generate_files() { + cat <<-EOF > "${T}/99${PN}" + PATH="/var/spool/fax/bin" + CONFIG_PROTECT="/var/spool/fax/etc /usr/$(get_libdir)/fax" + EOF +} diff --git a/net-misc/hylafaxplus/hylafaxplus-5.5.5.ebuild b/net-misc/hylafaxplus/hylafaxplus-5.5.5.ebuild new file mode 100644 index 000000000000..16fb6fdb980a --- /dev/null +++ b/net-misc/hylafaxplus/hylafaxplus-5.5.5.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils multilib pam toolchain-funcs + +MY_PN="${PN/plus/}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Enterprise client-server fax package for class 1 and 2 fax modems" +HOMEPAGE="http://hylafax.sourceforge.net" +SRC_URI="mirror://sourceforge/hylafax/${MY_P}.tar.gz" + +SLOT="0" +LICENSE="hylafaxplus" +KEYWORDS="~amd64 ~x86" + +IUSE="jbig html ldap mgetty pam" + +DEPEND=">=sys-libs/zlib-1.1.4 + app-text/ghostscript-gpl + virtual/mta + media-libs/tiff[jbig?] + virtual/jpeg + jbig? ( media-libs/jbigkit ) + virtual/awk + ldap? ( net-nds/openldap ) + pam? ( virtual/pam ) + mgetty? ( net-dialup/mgetty[-fax] )" + +RDEPEND="${DEPEND} + net-mail/metamail + !net-dialup/sendpage" + +S="${WORKDIR}/${MY_P}" + +export CONFIG_PROTECT="${CONFIG_PROTECT} /var/spool/fax/etc /usr/lib/fax" + +src_prepare() { + epatch "${FILESDIR}/ldconfig-patch" + epatch "${FILESDIR}/hylafax-cryptglibc.patch" + + # force it not to strip binaries + for dir in etc util faxalter faxcover faxd faxmail faxrm faxstat \ + hfaxd sendfax sendpage ; do + sed -i -e "s:-idb:-idb \"nostrip\" -idb:g" \ + "${dir}"/Makefile.in || die "sed failed" + done + + sed -i -e "s:hostname:hostname -f:g" util/{faxrcvd,pollrcvd}.sh.in || die "sed on hostname failed" + + # Respect LDFLAGS(at least partially) + sed -i -e "/^LDFLAGS/s/LDOPTS}/LDOPTS} ${LDFLAGS}/" defs.in || die "sed on defs.in failed" + + sed -i -e "s|-fpic|-fPIC|g" \ + configure || die + + epatch_user +} + +src_configure() { + do_configure() { + echo ./configure --nointeractive ${1} + # eval required for quoting in ${my_conf} to work properly, better way? + eval ./configure --nointeractive ${1} || die "./configure failed" + } + 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=/usr/$(get_libdir)/fax + --with-DIR_LOCALE=/usr/share/locale + --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 + --with-HTML=$(usex html)" + + 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 + # GETTY defaults to /sbin/agetty + my_conf="${my_conf} \ + --with-PATH_EGETTY=/bin/false \ + --with-PATH_VGETTY=/bin/false" + fi + + #--enable-pam isn't valid + use pam || my_conf="${my_conf} $(use_enable pam)" + use ldap || my_conf="${my_conf} $(use_enable ldap)" + use jbig || my_conf="${my_conf} $(use_enable jbig)" + + tc-export CC CXX AR RANLIB + + do_configure "${my_conf}" +} + +src_compile() { + # Parallel building is borked + emake -j1 +} + +src_install() { + dodir /usr/{bin,sbin} /usr/$(get_libdir)/fax /usr/share/man + dodir /var/spool /var/spool/recvq /var/spool/fax + fowners uucp:uucp /var/spool/fax + fperms 0600 /var/spool/fax + dodir "/usr/share/doc/${P}/samples" + + emake DESTDIR="${D}" \ + 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" \ + DIR_LOCALE="${D}/usr/share/locale" \ + MAN="${D}/usr/share/man" \ + SPOOL="${D}/var/spool/fax" \ + HTMLDIR="${D}/usr/share/doc/${PF}/html" \ + install + + keepdir /var/spool/fax/{archive,client,etc,pollq,recvq,tmp} + keepdir /var/spool/fax/{status,sendq,log,info,doneq,docq,dev} + + generate_files # in this case, it only generates the env.d entry + + einfo "Adding env.d entry for ${PN}" + doenvd "${T}/99${PN}" + + newconfd "${FILESDIR}/${PN}-conf" ${PN} + newinitd "${FILESDIR}/${PN}-init" ${PN} + + use pam && pamd_mimic_system ${MY_PN} auth account session + + dodoc CONTRIBUTORS README TODO + docinto samples +} + +pkg_postinst() { + elog + elog "The faxonly USE flag has been removed; since ${PN} 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 "See the docs and man pages for detailed configuration info." + elog + elog "Now run faxsetup and (if necessary) faxaddmodem." + elog +} + +generate_files() { + cat <<-EOF > "${T}/99${PN}" + PATH="/var/spool/fax/bin" + CONFIG_PROTECT="/var/spool/fax/etc /usr/$(get_libdir)/fax" + EOF +} diff --git a/net-misc/hylafaxplus/metadata.xml b/net-misc/hylafaxplus/metadata.xml new file mode 100644 index 000000000000..69548ea80075 --- /dev/null +++ b/net-misc/hylafaxplus/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-dialup</herd> + <maintainer> + <email>mattm@gentoo.org</email> + <name>Matthew Marlowe</name> + </maintainer> + <longdescription> + Enterprise client-server fax package for class 1 and 2 fax modems. + </longdescription> + <use> + <flag name="jbig">JBIG Fax Compression Support</flag> + <flag name="pam">hfaxd authentication via PAM</flag> + <flag name="mgetty">Receive faxes via serial port connections</flag> + <flag name="html">Convert faxes into html email</flag> + </use> + <upstream> + <remote-id type="sourceforge">hylafax</remote-id> + </upstream> +</pkgmetadata> |