summaryrefslogtreecommitdiff
path: root/net/speakfreely
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>1999-10-11 05:48:24 +0000
committerjlam <jlam@pkgsrc.org>1999-10-11 05:48:24 +0000
commitcd438b6a071c350e204b212dd0b0e76cb0d35e7d (patch)
treee3b9cdcfcd70924847adba2b99c90883c197acf5 /net/speakfreely
parent37fe82e7a0c592e4722a6b8f2acb7845c23884c3 (diff)
downloadpkgsrc-cd438b6a071c350e204b212dd0b0e76cb0d35e7d.tar.gz
Initial import of speakfreely-7.1, an Internet phone for UN*X.
* Converted to use gsm package and NetBSD's md5 routines.
Diffstat (limited to 'net/speakfreely')
-rw-r--r--net/speakfreely/Makefile55
-rw-r--r--net/speakfreely/files/md53
-rw-r--r--net/speakfreely/files/patch-sum8
-rw-r--r--net/speakfreely/patches/patch-aa194
-rw-r--r--net/speakfreely/patches/patch-ab22
-rw-r--r--net/speakfreely/patches/patch-ac13
-rw-r--r--net/speakfreely/patches/patch-ad17
-rw-r--r--net/speakfreely/patches/patch-ae24
-rw-r--r--net/speakfreely/patches/patch-af22
-rw-r--r--net/speakfreely/pkg/COMMENT1
-rw-r--r--net/speakfreely/pkg/DESCR7
-rw-r--r--net/speakfreely/pkg/PLIST20
12 files changed, 386 insertions, 0 deletions
diff --git a/net/speakfreely/Makefile b/net/speakfreely/Makefile
new file mode 100644
index 00000000000..8d9ee171594
--- /dev/null
+++ b/net/speakfreely/Makefile
@@ -0,0 +1,55 @@
+# $NetBSD: Makefile,v 1.1.1.1 1999/10/11 05:48:24 jlam Exp $
+#
+
+DISTNAME= speak_freely-7.1
+PKGNAME= speakfreely-7.1
+CATEGORIES= net audio
+MASTER_SITES= http://www.fourmilab.ch/speakfree/unix/
+
+MAINTAINER= johnam@mail.kemper.org
+HOMEPAGE= http://www.fourmilab.ch/speakfree/unix/
+
+CONFLICTS= speakfreely-crypto-*
+
+DEPENDS+= gsm-1.0.10:../../audio/gsm
+
+USE_PERL= yes
+PERL_PATH= ${LOCALBASE}/bin/perl
+
+MIRROR_DISTFILE= no # source includes crypto code
+
+NO_CONFIGURE= yes
+
+BUILD_DEFS+= SPEAKFREELY_OPTIONS
+
+.include "../../mk/bsd.prefs.mk"
+
+# SPEAKFREELY_OPTIONS is a space-separated list of compile-time options
+# to support. Currently supported options:
+#
+# halfduplex for if sound card doesn't support full-duplex sound
+#
+SPEAKFREELY_OPTIONS?= halfduplex
+
+.if ${SPEAKFREELY_OPTIONS:Mhalfduplex} == "halfduplex"
+CCFLAGS+= -DHALF_DUPLEX
+.endif
+
+SOUNDDIR= ${PREFIX}/share/speakfreely
+MAKE_ENV+= PERL="${PERL_PATH}" CCFLAGS="${CCFLAGS}" \
+ SOUNDDIR="${SOUNDDIR}" HAVE_GSM=yes
+MAKE_ENV+= HAVE_MD5=yes
+
+post-extract:
+ ${MV} ${WRKSRC}/sfspeaker.1 ${WRKSRC}/sfspeaker.1.in
+
+pre-build:
+ ${SED} -e "s,@SOUNDDIR@,${SOUNDDIR},g" ${WRKSRC}/sfspeaker.1.in \
+ > ${WRKSRC}/sfspeaker.1
+
+post-install:
+ ${INSTALL_DATA_DIR} ${SOUNDDIR}
+ ${INSTALL_DATA} ${WRKSRC}/busy.au ${SOUNDDIR}
+ ${INSTALL_DATA} ${WRKSRC}/ring.au ${SOUNDDIR}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/speakfreely/files/md5 b/net/speakfreely/files/md5
new file mode 100644
index 00000000000..d1e5a1c7741
--- /dev/null
+++ b/net/speakfreely/files/md5
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+MD5 (speak_freely-7.1.tar.gz) = f06e4115c7139f7e30ea57064b324558
diff --git a/net/speakfreely/files/patch-sum b/net/speakfreely/files/patch-sum
new file mode 100644
index 00000000000..24cc2f161f9
--- /dev/null
+++ b/net/speakfreely/files/patch-sum
@@ -0,0 +1,8 @@
+$NetBSD: patch-sum,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+MD5 (patch-aa) = fc4777d135292d7b09e155cbfa98cc92
+MD5 (patch-ab) = 21d79fc6eb7a9d467486c9247b7a1e5a
+MD5 (patch-ac) = 9bb7b8bb6a0928830e09d6cb7223aed7
+MD5 (patch-ad) = ca5b272dc6faff9cc174ea0b47e038cd
+MD5 (patch-ae) = 7a0471772af271dc970fe5d3280f8d32
+MD5 (patch-af) = 0588252b44ea08362affba7c4a504c8e
diff --git a/net/speakfreely/patches/patch-aa b/net/speakfreely/patches/patch-aa
new file mode 100644
index 00000000000..d12132fd519
--- /dev/null
+++ b/net/speakfreely/patches/patch-aa
@@ -0,0 +1,194 @@
+$NetBSD: patch-aa,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+--- Makefile.orig Sat Sep 18 11:29:44 1999
++++ Makefile Mon Oct 11 01:40:13 1999
+@@ -3,16 +3,19 @@
+
+ # Debugging options
+
+-DEBUG = -g -DHEXDUMP
++#DEBUG = -g -DHEXDUMP
+ #DEBUG = -g -DHEXDUMP -DNOCRYPTO
+-#DEBUG = -O
++DEBUG = -O
+
+ # Installation
+
+ # Install program
+-INSTALL = /usr/bin/install
++#INSTALL = /usr/bin/install
++INSTALL_PROGRAM = ${BSD_INSTALL_PROGRAM}
++INSTALL_SCRIPT = ${BSD_INSTALL_SCRIPT}
++INSTALL_MAN = ${BSD_INSTALL_MAN}
+ # Installation root directory
+-INSTDIR = /usr/local
++INSTDIR = ${PREFIX}
+ # Binaries
+ INSTDIR_BIN = $(INSTDIR)/bin
+ # Manual pages
+@@ -38,9 +41,9 @@
+ # functionality is working. Please see the detailed description
+ # of the available flags which follows these declarations.
+ #
+-CCFLAGS = -DAUDIO_BLOCKING -DLINUX -DHALF_DUPLEX -DM_LITTLE_ENDIAN
+-CC = gcc -O3 # for GNU's gcc compiler
+-LFLAGS = -lncurses -lm
++#CCFLAGS = -DAUDIO_BLOCKING -DLINUX -DHALF_DUPLEX -DM_LITTLE_ENDIAN
++#CC = gcc -O3 # for GNU's gcc compiler
++#LFLAGS = -lncurses -lm
+ #
+ # If the above LFLAGS doesn't work, try the one below.
+ #LFLAGS = -lcurses -lm
+@@ -223,6 +226,18 @@
+ #CCFLAGS = -DM_LITTLE_ENDIAN
+ #LFLAGS = -lcurses -ltermcap -lcompat -lm
+
++# NetBSD 1.4
++# (courtesy of John A. Maier)
++
++# -lossaudio is needed to provide OSS audio emulation. -DHALF_DUPLEX may
++# also be needed in CCFLAGS depending on the driver for the sound card
++# (see below). -lcompat is needed to link correctly since the source uses
++# the obsoleted function cuserid().
++
++CCFLAGS += -DUSE_CURSES
++CCFLAGS += -DSOUNDDIR=\"${SOUNDDIR}\"
++LFLAGS += -lcurses -ltermcap -lm -lcompat -lossaudio
++
+ # Hewlett-Packard
+ # (courtesy of Marc Kilian)
+ #
+@@ -233,7 +248,7 @@
+
+ # Where Perl is located on your system. This is used to make
+ # a directly-executable version of sfvod.
+-PERL = /usr/bin/perl
++#PERL = /usr/bin/perl
+
+ # If your audio hardware is half duplex, uncomment the next line.
+ # You can also, if you wish, define this on the CCFLAGS definition
+@@ -267,23 +282,63 @@
+
+ CARGS = -DInternet_Port=$(INTERNET_PORT)
+
++# Crypto
++.if defined(CRYPTO) && $(CRYPTO) == "yes"
++.if defined(HAVE_LIBCRYPTO) && $(HAVE_LIBCRYPTO) == "yes"
++CRYPTOFLAGS = -Iidea -I$(OPENSSLDIR)/include/openssl
++CRYPTOLIBS = idea/idea.a des/des.a \
++ -Wl,-R$(OPENSSLDIR)/lib -L$(OPENSSLDIR)/lib -lcrypto
++CRYPTOOBJS = idealib.o deslib.o
++.else
++CRYPTOFLAGS = -Iidea -Ilibdes -Iblowfish
++CRYPTOLIBS = blowfish/libblowfish.a des/des.a idea/idea.a libdes/libdes.a
++CRYPTOOBJS = libblowfish.o deslib.o idealib.o libdes.o
++.endif
++.else
++CCFLAGS += -DNOCRYPTO
++CRYPTOFLAGS =
++CRYPTOLIBS =
++CRYPTOOBJS =
++.endif
++
++.if defined(HAVE_GSM) && ${HAVE_GSM} == "yes"
++GSMFLAGS = -I${LOCALBASE}/include
++GSMLIBS = -Wl,-R${LOCALBASE}/lib -L${LOCALBASE}/lib -lgsm
++GSMOBJS =
++.else
++GSMFLAGS = -Igsm/inc
++GSMLIBS = gsm/lib/libgsm.a
++GSMOBJS = gsmlib.o
++.endif
++
++.if defined(HAVE_MD5) && $(HAVE_MD5) == "yes"
++MD5FLAGS = -I/usr/include
++MD5LIBS =
++MD5OBJS =
++.else
++MD5FLAGS = -Imd5
++MD5LIBS = md5/md5.o
++MD5OBJS = md5lib.o
++.endif
++
+ # Compiler flags
+
+-CFLAGS = $(DEBUG) -Iadpcm -Ilpc -Igsm/inc -Imd5 -Iidea -Ilibdes -Iblowfish $(CARGS) $(DUPLEX) $(CCFLAGS) $(DOMAIN)
++CFLAGS = $(DEBUG) -Iadpcm -Ilpc $(GSMFLAGS) $(MD5FLAGS) $(CRYPTOFLAGS) $(CARGS) $(DUPLEX) $(CCFLAGS) $(DOMAIN)
+
+-PROGRAMS = sfspeaker sfmike sflaunch sflwld sflwl sfecho sfreflect sfvod
++PROGRAMS = sfspeaker sfmike sflaunch sflwld sflwl sfecho sfreflect
++SCRIPTS = sfvod
+
+-all: $(PROGRAMS)
++all: $(PROGRAMS) $(SCRIPTS)
+
+ SPKROBJS = speaker.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o vox.o audio_hp.o audio_sgi.o common.o
+
+-sfspeaker: $(SPKROBJS) adpcmlib.o libblowfish.o lpclib.o lpc10lib.o gsmlib.o deslib.o md5lib.o idealib.o libdes.o xdsub.o
+- $(CC) $(SPKROBJS) adpcm/adpcm-u.o blowfish/libblowfish.a des/des.a md5/md5.o idea/idea.a lpc10/liblpc10.a gsm/lib/libgsm.a lpc/lpc.o xdsub.o libdes/libdes.a $(LFLAGS) -o sfspeaker
++sfspeaker: $(SPKROBJS) adpcmlib.o lpclib.o lpc10lib.o $(GSMOBJS) $(MD5OBJS) xdsub.o $(CRYPTOOBJS)
++ $(CC) $(SPKROBJS) adpcm/adpcm-u.o $(MD5LIBS) lpc10/liblpc10.a $(GSMLIBS) lpc/lpc.o xdsub.o $(CRYPTOLIBS) $(LFLAGS) -o sfspeaker
+
+ MIKEOBJS = mike.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o xdsub.o audio_hp.o audio_sgi.o
+
+-sfmike: $(MIKEOBJS) adpcmlib.o libblowfish.o lpclib.o lpc10lib.o gsmlib.o deslib.o md5lib.o idealib.o libdes.o
+- $(CC) $(MIKEOBJS) adpcm/adpcm-u.o des/des.a md5/md5.o idea/idea.a -lm blowfish/libblowfish.a lpc10/liblpc10.a gsm/lib/libgsm.a lpc/lpc.o libdes/libdes.a $(LFLAGS) -o sfmike
++sfmike: $(MIKEOBJS) adpcmlib.o lpclib.o lpc10lib.o $(GSMOBJS) $(MD5OBJS) $(CRYPTOOBJS)
++ $(CC) $(MIKEOBJS) adpcm/adpcm-u.o $(MD5LIBS) -lm lpc10/liblpc10.a $(GSMLIBS) lpc/lpc.o $(CRYPTOLIBS) $(LFLAGS) -o sfmike
+
+ LAUNCHOBJS = launch.o soundbyte.o usleep.o g711.o
+
+@@ -302,13 +357,13 @@
+
+ ECHOOBJS = echo.o codecs.o g711.o rtpacket.o ulaw.o xdsub.o
+
+-sfecho: $(ECHOOBJS) md5lib.o
+- $(CC) $(ECHOOBJS) md5/md5.o adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfecho
++sfecho: $(ECHOOBJS) $(MD5OBJS)
++ $(CC) $(ECHOOBJS) $(MD5LIBS) adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfecho
+
+ REFLECTOBJS = reflect.o codecs.o html.o g711.o rtpacket.o ulaw.o xdsub.o
+
+-sfreflect: $(REFLECTOBJS) md5lib.o
+- $(CC) $(REFLECTOBJS) md5/md5.o adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfreflect
++sfreflect: $(REFLECTOBJS) $(MD5OBJS)
++ $(CC) $(REFLECTOBJS) $(MD5LIBS) adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfreflect
+
+ # Configure the voice on demand server for the platform's
+ # location of Perl and network constant definitions.
+@@ -402,8 +457,8 @@
+
+ speakfree.h: audio_descr.h rtp.h rtpacket.h ulaw2linear.h types.h
+
+-testgsm: testgsm.o gsmlib.o
+- $(CC) testgsm.o -lm gsm/lib/libgsm.a $(LFLAGS) -o testgsm
++testgsm: testgsm.o $(GSMOBJS)
++ $(CC) testgsm.o -lm $(GSMLIBS) $(LFLAGS) -o testgsm
+
+ manpage:
+ nroff -man sfmike.1 | $(PAGER)
+@@ -442,7 +497,7 @@
+ # Clean everything
+
+ clean:
+- rm -f core *.out *.o *.bak $(PROGRAMS) *.shar sfvod-t*
++ rm -f core *.out *.o *.bak $(PROGRAMS) $(SCRIPTS) *.shar sfvod-t*
+ ( cd adpcm; make clean )
+ ( cd blowfish; make clean )
+ ( cd libdes; make clean )
+@@ -456,11 +511,12 @@
+ # Clean only the main directory, not the libraries
+
+ dusty:
+- rm -f core *.out *.o *.bak $(PROGRAMS) *.shar sfvod-t*
++ rm -f core *.out *.o *.bak $(PROGRAMS) $(SCRIPTS) *.shar sfvod-t*
+
+ # Install binaries and manual pages. You'll need to
+ # be root to install in system directories.
+
+ install: $(PROGRAMS)
+- $(INSTALL) -o root -g root -m 755 -s $(PROGRAMS) $(INSTDIR_BIN)
+- $(INSTALL) -o root -g root -m 644 *.1 $(INSTDIR_MAN)/man1
++ $(INSTALL_PROGRAM) $(PROGRAMS) $(INSTDIR_BIN)
++ $(INSTALL_SCRIPT) $(SCRIPTS) $(INSTDIR_BIN)
++ $(INSTALL_MAN) *.1 $(INSTDIR_MAN)/man1
diff --git a/net/speakfreely/patches/patch-ab b/net/speakfreely/patches/patch-ab
new file mode 100644
index 00000000000..fedf15eecba
--- /dev/null
+++ b/net/speakfreely/patches/patch-ab
@@ -0,0 +1,22 @@
+$NetBSD: patch-ab,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+--- des/des.c.orig Fri Feb 23 06:10:37 1996
++++ des/des.c Mon Oct 11 01:38:34 1999
+@@ -4,6 +4,17 @@
+ */
+ #define NULL 0
+
++/*
++ * NetBSD is cross-platform, so determine endianness from machine-specific
++ * header files.
++ */
++#if defined(__NetBSD__)
++#include <machine/endian.h>
++#if BYTE_ORDER == LITTLE_ENDIAN
++#define M_LITTLE_ENDIAN
++#endif
++#endif /* __NetBSD__ */
++
+ #ifdef M_LITTLE_ENDIAN
+ static unsigned long byteswap();
+ #endif
diff --git a/net/speakfreely/patches/patch-ac b/net/speakfreely/patches/patch-ac
new file mode 100644
index 00000000000..f3f3605e44d
--- /dev/null
+++ b/net/speakfreely/patches/patch-ac
@@ -0,0 +1,13 @@
+$NetBSD: patch-ac,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+--- sfspeaker.1.in.orig Sat Sep 18 15:23:01 1999
++++ sfspeaker.1.in Mon Oct 11 01:38:35 1999
+@@ -140,7 +140,7 @@
+ .I busy_command
+ is supplied, a default of:
+ .ce 1
+--b"sleep 10; sfmike %s busy.au"
++-b"sleep 10; sfmike %s @SOUNDDIR@/busy.au"
+ is used. The ten second delay is intended to allow users
+ with half duplex audio hardware to receive the busy signal
+ transmission after sending an initial greeting and switching
diff --git a/net/speakfreely/patches/patch-ad b/net/speakfreely/patches/patch-ad
new file mode 100644
index 00000000000..29f833c4b38
--- /dev/null
+++ b/net/speakfreely/patches/patch-ad
@@ -0,0 +1,17 @@
+$NetBSD: patch-ad,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+--- soundbyte.c.orig Tue Sep 14 08:55:17 1999
++++ soundbyte.c Mon Oct 11 01:38:35 1999
+@@ -27,9 +27,11 @@
+ #else
+ #include <sun/audioio.h>
+ #endif
+-#else /* FreeBSD / Linux */
++#else /* NetBSD / FreeBSD / Linux */
+ #ifdef LINUX
+ #include <linux/soundcard.h>
++#elif defined(__NetBSD__)
++#include <soundcard.h>
+ #else
+ #include <machine/soundcard.h>
+ #endif
diff --git a/net/speakfreely/patches/patch-ae b/net/speakfreely/patches/patch-ae
new file mode 100644
index 00000000000..b18fe557c82
--- /dev/null
+++ b/net/speakfreely/patches/patch-ae
@@ -0,0 +1,24 @@
+$NetBSD: patch-ae,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+--- speaker.c.orig Tue Sep 14 05:53:42 1999
++++ speaker.c Mon Oct 11 01:38:35 1999
+@@ -10,6 +10,10 @@
+ #include "speakfree.h"
+ #include "version.h"
+
++#ifndef SOUNDDIR
++#define SOUNDDIR
++#endif
++
+ static int audiok = FALSE; /* Audio initialised flag */
+ static int audiotime = 0; /* Audio timeout counter */
+ static int debugging = FALSE; /* Debugging enabled */
+@@ -53,7 +57,7 @@
+ static char *replyfile = NULL; /* Reply file pathname */
+ static char *replycmdexe = NULL;
+ static char *replycmd = "sfmike -t"; /* Default reply command */
+-static char *busysignal = "sleep 10; sfmike %s busy.au"; /* Default busy signal command */
++static char *busysignal = "sleep 10; sfmike %s " SOUNDDIR "busy.au"; /* Default busy signal command */
+ static int busytimeout = 60 * 1000000L; /* Busy signal timeout interval */
+ static int dobusy = FALSE; /* Reject calls when busy ? */
+ #ifdef HALF_DUPLEX
diff --git a/net/speakfreely/patches/patch-af b/net/speakfreely/patches/patch-af
new file mode 100644
index 00000000000..751e2a9a296
--- /dev/null
+++ b/net/speakfreely/patches/patch-af
@@ -0,0 +1,22 @@
+$NetBSD: patch-af,v 1.1.1.1 1999/10/11 05:48:25 jlam Exp $
+
+--- speakfree.h.orig Tue Sep 14 08:17:32 1999
++++ speakfree.h Mon Oct 11 01:38:35 1999
+@@ -20,6 +20,17 @@
+ #define _BSD_SIGNALS
+ #endif
+
++/*
++ * NetBSD is cross-platform, so determine endianness from machine-specific
++ * header files.
++ */
++#if defined(__NetBSD__)
++#include <machine/endian.h>
++#if BYTE_ORDER == LITTLE_ENDIAN
++#define M_LITTLE_ENDIAN
++#endif
++#endif /* __NetBSD__ */
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
diff --git a/net/speakfreely/pkg/COMMENT b/net/speakfreely/pkg/COMMENT
new file mode 100644
index 00000000000..355759d99eb
--- /dev/null
+++ b/net/speakfreely/pkg/COMMENT
@@ -0,0 +1 @@
+Internet "phone" for UNIX
diff --git a/net/speakfreely/pkg/DESCR b/net/speakfreely/pkg/DESCR
new file mode 100644
index 00000000000..d32fa0b46c2
--- /dev/null
+++ b/net/speakfreely/pkg/DESCR
@@ -0,0 +1,7 @@
+Speak Freely allows users of a variety of Unix and Unix-like machines
+equipped with audio hardware connected by a network to converse, using
+the audio input and output facilities of the system to digitise and
+later reconstruct the sound and the network to relay sound packets.
+Optional compression is provided, allowing conversations over relatively
+low-bandwidth Internet links as well as local area networks. The
+technology is based on the digital celular phone compression technology.
diff --git a/net/speakfreely/pkg/PLIST b/net/speakfreely/pkg/PLIST
new file mode 100644
index 00000000000..947c5d4dc8d
--- /dev/null
+++ b/net/speakfreely/pkg/PLIST
@@ -0,0 +1,20 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 1999/10/11 05:48:24 jlam Exp $
+bin/sfecho
+bin/sflaunch
+bin/sflwl
+bin/sflwld
+bin/sfmike
+bin/sfreflect
+bin/sfspeaker
+bin/sfvod
+man/man1/sfecho.1
+man/man1/sflaunch.1
+man/man1/sflwl.1
+man/man1/sflwld.1
+man/man1/sfmike.1
+man/man1/sfreflect.1
+man/man1/sfspeaker.1
+man/man1/sfvod.1
+share/speakfreely/busy.au
+share/speakfreely/ring.au
+@dirrm share/speakfreely