summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-dialup/capisuite
downloadgentoo-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-dialup/capisuite')
-rw-r--r--net-dialup/capisuite/Manifest1
-rw-r--r--net-dialup/capisuite/capisuite-0.4.5-r8.ebuild82
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-as-needed.patch11
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-automake-1.11.patch12
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-capi4linux_v3.diff103
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-date-header.patch26
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-gcc43.patch21
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-python25.patch49
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-respect-ar.patch10
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-sox.patch12
-rw-r--r--net-dialup/capisuite/files/capisuite-0.4.5-syntax.patch133
-rw-r--r--net-dialup/capisuite/files/capisuite-fax-compatibility.patch12
-rw-r--r--net-dialup/capisuite/files/capisuite.initd58
-rw-r--r--net-dialup/capisuite/files/capisuite.logrotated39
-rw-r--r--net-dialup/capisuite/metadata.xml5
15 files changed, 574 insertions, 0 deletions
diff --git a/net-dialup/capisuite/Manifest b/net-dialup/capisuite/Manifest
new file mode 100644
index 000000000000..6022714831d7
--- /dev/null
+++ b/net-dialup/capisuite/Manifest
@@ -0,0 +1 @@
+DIST capisuite-0.4.5.tar.gz 1184603 SHA256 3e94e42eae6477a222c608c2cd040568fd9fcfa4e8eb0b06a538175d44cbae96 SHA512 f52a0a687443562d514f2d485724208b4a0d856b87c202190fdbf520f5c11929c3c7ddf9fed73ed64b02fdfab19631973c5a54d7301d290d339bcb12274fceaa WHIRLPOOL 163c9d6cedf9966fd3ada091e42534f16d2dccfbdd1cfa383c74543af422ec66697db110c1be76eb124669e19fc19bb7f751c77b06f1428bf1392bf54a629c40
diff --git a/net-dialup/capisuite/capisuite-0.4.5-r8.ebuild b/net-dialup/capisuite/capisuite-0.4.5-r8.ebuild
new file mode 100644
index 000000000000..7fbc8b9ae73e
--- /dev/null
+++ b/net-dialup/capisuite/capisuite-0.4.5-r8.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+AUTOTOOLS_PRUNE_LIBTOOL_FILES=none # bugs 468292 and 468380
+PYTHON_COMPAT=( python2_7 )
+inherit autotools-utils flag-o-matic python-single-r1
+
+DESCRIPTION="ISDN telecommunication suite providing fax and voice services"
+HOMEPAGE="http://www.capisuite.org"
+SRC_URI="http://www.capisuite.org/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+
+DEPEND="${PYTHON_DEPS}
+ media-sound/sox
+ >=media-libs/tiff-3.7.1
+ media-gfx/jpeg2ps
+ media-gfx/sfftobmp
+ app-text/ghostscript-gpl
+ net-dialup/capi4k-utils"
+RDEPEND="${DEPEND}
+ virtual/mta"
+
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+PATCHES=(
+ "${FILESDIR}/${P}-as-needed.patch"
+ # taken from capisuite-0.4.5-5.src.rpm (SuSE-9.3)
+ "${FILESDIR}/${P}-capi4linux_v3.diff"
+ # patched scripts/cs_helpers.pyin (bug #96540)
+ "${FILESDIR}/${P}-date-header.patch"
+ # patched src/backend/connection.cpp (bug #69522)
+ "${FILESDIR}/${PN}-fax-compatibility.patch"
+ # patched scripts/{incoming,idle}.py (bug #147854)
+ "${FILESDIR}/${P}-syntax.patch"
+ # GCC 4.3 patches (bug #236777)
+ "${FILESDIR}/${P}-gcc43.patch"
+ # Python 2.5 patches (bug #232734)
+ "${FILESDIR}/${P}-python25.patch"
+ # Compability with current SOX (bug #250320)
+ "${FILESDIR}/${P}-sox.patch"
+ # Compatibility with automake >= 1.11.2 (bug #424892)
+ "${FILESDIR}/${P}-automake-1.11.patch"
+ # Respect AR (bug #467222)
+ "${FILESDIR}/${P}-respect-ar.patch"
+)
+
+src_configure() {
+ strip-flags # see bug #90901
+
+ local myeconfargs=(
+ --localstatedir="/var"
+ --with-docdir="/usr/share/doc/${PF}"
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm -f "${D}"/usr/{lib,share}/capisuite/README
+ rmdir -p --ignore-fail-on-non-empty "${D}/var/log"
+ rm -f "${D}/usr/share/doc/${PF}"/{COPYING,manual.pdf}
+ keepdir /var/spool/capisuite/{done,failed,sendq,users}
+
+ newinitd "${FILESDIR}/capisuite.initd" capisuite
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/capisuite.logrotated" capisuite
+
+ exeinto /etc/cron.daily
+ doexe capisuite.cron
+
+ insinto /etc/capisuite
+ doins cronjob.conf
+}
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-as-needed.patch b/net-dialup/capisuite/files/capisuite-0.4.5-as-needed.patch
new file mode 100644
index 000000000000..d740366ddca2
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-as-needed.patch
@@ -0,0 +1,11 @@
+--- acinclude.m4.old 2007-08-02 21:34:26.000000000 +0200
++++ acinclude.m4 2007-08-02 21:42:36.000000000 +0200
+@@ -155,7 +155,7 @@
+ _python_libbasemod=`grep '^BASEMODLIBS=' $python_configdir/Makefile | sed 's/^.*=//'`
+
+ pgac_tab=" " # tab character
+-python_libspec=`echo X"$_python_libs $_python_libc $_python_libm -lpython$python_version $_python_liblocalmod $_python_libbasemod" | sed -e 's/^X//' -e "s/[[ $pgac_tab]][[ $pgac_tab]]*/ /g"`
++python_libspec=`echo X"-lpython$python_version $_python_liblocalmod $_python_libbasemod $_python_libm $_python_libs $_python_libc" | sed -e 's/^X//' -e "s/[[ $pgac_tab]][[ $pgac_tab]]*/ /g"`
+ LIBS="$LIBS $python_libspec"
+ LDFLAGS="$LDFLAGS -L$python_configdir $python_linkforshared"
+ AC_MSG_RESULT([${python_libspec}])
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-automake-1.11.patch b/net-dialup/capisuite/files/capisuite-0.4.5-automake-1.11.patch
new file mode 100644
index 000000000000..4abd3265194b
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-automake-1.11.patch
@@ -0,0 +1,12 @@
+--- scripts/Makefile.am.orig 2012-07-05 14:10:56.725746439 +0200
++++ scripts/Makefile.am 2012-07-05 14:12:00.840861325 +0200
+@@ -1,7 +1,8 @@
+ spooldir = @localstatedir@/spool/capisuite
+ pkgsysconfdir = @sysconfdir@/capisuite
+
+-dist_pkglib_DATA = idle.py incoming.py README
++scriptdatadir=$(pkglibdir)
++dist_scriptdata_DATA = idle.py incoming.py README
+ python_module_DATA = cs_helpers.py
+ EXTRA_DIST = cs_helpers.pyin fax.confin answering_machine.confin capisuitefax.in
+
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-capi4linux_v3.diff b/net-dialup/capisuite/files/capisuite-0.4.5-capi4linux_v3.diff
new file mode 100644
index 000000000000..1f4e50199ae5
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-capi4linux_v3.diff
@@ -0,0 +1,103 @@
+diff -urN capisuite-0.4.5.org/acinclude.m4 capisuite-0.4.5/acinclude.m4
+--- capisuite-0.4.5.org/acinclude.m4 2004-11-28 14:35:28.000000000 +0100
++++ capisuite-0.4.5/acinclude.m4 2005-03-08 07:31:42.130970593 +0100
+@@ -72,6 +72,21 @@
+ )
+ ]) dnl CS_TEST_CAPI4LINUX
+
++#
++# old capiutils.h missed the Globalconfiguration in BProtocol
++# in library version 3 this was added to the API
++#
++AC_DEFUN([CS_TEST_CAPI4LINUX_V3],
++[AC_MSG_CHECKING([for capi20 ALERT with sending complete])
++AC_TRY_COMPILE([#include <capiutils.h>],
++ [_cmsg cm;void *p; p=CONNECT_REQ_GLOBALCONFIGURATION(&cm);],
++ [
++ AC_DEFINE([HAVE_CAPI4LINUX_V3],1,[we have GLOBALCONFIGURATION in BProtocol])
++ AC_MSG_RESULT([yes])
++ ],
++ [AC_MSG_RESULT([no])]
++)]) dnl CS_TEST_CAPI4LINUX_V3
++
+ # PGAC_CHECK_PYTHON_DIRS
+ # -----------------------
+ # Determine the name of various directory of a given Python installation.
+diff -urN capisuite-0.4.5.org/config.h.in capisuite-0.4.5/config.h.in
+--- capisuite-0.4.5.org/config.h.in 2004-11-28 14:36:20.000000000 +0100
++++ capisuite-0.4.5/config.h.in 2005-03-08 07:31:42.135969715 +0100
+@@ -18,6 +18,9 @@
+ /* we have new ALERT_REQ implementation */
+ #undef HAVE_NEW_CAPI4LINUX
+
++/* we have GLOBALCONFIGURATION in BProtocol */
++#undef HAVE_CAPI4LINUX_V3
++
+ /* we can #include<ostream> instead of ostream.h - new gcc3 feature */
+ #undef HAVE_OSTREAM
+
+diff -urN capisuite-0.4.5.org/configure.in capisuite-0.4.5/configure.in
+--- capisuite-0.4.5.org/configure.in 2004-11-28 14:35:16.000000000 +0100
++++ capisuite-0.4.5/configure.in 2005-03-08 07:31:42.141968662 +0100
+@@ -18,6 +18,7 @@
+ CS_TEST_GCC3
+ CS_TEST_SFFTOBMP
+ CS_TEST_CAPI4LINUX
++CS_TEST_CAPI4LINUX_V3
+
+ CS_SET_DOCDIR
+
+diff -urN capisuite-0.4.5.org/src/backend/capi.cpp capisuite-0.4.5/src/backend/capi.cpp
+--- capisuite-0.4.5.org/src/backend/capi.cpp 2004-11-28 14:35:25.000000000 +0100
++++ capisuite-0.4.5/src/backend/capi.cpp 2005-03-08 07:35:02.553782154 +0100
+@@ -148,7 +148,15 @@
+ << " CIPValue 0x" << CIPValue << ", B1proto 0x" << B1protocol << ", B2proto 0x" << B2protocol <<", B3proto 0x" << B3protocol << endl;
+ }
+ unsigned info=CONNECT_REQ(&CMSG, applId, messageNumber, controller, CIPValue, calledPartyNumber, callingPartyNumber, NULL, NULL,
+- B1protocol, B2protocol, B3protocol, B1configuration, B2configuration, B3configuration, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
++ B1protocol, B2protocol, B3protocol, B1configuration, B2configuration, B3configuration,
++ #ifdef HAVE_CAPI4LINUX_V3
++ NULL,
++ #endif
++ NULL, NULL, NULL, NULL, NULL, NULL, NULL
++ #ifdef HAVE_CAPI4LINUX_V3
++ ,NULL
++ #endif
++ );
+ if (debug_level >= 2) {
+ debug << prefix() << "info: " << info << endl;
+ }
+@@ -181,7 +189,12 @@
+
+ if (debug_level >= 2) debug << prefix() << ">SELECT_B_PROTOCOL_REQ: ApplId 0x" << hex << applId << ", MsgNr 0x" << messageNumber << ", PLCI 0x" << plci
+ << ", B1protocol " << B1protocol << ", B2protocol " << B2protocol << ", B3protocol " << B3protocol << endl;
+- unsigned info=SELECT_B_PROTOCOL_REQ(&CMSG, applId, messageNumber++, plci, B1protocol, B2protocol, B3protocol, B1configuration, B2configuration, B3configuration);
++ unsigned info=SELECT_B_PROTOCOL_REQ(&CMSG, applId, messageNumber++, plci, B1protocol, B2protocol, B3protocol,
++ B1configuration, B2configuration, B3configuration
++ #ifdef HAVE_CAPI4LINUX_V3
++ ,NULL
++ #endif
++ );
+ if (debug_level >= 2)
+ debug << prefix() << "info: " << info << endl;
+
+@@ -295,12 +308,17 @@
+ << reject << ", B1proto 0x" << B1protocol << ", B2proto 0x" << B2protocol << ", B3proto 0x" << B3protocol << endl;
+
+ _cmsg new_message;
+- unsigned info=CONNECT_RESP(&new_message, applId, messageNumber, plci, reject, B1protocol, B2protocol, B3protocol, B1configuration, B2configuration, B3configuration, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
++ unsigned info=CONNECT_RESP(&new_message, applId, messageNumber, plci, reject, B1protocol, B2protocol, B3protocol,
++ B1configuration, B2configuration, B3configuration,
++ #ifdef HAVE_CAPI4LINUX_V3
++ NULL,
++ #endif
++ NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+ if (debug_level >= 2)
+ debug << prefix() << "info: " << info << endl;
+
+ if (info != 0)
+- throw(CapiMsgError(info,"Error while CONNECT_REQ: "+Capi::describeParamInfo(info),"Capi::connect_resp()"));
++ throw(CapiMsgError(info,"Error while CONNECT_RESP: "+Capi::describeParamInfo(info),"Capi::connect_resp()"));
+
+ }
+
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-date-header.patch b/net-dialup/capisuite/files/capisuite-0.4.5-date-header.patch
new file mode 100644
index 000000000000..76738fb78a74
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-date-header.patch
@@ -0,0 +1,26 @@
+--- scripts/cs_helpers.pyin.orig 2004-11-28 14:35:23.000000000 +0100
++++ scripts/cs_helpers.pyin 2005-06-19 20:55:49.000000000 +0200
+@@ -10,6 +10,7 @@
+ # (at your option) any later version.
+
+ import os
++import time
+
+ # the name of the config file read by the scripts; see there for options and
+ # descriptions
+@@ -170,6 +171,7 @@
+ msg['Subject']=mail_subject
+ msg['From']=mail_from
+ msg['To']=mail_to
++ msg['Date']=time.strftime('%a, %d %b %Y %H:%M:%S %z')
+
+ msg.preamble = 'This is a Multipart-MIME-message. Please use a capable mailer.\n'
+ msg.epilogue = '' # To guarantee the message ends with a newline
+@@ -267,6 +269,7 @@
+ msg['Subject'] = mail_subject
+ msg['From'] = mail_from
+ msg['To'] = mail_to
++ msg['Date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z')
+
+ try:
+ server = smtplib.SMTP('localhost')
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-gcc43.patch b/net-dialup/capisuite/files/capisuite-0.4.5-gcc43.patch
new file mode 100644
index 000000000000..51326c30af6b
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-gcc43.patch
@@ -0,0 +1,21 @@
+--- src/backend/connection.cpp.orig 2008-09-05 08:53:19.000000000 +0200
++++ src/backend/connection.cpp 2008-09-05 08:54:08.000000000 +0200
+@@ -20,6 +20,7 @@
+ #include <pthread.h>
+ #include <errno.h> // for errno
+ #include <iconv.h> // for iconv(), iconv_open(), iconv_close()
++#include <cstring>
+ #include "capi.h"
+ #include "callinterface.h"
+ #include "connection.h"
+
+--- src/backend/capi.cpp.orig 2008-09-05 09:01:18.000000000 +0200
++++ src/backend/capi.cpp 2008-09-05 09:01:38.000000000 +0200
+@@ -16,6 +16,7 @@
+
+ #include <iostream>
+ #include <sstream>
++#include <cstdlib>
+ #include "connection.h"
+ #include "applicationinterface.h"
+ #include "capi.h"
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-python25.patch b/net-dialup/capisuite/files/capisuite-0.4.5-python25.patch
new file mode 100644
index 000000000000..e86919a2336d
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-python25.patch
@@ -0,0 +1,49 @@
+--- src/application/pythonscript.cpp.orig 2004-11-28 14:35:24.000000000 +0100
++++ src/application/pythonscript.cpp 2008-08-03 17:12:45.000000000 +0200
+@@ -99,14 +99,14 @@
+ if ( !(py_traceback=cStringIO->cgetvalue(catch_stderr)) )
+ throw ApplicationError("unable to get traceback","PythonScript::run()");
+
+- int length;
++ Py_ssize_t length;
+ char *traceback;
+ if (PyString_AsStringAndSize(py_traceback, &traceback, &length))
+ throw ApplicationError("unable to convert traceback to char*","PythonScript::run()");
+
+ error << prefix() << "A python error occured. See traceback below." << endl;
+ error << prefix(false) << "Python traceback: ";
+- for (int i=0;i<length-1;i++) {
++ for (Py_ssize_t i=0;i<length-1;i++) {
+ error << traceback[i];
+ if (traceback[i]=='\n')
+ error << prefix(false) << "Traceback: ";
+--- src/application/idlescript.cpp.orig 2004-11-28 14:35:24.000000000 +0100
++++ src/application/idlescript.cpp 2008-08-03 17:13:55.000000000 +0200
+@@ -28,6 +28,7 @@
+ IdleScript *instance=static_cast<IdleScript*>(arg);
+ instance->run();
+ pthread_cleanup_pop(1); // run the cleanup_handler and then deregister it
++ return NULL;
+ }
+
+ void idlescript_cleanup_handler(void* arg)
+--- src/application/incomingscript.cpp.orig 2004-11-28 14:35:24.000000000 +0100
++++ src/application/incomingscript.cpp 2008-08-03 17:14:36.000000000 +0200
+@@ -31,6 +31,7 @@
+ IncomingScript *instance=static_cast<IncomingScript*>(arg);
+ instance->run();
+ pthread_cleanup_pop(1); // run the cleanup_handler and then deregister it
++ return NULL;
+ }
+
+ void incomingscript_cleanup_handler(void* arg)
+--- src/backend/capi.cpp.orig 2008-08-03 17:10:41.000000000 +0200
++++ src/backend/capi.cpp 2008-08-03 17:21:37.000000000 +0200
+@@ -30,6 +30,7 @@
+
+ Capi *instance=static_cast<Capi*>(arg);
+ instance->run();
++ return NULL;
+ }
+
+ Capi::Capi (ostream& debug, unsigned short debug_level, ostream &error, unsigned short DDILength, unsigned short DDIBaseLength, vector<string> DDIStopNumbers, unsigned maxLogicalConnection, unsigned maxBDataBlocks,unsigned maxBDataLen) throw (CapiError, CapiMsgError)
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-respect-ar.patch b/net-dialup/capisuite/files/capisuite-0.4.5-respect-ar.patch
new file mode 100644
index 000000000000..caadae69643e
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-respect-ar.patch
@@ -0,0 +1,10 @@
+--- configure.in.orig 2013-04-26 12:48:19.758668706 +0400
++++ configure.in 2013-04-26 12:48:27.147668235 +0400
+@@ -6,6 +6,7 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+ AC_PROG_INSTALL
++AM_PROG_AR
+ AC_PROG_RANLIB
+ AC_PROG_MAKE_SET
+ AC_PATH_PROG(doxygen,doxygen)
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-sox.patch b/net-dialup/capisuite/files/capisuite-0.4.5-sox.patch
new file mode 100644
index 000000000000..ef58325ff6e9
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-sox.patch
@@ -0,0 +1,12 @@
+diff -ur capisuite-0.4.5.orig/scripts/cs_helpers.pyin capisuite-0.4.5/scripts/cs_helpers.pyin
+--- capisuite-0.4.5.orig/scripts/cs_helpers.pyin 2004-11-28 15:35:23.000000000 +0200
++++ capisuite-0.4.5/scripts/cs_helpers.pyin 2009-05-12 20:58:34.000000000 +0300
+@@ -227,7 +227,7 @@
+ elif (mail_type=="la"): # voice file
+ # la -> wav
+ # don't use stdout as sox needs a file to be able to seek in it otherwise the header will be incomplete
+- ret = os.spawnlp(os.P_WAIT,"sox","sox",attachment,"-w",basename+"wav")
++ ret = os.spawnlp(os.P_WAIT,"sox","sox",attachment,"-2",basename+"wav")
+ if (ret or not os.access(basename+"wav",os.R_OK)):
+ raise "conv-error","Error while calling sox. Not installed?"
+ filepart = email.MIMEAudio.MIMEAudio(open(basename+"wav").read(),"x-wav",email.Encoders.encode_base64,name=os.path.basename(basename)+"wav")
diff --git a/net-dialup/capisuite/files/capisuite-0.4.5-syntax.patch b/net-dialup/capisuite/files/capisuite-0.4.5-syntax.patch
new file mode 100644
index 000000000000..0a0725f9b6b3
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-0.4.5-syntax.patch
@@ -0,0 +1,133 @@
+--- scripts/incoming.py.orig 2004-11-28 14:35:23.000000000 +0100
++++ scripts/incoming.py 2006-09-22 15:17:28.000000000 +0200
+@@ -1,3 +1,4 @@
++# -*- coding: UTF-8 -*-
+ # incoming.py - standard incoming script for capisuite
+ # ----------------------------------------------------
+ # copyright : (C) 2002 by Gernot Hillier
+@@ -48,7 +49,7 @@
+ if config.has_option(u,'fax_numbers'):
+ numbers=config.get(u,'fax_numbers')
+ if (call_to in numbers.split(',') or numbers=="*"):
+- if (service in (capisuite.SERVICE_FAXG3,capisuite.SERVICE_VOICE)):
++ if (service in (capisuite.SERVICE_FAXG3,capisuite.SERVICE_VOICE)):
+ curr_user=u
+ curr_service=capisuite.SERVICE_FAXG3
+ break
+@@ -133,8 +134,8 @@
+
+ if (os.access(filename,os.R_OK)):
+ cs_helpers.writeDescription(filename,
+- "call_from=\""+call_from+"\"\ncall_to=\""+call_to+"\"\ntime=\""
+- +time.ctime()+"\"\ncause=\"0x%x/0x%x\"\n" % (cause,causeB3))
++ "call_from=\""+call_from+"\"\ncall_to=\""+call_to+"\"\ntime=\""
++ +time.ctime()+"\"\ncause=\"0x%x/0x%x\"\n" % (cause,causeB3))
+ userdata=pwd.getpwnam(curr_user)
+ os.chmod(filename,0600)
+ os.chown(filename,userdata[2],userdata[3])
+@@ -153,8 +154,8 @@
+ action="saveonly"
+ if (action=="mailandsave"):
+ cs_helpers.sendMIMEMail(fromaddress, mailaddress, "Fax received from "+call_from+" to "+call_to, faxFormat,
+- "You got a fax from "+call_from+" to "+call_to+"\nDate: "+time.ctime()+"\n\n"
+- +"See attached file.\nThe original file was saved to file://"+filename+"\n\n", filename)
++ "You got a fax from "+call_from+" to "+call_to+"\nDate: "+time.ctime()+"\n\n"
++ +"See attached file.\nThe original file was saved to file://"+filename+"\n\n", filename)
+
+ # @brief called by callIncoming when an incoming voice call is received
+ #
+@@ -234,8 +235,8 @@
+
+ if (os.access(filename,os.R_OK)):
+ cs_helpers.writeDescription(filename,
+- "call_from=\""+call_from+"\"\ncall_to=\""+call_to+"\"\ntime=\""
+- +time.ctime()+"\"\ncause=\"0x%x/0x%x\"\n" % (cause,causeB3))
++ "call_from=\""+call_from+"\"\ncall_to=\""+call_to+"\"\ntime=\""
++ +time.ctime()+"\"\ncause=\"0x%x/0x%x\"\n" % (cause,causeB3))
+ userdata=pwd.getpwnam(curr_user)
+ os.chmod(filename,0600)
+ os.chown(filename,userdata[2],userdata[3])
+@@ -250,8 +251,8 @@
+ mailaddress=curr_user
+ if (action=="mailandsave"):
+ cs_helpers.sendMIMEMail(fromaddress, mailaddress, "Voice call received from "+call_from+" to "+call_to, "la",
+- "You got a voice call from "+call_from+" to "+call_to+"\nDate: "+time.ctime()+"\n\n"
+- +"See attached file.\nThe original file was saved to file://"+filename+"\n\n", filename)
++ "You got a voice call from "+call_from+" to "+call_to+"\nDate: "+time.ctime()+"\n\n"
++ +"See attached file.\nThe original file was saved to file://"+filename+"\n\n", filename)
+
+
+ # @brief remote inquiry function (uses german wave snippets!)
+@@ -418,7 +419,7 @@
+ #
+ # Revision 1.9 2003/06/27 07:51:09 gernot
+ # - replaced german umlaut in filename "nachricht-gelscht.la", can cause
+-# problems on Redhat, thx to Herbert Hübner for reporting
++# problems on Redhat, thx to Herbert Hübner for reporting
+ #
+ # Revision 1.8 2003/06/16 10:21:05 gernot
+ # - define filename in any case (thx to Axel Schneck for reporting and
+--- scripts/idle.py.orig 2004-11-28 14:35:16.000000000 +0100
++++ scripts/idle.py 2006-09-22 15:33:50.000000000 +0200
+@@ -1,3 +1,4 @@
++# -*- coding: UTF-8 -*-
+ # idle.py - default script for capisuite
+ # ---------------------------------------------
+ # copyright : (C) 2002 by Gernot Hillier
+@@ -105,13 +106,13 @@
+ movejob(job_fax,sendq,done,user)
+ capisuite.log("job "+job_fax+": finished successfully",1)
+ mailtext="Your fax job to "+addressee+" ("+dialstring+") was sent successfully.\n\n" \
+- +"Subject: "+subject+"\nFilename: "+job_fax \
+- +"\nNeeded tries: "+str(tries) \
+- +("\nLast result: 0x%x/0x%x" % (result,resultB3)) \
+- +"\n\nIt was moved to file://"+done+user+"-"+job_fax
++ +"Subject: "+subject+"\nFilename: "+job_fax \
++ +"\nNeeded tries: "+str(tries) \
++ +("\nLast result: 0x%x/0x%x" % (result,resultB3)) \
++ +"\n\nIt was moved to file://"+done+user+"-"+job_fax
+ cs_helpers.sendSimpleMail(fromaddress,mailaddress,
+- "Fax to "+addressee+" ("+dialstring+") sent successfully.",
+- mailtext)
++ "Fax to "+addressee+" ("+dialstring+") sent successfully.",
++ mailtext)
+ else:
+ max_tries=int(cs_helpers.getOption(config,"","send_tries","10"))
+ delays=cs_helpers.getOption(config,"","send_delays","60,60,60,300,300,3600,3600,18000,36000").split(",")
+@@ -123,19 +124,19 @@
+ starttime=time.time()+next_delay
+ capisuite.log("job "+job_fax+": delayed for "+str(next_delay)+" seconds",2)
+ cs_helpers.writeDescription(sendq+job_fax,"dialstring=\""+dialstring+"\"\n"
+- +"starttime=\""+time.ctime(starttime)+"\"\ntries=\""+str(tries)+"\"\n"
+- +"user=\""+user+"\"\naddressee=\""+addressee+"\"\nsubject=\""+subject+"\"\n")
++ +"starttime=\""+time.ctime(starttime)+"\"\ntries=\""+str(tries)+"\"\n"
++ +"user=\""+user+"\"\naddressee=\""+addressee+"\"\nsubject=\""+subject+"\"\n")
+ if (tries>=max_tries):
+ movejob(job_fax,sendq,failed,user)
+ capisuite.log("job "+job_fax+": failed finally",1)
+ mailtext="I'm sorry, but your fax job to "+addressee+" ("+dialstring \
+- +") failed finally.\n\nSubject: "+subject \
+- +"\nFilename: "+job_fax+"\nTries: "+str(tries) \
+- +"\nLast result: 0x%x/0x%x" % (result,resultB3) \
+- +"\n\nIt was moved to file://"+failed+user+"-"+job_fax
++ +") failed finally.\n\nSubject: "+subject \
++ +"\nFilename: "+job_fax+"\nTries: "+str(tries) \
++ +"\nLast result: 0x%x/0x%x" % (result,resultB3) \
++ +"\n\nIt was moved to file://"+failed+user+"-"+job_fax
+ cs_helpers.sendSimpleMail(fromaddress,mailaddress,
+- "Fax to "+addressee+" ("+dialstring+") FAILED.",
+- mailtext)
++ "Fax to "+addressee+" ("+dialstring+") FAILED.",
++ mailtext)
+
+ fcntl.lockf(lockfile,fcntl.LOCK_UN)
+ lockfile.close()
+@@ -149,7 +150,7 @@
+ if (stationID==None):
+ capisuite.error("Warning: fax_stationID for user "+user+" not set")
+ stationID=""
+- headline=cs_helpers.getOption(config,user,"fax_headline","")
++ headline=cs_helpers.getOption(config,user,"fax_headline","")
+ (call,result)=capisuite.call_faxG3(capi,controller,outgoing_nr,dialstring,timeout,stationID,headline)
+ if (result!=0):
+ return(result,0)
diff --git a/net-dialup/capisuite/files/capisuite-fax-compatibility.patch b/net-dialup/capisuite/files/capisuite-fax-compatibility.patch
new file mode 100644
index 000000000000..859ca889764d
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite-fax-compatibility.patch
@@ -0,0 +1,12 @@
+diff -r -u -b -B src.orig/backend/connection.cpp src/backend/connection.cpp
+--- src.orig/backend/connection.cpp 2003-07-20 14:08:44.000000000 -0500
++++ src/backend/connection.cpp 2004-11-12 20:35:22.035045216 -0600
+@@ -85,7 +85,7 @@
+ CIPvalue=16;
+ break;
+ case FAXG3:
+- CIPvalue=17;
++ CIPvalue=4;
+ break;
+ default:
+ throw CapiExternalError("unsupported service given","Connection::Connection()");
diff --git a/net-dialup/capisuite/files/capisuite.initd b/net-dialup/capisuite/files/capisuite.initd
new file mode 100644
index 000000000000..679bb428388d
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite.initd
@@ -0,0 +1,58 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+opts="reload"
+
+depend() {
+ need capi
+}
+
+checkconfig() {
+ local conf_fax conf_voice sec rest
+ # Check if there are configured users for fax or
+ # answering machine. Otherwise exit.
+ # IMPORTANT: Change this or comment it out if you want to use
+ # your own CapiSuite scripts.
+ while read -r sec rest; do
+ if [ "${sec:0:1}" = "[" -a "$sec" != "[GLOBAL]" ]; then
+ conf_fax=yes
+ break
+ fi
+ done < /etc/capisuite/fax.conf
+ while read -r sec rest; do
+ if [ "${sec:0:1}" = "[" -a "$sec" != "[GLOBAL]" ]; then
+ conf_voice=yes
+ break
+ fi
+ done < /etc/capisuite/answering_machine.conf
+ # end check for configured users
+
+ if ! [ "$conf_fax" -o "$conf_voice" ]; then
+ eerror "Please configure CapiSuite first!"
+ return 1
+ fi
+
+ return 0
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting CapiSuite"
+ start-stop-daemon --start --quiet --exec /usr/sbin/capisuite -- -d
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping CapiSuite"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/capisuite --retry 10 --signal TERM >/dev/null
+ eend $?
+}
+
+reload() {
+ ebegin "Reload CapiSuite"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/capisuite --signal HUP
+ eend $?
+}
diff --git a/net-dialup/capisuite/files/capisuite.logrotated b/net-dialup/capisuite/files/capisuite.logrotated
new file mode 100644
index 000000000000..9298cc5078d4
--- /dev/null
+++ b/net-dialup/capisuite/files/capisuite.logrotated
@@ -0,0 +1,39 @@
+/var/log/capisuite.log {
+ weekly
+ missingok
+ rotate 52
+ compress
+ delaycompress
+ notifempty
+ create 640 root adm
+ sharedscripts
+ postrotate
+ if [ -f /var/run/capisuite.pid ]; then \
+ if [ -x /usr/sbin/invoke-rc.d ]; then \
+ invoke-rc.d capisuite restart > /dev/null; \
+ else \
+ /etc/init.d/capisuite restart > /dev/null; \
+ fi; \
+ fi;
+ endscript
+}
+
+/var/log/capisuite.error {
+ weekly
+ missingok
+ rotate 52
+ compress
+ delaycompress
+ notifempty
+ create 640 root adm
+ sharedscripts
+ postrotate
+ if [ -f /var/run/capisuite.pid ]; then \
+ if [ -x /usr/sbin/invoke-rc.d ]; then \
+ invoke-rc.d capisuite restart > /dev/null; \
+ else \
+ /etc/init.d/capisuite restart > /dev/null; \
+ fi; \
+ fi;
+ endscript
+}
diff --git a/net-dialup/capisuite/metadata.xml b/net-dialup/capisuite/metadata.xml
new file mode 100644
index 000000000000..1e11e7bbd01b
--- /dev/null
+++ b/net-dialup/capisuite/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>net-dialup</herd>
+</pkgmetadata>