summaryrefslogtreecommitdiff
path: root/comms/unixcw
diff options
context:
space:
mode:
authorDiane Bruce <db@FreeBSD.org>2008-01-01 18:13:56 +0000
committerDiane Bruce <db@FreeBSD.org>2008-01-01 18:13:56 +0000
commit13966ac24edb9471341c156a6f03d85dccea7203 (patch)
tree5fa4620c4c0db567f5523ba46dff4a1479123d73 /comms/unixcw
parentUpdate to 2.0 (diff)
The heart of the package is 'libcw'. This is a library which, when built,
offers the following basic CW services to a caller program: o Morse code character translation tables, and lookup functions o Morse code low-level timing calculations o A 'sidetone' generation and queueing system, using either the system sound card, the console speaker, or both o Optional keying control for an external device, say a transmitter, or an oscillator o CW character and string send routines, tied in with the character lookup o CW receive routines, also tied in to the character lookup o Adaptive speed tracking of received CW o An iambic keyer, with both Curtis 8044 types A and B timing o Straight key emulation Submitted by: self
Notes
Notes: svn path=/head/; revision=204824
Diffstat (limited to 'comms/unixcw')
-rw-r--r--comms/unixcw/Makefile56
-rw-r--r--comms/unixcw/distinfo3
-rw-r--r--comms/unixcw/files/patch-Makefile.inc.in10
-rw-r--r--comms/unixcw/files/patch-configure.ac47
-rw-r--r--comms/unixcw/files/patch-src_cw_Makefile19
-rw-r--r--comms/unixcw/files/patch-src_cwcp_Makefile11
-rw-r--r--comms/unixcw/files/patch-src_cwgen_Makefile21
-rw-r--r--comms/unixcw/files/patch-src_cwlib_Makefile27
-rw-r--r--comms/unixcw/files/patch-src_cwlib_cwlib.c25
-rw-r--r--comms/unixcw/files/patch-src_cwutils_Makefile11
-rw-r--r--comms/unixcw/files/patch-src_xcwcp_Makefile11
-rw-r--r--comms/unixcw/pkg-descr16
-rw-r--r--comms/unixcw/pkg-plist11
13 files changed, 268 insertions, 0 deletions
diff --git a/comms/unixcw/Makefile b/comms/unixcw/Makefile
new file mode 100644
index 000000000000..0c0f8cf6e67e
--- /dev/null
+++ b/comms/unixcw/Makefile
@@ -0,0 +1,56 @@
+# ports collection makefile for: unixcw
+# Date created: 24 Dec 2007
+# Whom: Diane Bruce <db@db.net>
+#
+# $FreeBSD$
+#
+
+PORTNAME= unixcw
+PORTVERSION= 2.3
+CATEGORIES= comms hamradio
+MASTER_SITES= http://www.ibiblio.org/pub/linux/apps/ham/morse/ \
+ ${MASTER_SITE_LOCAL}
+MASTER_SITE_SUBDIR= db
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= db@FreeBSD.org
+COMMENT= Libs for cw on unix
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --includedir="${LOCALBASE}/include" \
+ --libdir="${LOCALBASE}/lib"
+MAN1= cw.1 cwgen.1 cwcp.1
+MAN3= cwlib.3
+.if defined(WITH_XCWCP)
+MAN1+= xcwcp.1
+USE_QT_VER= 3
+CONFIGURE_ARGS+= QTLIB=qt-mt
+PLIST_SUB+= XCWCP=""
+.else
+PLIST_SUB+= XCWCP="@comment "
+.endif
+MAN7= cw.7 CW.7
+MANCOMPRESSED= yes
+USE_AUTOTOOLS= autoconf:261
+USE_LDCONFIG= yes
+USE_GMAKE= yes
+
+.include <bsd.port.pre.mk>
+.if ${OSVERSION} < 600000
+BUILD_DEPENDS+= gawk:${PORTSDIR}/lang/gawk
+.endif
+
+pre-extract:
+.if !defined(WITH_XCWCP)
+ @${ECHO_CMD}
+ @${ECHO_CMD} "****** To build xcwcp, interrupt the build ******"
+ @${ECHO_CMD} "****** now, set WITH_XCWCP and start again. ******"
+ @${ECHO_CMD}
+ @sleep 3
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e "s|%%LIBDATA%%|${PREFIX}/libdata|" \
+ ${WRKSRC}/src/cwlib/Makefile
+
+.include <bsd.port.post.mk>
diff --git a/comms/unixcw/distinfo b/comms/unixcw/distinfo
new file mode 100644
index 000000000000..f529a9b29fc0
--- /dev/null
+++ b/comms/unixcw/distinfo
@@ -0,0 +1,3 @@
+MD5 (unixcw-2.3.tgz) = f02e81ab719caa039c85615331c8860b
+SHA256 (unixcw-2.3.tgz) = 124c60c6c7ef596a7c96c94a0e76204c7d986373564121155f0f206ad71f30a0
+SIZE (unixcw-2.3.tgz) = 202048
diff --git a/comms/unixcw/files/patch-Makefile.inc.in b/comms/unixcw/files/patch-Makefile.inc.in
new file mode 100644
index 000000000000..e10cbda2da39
--- /dev/null
+++ b/comms/unixcw/files/patch-Makefile.inc.in
@@ -0,0 +1,10 @@
+--- Makefile.inc.in.orig 2007-12-28 15:21:30.000000000 -0500
++++ Makefile.inc.in 2007-12-28 15:21:22.000000000 -0500
+@@ -30,6 +30,7 @@
+ AC_AWK = @AWK@
+ AC_RANLIB = @RANLIB@
+ AC_QTDIR = @QTDIR@
++AC_QTLIB = @QTLIBR@
+ AC_QTMOC = @QTMOC@
+ AC_CFLAG_PIC = @CFLAG_PIC@
+ AC_SUBDIRS = @SUBDIRS@
diff --git a/comms/unixcw/files/patch-configure.ac b/comms/unixcw/files/patch-configure.ac
new file mode 100644
index 000000000000..eb13422ec094
--- /dev/null
+++ b/comms/unixcw/files/patch-configure.ac
@@ -0,0 +1,47 @@
+--- configure.ac.orig 2006-07-13 01:31:21.000000000 -0400
++++ configure.ac 2007-12-28 15:31:58.000000000 -0500
+@@ -18,11 +18,10 @@
+ #
+
+ # General initializations.
+-AC_PREREQ(2.57)
++AC_PREREQ(2.61)
+ AC_INIT([UnixCW], 2.3, [simon_baldwin@yahoo.com])
+-
+ # Specify a configuration header.
+-AC_CONFIG_HEADERS(src/config.h)
++AC_CONFIG_HEADER(src/config.h)
+
+ # General checks for programs.
+ AC_PROG_CC
+@@ -48,6 +47,7 @@
+
+ # Checks for libraries.
+ AC_CHECK_LIB(curses, initscr)
++AC_CHECK_LIB(intl, gettext)
+
+ # Checks for header files, and refuse to go on if no KIOCSOUND is available.
+ AC_HEADER_STDC
+@@ -136,7 +136,12 @@
+ AC_MSG_WARN([Hint: try setting a value for the QTDIR variable])
+ fi
+ AC_SUBST(SUBDIRS)
+-
++if test -n "$QTLIB" ; then
++ QTLIBR=$QTLIB
++else
++ QTLIBR="qt"
++fi
++AC_SUBST(QTLIBR)
+ # Add -Wall, -W, -pedantic, and other paranoia to gcc command flags, and -Wall
+ # to with a few suppressions to icc command flags, then similarly, though less
+ # so, for g++ and icpc.
+@@ -200,6 +205,8 @@
+ fi
+ fi
+ rm -f conftest.so
++dnl fake it here for now
++ CC_LINKS_SO="yes"
+ if test $CC_LINKS_SO = "yes" ; then
+ AC_MSG_RESULT(yes)
+ else
diff --git a/comms/unixcw/files/patch-src_cw_Makefile b/comms/unixcw/files/patch-src_cw_Makefile
new file mode 100644
index 000000000000..88d3eb17f64d
--- /dev/null
+++ b/comms/unixcw/files/patch-src_cw_Makefile
@@ -0,0 +1,19 @@
+--- src/cw/Makefile.orig 2007-12-25 22:55:33.000000000 -0500
++++ src/cw/Makefile 2007-12-25 22:56:25.000000000 -0500
+@@ -19,14 +19,14 @@
+
+ include ../../Makefile.inc
+ CC = $(AC_CC)
+-CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwlib -I../cwutils
++CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwlib -I../cwutils -I$(includedir)
+ GZIP = $(AC_GZIP)
+
+ SHELL = /bin/sh
+
+ default: all
+
+-LIBS = -L../cwlib -lcw
++LIBS = -L../cwlib -lcw $(AC_LIBS)
+
+ # Build the cw binary.
+ all: cw
diff --git a/comms/unixcw/files/patch-src_cwcp_Makefile b/comms/unixcw/files/patch-src_cwcp_Makefile
new file mode 100644
index 000000000000..582596227315
--- /dev/null
+++ b/comms/unixcw/files/patch-src_cwcp_Makefile
@@ -0,0 +1,11 @@
+--- src/cwcp/Makefile.orig 2007-12-25 22:49:04.000000000 -0500
++++ src/cwcp/Makefile 2007-12-25 22:52:06.000000000 -0500
+@@ -19,7 +19,7 @@
+
+ include ../../Makefile.inc
+ CC = $(AC_CC)
+-CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwlib -I../cwutils
++CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwlib -I../cwutils -I${includedir}
+ GZIP = $(AC_GZIP)
+ LIBS = -L../cwlib -lcw $(AC_LIBS)
+
diff --git a/comms/unixcw/files/patch-src_cwgen_Makefile b/comms/unixcw/files/patch-src_cwgen_Makefile
new file mode 100644
index 000000000000..fd27bfdebace
--- /dev/null
+++ b/comms/unixcw/files/patch-src_cwgen_Makefile
@@ -0,0 +1,21 @@
+--- src/cwgen/Makefile.orig 2006-07-14 22:54:09.000000000 -0400
++++ src/cwgen/Makefile 2007-12-25 17:22:39.000000000 -0500
+@@ -19,7 +19,8 @@
+
+ include ../../Makefile.inc
+ CC = $(AC_CC)
+-CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwutils
++CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwutils -I${includedir}
++LDFLAGS= $(AC_LIBS)
+ GZIP = $(AC_GZIP)
+
+ SHELL = /bin/sh
+@@ -33,7 +34,7 @@
+
+ cwgen: cwgen.o
+ $(CC) -o $@ cwgen.o ../cwutils/i18n.o ../cwutils/cmdline.o \
+- ../cwutils/memory.o
++ ../cwutils/memory.o $(LDFLAGS)
+
+ # Install targets.
+ install: all
diff --git a/comms/unixcw/files/patch-src_cwlib_Makefile b/comms/unixcw/files/patch-src_cwlib_Makefile
new file mode 100644
index 000000000000..397a74375af7
--- /dev/null
+++ b/comms/unixcw/files/patch-src_cwlib_Makefile
@@ -0,0 +1,27 @@
+--- src/cwlib/Makefile.orig 2006-07-14 23:31:40.000000000 -0400
++++ src/cwlib/Makefile 2007-12-24 17:02:11.000000000 -0500
+@@ -83,14 +83,13 @@
+ # Install targets.
+ install: all
+ $(INSTALL) -d $(includedir) $(libdir) $(mandir)/man3 $(mandir)/man7 \
+- $(libdir)/pkgconfig
++ %%LIBDATA%%/pkgconfig
+ $(INSTALL_DATA) cwlib.h $(includedir)/cwlib.h
+ $(INSTALL_DATA) libcw.a $(libdir)/libcw.a
+ if [ "$(CC_LINKS_SO)" = "yes" -o "$(LD_LINKS_SO)" = "yes" ]; then \
+ $(INSTALL_PROGRAM) libcw.so.0.0.0 $(libdir)/libcw.so.0.0.0; \
+ $(LN_S) -f libcw.so.0.0.0 $(libdir)/libcw.so.0; \
+ $(LN_S) -f libcw.so.0.0.0 $(libdir)/libcw.so; \
+- $(LDCONFIG) -n $(libdir); \
+ fi
+ $(INSTALL_DATA) cwlib.3 $(mandir)/man3/cwlib.3
+ $(GZIP) -f -9 $(mandir)/man3/cwlib.3
+@@ -98,7 +97,7 @@
+ $(GZIP) -f -9 $(mandir)/man7/cw.7
+ $(INSTALL_DATA) cw.7 $(mandir)/man7/CW.7
+ $(GZIP) -f -9 $(mandir)/man7/CW.7
+- $(INSTALL_DATA) libcw.pc $(libdir)/pkgconfig/libcw.pc
++ $(INSTALL_DATA) libcw.pc %%LIBDATA%%/pkgconfig/libcw.pc
+
+ install-strip:
+ $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
diff --git a/comms/unixcw/files/patch-src_cwlib_cwlib.c b/comms/unixcw/files/patch-src_cwlib_cwlib.c
new file mode 100644
index 000000000000..5515bc570400
--- /dev/null
+++ b/comms/unixcw/files/patch-src_cwlib_cwlib.c
@@ -0,0 +1,25 @@
+--- src/cwlib/cwlib.c.orig 2006-06-22 21:54:01.000000000 -0400
++++ src/cwlib/cwlib.c 2008-01-01 11:54:49.000000000 -0500
+@@ -63,6 +63,7 @@
+
+ #if defined(BSD)
+ # define ERR_NO_SUPPORT EPROTONOSUPPORT
++# define RTSIG_MAX NSIG
+ #else
+ # define ERR_NO_SUPPORT EPROTO
+ #endif
+@@ -2837,8 +2838,14 @@
+ * crude, but perhaps just slightly better than doing nothing.
+ */
+ if (cw_volume > 0)
++/* FreeBSD at least uses hz directly, I'll assume other BSDs do too. - db */
++#ifdef BSD
++ argument = frequency != TONE_SILENT
++ ? frequency : 0;
++#else
+ argument = frequency != TONE_SILENT
+ ? KIOCSOUND_CLOCK_TICK_RATE / frequency : 0;
++#endif
+ else
+ argument = 0;
+
diff --git a/comms/unixcw/files/patch-src_cwutils_Makefile b/comms/unixcw/files/patch-src_cwutils_Makefile
new file mode 100644
index 000000000000..bbf2e5541e8d
--- /dev/null
+++ b/comms/unixcw/files/patch-src_cwutils_Makefile
@@ -0,0 +1,11 @@
+--- src/cwutils/Makefile.orig 2007-12-25 09:49:34.000000000 -0500
++++ src/cwutils/Makefile 2007-12-25 09:59:12.000000000 -0500
+@@ -19,7 +19,7 @@
+
+ include ../../Makefile.inc
+ CC = $(AC_CC)
+-CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwlib
++CFLAGS = $(AC_CFLAGS) $(AC_DEFS) -I../cwlib -I${includedir}
+
+ SHELL = /bin/sh
+
diff --git a/comms/unixcw/files/patch-src_xcwcp_Makefile b/comms/unixcw/files/patch-src_xcwcp_Makefile
new file mode 100644
index 000000000000..c81b60b2a8f1
--- /dev/null
+++ b/comms/unixcw/files/patch-src_xcwcp_Makefile
@@ -0,0 +1,11 @@
+--- src/xcwcp/Makefile.orig 2006-07-14 22:54:23.000000000 -0400
++++ src/xcwcp/Makefile 2007-12-28 15:19:25.000000000 -0500
+@@ -31,7 +31,7 @@
+ moc_application.o
+
+ # Link to the shared libcw.
+-LIBS = -L$(QTDIR)/lib -lqt -L../cwlib -lcw
++LIBS = -L$(QTDIR)/lib -L../cwlib -lcw -l${AC_QTLIB} ${AC_LIBS}
+
+ default: all
+
diff --git a/comms/unixcw/pkg-descr b/comms/unixcw/pkg-descr
new file mode 100644
index 000000000000..61d02a4c4e9a
--- /dev/null
+++ b/comms/unixcw/pkg-descr
@@ -0,0 +1,16 @@
+The heart of the package is 'libcw'. This is a library which, when built,
+offers the following basic CW services to a caller program:
+
+ o Morse code character translation tables, and lookup functions
+ o Morse code low-level timing calculations
+ o A 'sidetone' generation and queueing system, using either the system sound
+ card, the console speaker, or both
+ o Optional keying control for an external device, say a transmitter, or an
+ oscillator
+ o CW character and string send routines, tied in with the character lookup
+ o CW receive routines, also tied in to the character lookup
+ o Adaptive speed tracking of received CW
+ o An iambic keyer, with both Curtis 8044 types A and B timing
+ o Straight key emulation
+
+WWW: http://www.ibiblio.org/pub/linux/apps/ham/morse/
diff --git a/comms/unixcw/pkg-plist b/comms/unixcw/pkg-plist
new file mode 100644
index 000000000000..fc103be452d4
--- /dev/null
+++ b/comms/unixcw/pkg-plist
@@ -0,0 +1,11 @@
+bin/cw
+bin/cwcp
+%%XCWCP%%bin/xcwcp
+bin/cwgen
+include/cw.h
+include/cwlib.h
+lib/libcw.a
+lib/libcw.so
+lib/libcw.so.0
+lib/libcw.so.0.0.0
+libdata/pkgconfig/libcw.pc