aboutsummaryrefslogtreecommitdiffstats
path: root/comms
diff options
context:
space:
mode:
Diffstat (limited to 'comms')
-rw-r--r--comms/Makefile1
-rw-r--r--comms/hf/Makefile82
-rw-r--r--comms/hf/distinfo3
-rw-r--r--comms/hf/files/patch-Makefile.in11
-rw-r--r--comms/hf/files/patch-dcf77_audioin.c25
-rw-r--r--comms/hf/files/patch-dcf77_audioout.c25
-rw-r--r--comms/hf/files/patch-dcf77_calccorr.c15
-rw-r--r--comms/hf/files/patch-dcf77_timedec.c15
-rw-r--r--comms/hf/files/patch-doc_man_de_Makefile.in11
-rw-r--r--comms/hf/files/patch-doc_man_hf.152
-rw-r--r--comms/hf/files/patch-hfkernel_fsk_amtor.c10
-rw-r--r--comms/hf/files/patch-hfkernel_fsk_cw.c28
-rw-r--r--comms/hf/files/patch-hfkernel_fsk_elbug.c28
-rw-r--r--comms/hf/files/patch-hfkernel_fsk_rtty.c10
-rw-r--r--comms/hf/files/patch-hfkernel_l1_oss.c18
-rw-r--r--comms/hf/files/patch-hfkernel_main.c23
-rw-r--r--comms/hf/files/patch-hfkernel_mt63_mt63hf.cc13
-rw-r--r--comms/hf/files/patch-hfkernel_mt63_mt63hflink.c175
-rw-r--r--comms/hf/files/patch-hfkernel_mt63_mt63rx.cc12
-rw-r--r--comms/hf/files/patch-hfkernel_mt63_mt63tx.cc12
-rw-r--r--comms/hf/files/patch-hfkernel_mt63_ratecal1.cc12
-rw-r--r--comms/hf/files/patch-hfkernel_mt63_sound.cc14
-rw-r--r--comms/hf/files/patch-hfterm_src_helpgui.c57
-rw-r--r--comms/hf/files/patch-hfterm_src_main.c15
-rw-r--r--comms/hf/files/patch-scripts_Makefile.in20
-rw-r--r--comms/hf/files/patch-scripts_hf241
-rw-r--r--comms/hf/files/patch-scripts_testtest8
-rw-r--r--comms/hf/files/patch-util_channel.c15
-rw-r--r--comms/hf/files/patch-util_reffreq.c27
-rw-r--r--comms/hf/pkg-descr11
-rw-r--r--comms/hf/pkg-plist61
31 files changed, 1050 insertions, 0 deletions
diff --git a/comms/Makefile b/comms/Makefile
index bf822950272f..8ed28de6fb08 100644
--- a/comms/Makefile
+++ b/comms/Makefile
@@ -36,6 +36,7 @@
SUBDIR += hamfax
SUBDIR += hamlib
SUBDIR += hcidump
+ SUBDIR += hf
SUBDIR += hylafax
SUBDIR += ixj
SUBDIR += java-commapi
diff --git a/comms/hf/Makefile b/comms/hf/Makefile
new file mode 100644
index 000000000000..f870b9a9c14d
--- /dev/null
+++ b/comms/hf/Makefile
@@ -0,0 +1,82 @@
+# ports collection makefile for: hf
+# Date created: 31 July 2006
+# Whom: db
+#
+# $FreeBSD$
+#
+
+PORTNAME= hf
+PORTVERSION= 0.7.3
+CATEGORIES= comms hamradio
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= hfterm
+
+MAINTAINER= db@db.net
+COMMENT= Amateur Radio soundcard fsk, pactor 1, amtor, gtor, mt63
+
+RUN_DEPENDS= whiptail:${PORTSDIR}/devel/newt
+
+USE_GNOME= gtk12
+USE_GMAKE= yes
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS= --prefix=${PREFIX} --sysconfdir=${PREFIX} --mandir=${PREFIX}/man
+
+ONLY_FOR_ARCHS= i386
+
+MAN1= dcf77gen.1 dcf77rx.1 hf.1 hfterm.1 hfkernel.1
+
+post-configure:
+ @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|' \
+ ${WRKSRC}/util/Makefile ${WRKSRC}/test/Makefile \
+ ${WRKSRC}/hfkernel/Makefile ${WRKSRC}/dcf77/Makefile \
+ ${WRKSRC}/scripts/Makefile
+
+post-install:
+ ${MKDIR} ${DATADIR}
+ ${MKDIR} ${DATADIR}/hf-examplefiles
+ echo WRKSRC ${WRKSRC}
+.for d in ${WRKSRC}/doc/hf-examplefiles/fix.01 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.02 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.03 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.04 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.05 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.06 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.07 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.08 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.09 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.10 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.11 \
+ ${WRKSRC}/doc/hf-examplefiles/fix.12 \
+ ${WRKSRC}/doc/hf-examplefiles/hfterm.brag \
+ ${WRKSRC}/doc/hf-examplefiles/gag \
+ ${WRKSRC}/doc/hf-examplefiles/littleman.ascii
+ @${INSTALL_DATA} ${WRKSRC}/${d} ${DATADIR}/hf-examplefiles
+.endfor
+
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+.for d in ${WRKSRC}/doc/AUTHORS ${WRKSRC}/doc/README \
+ ${WRKSRC}/doc/index.html ${WRKSRC}/doc/ChangeLog \
+ ${WRKSRC}/doc/chan_formulas.ps ${WRKSRC}/doc/lfconv.jpg \
+ ${WRKSRC}/doc/DE-HF-HOWTO.txt ${WRKSRC}/doc/chan_formulas.tex \
+ ${WRKSRC}/doc/mt63.txt ${WRKSRC}/doc/HF-HOWTO.txt \
+ ${WRKSRC}/doc/dcf77.txt ${WRKSRC}/doc/pactor.ps \
+ ${WRKSRC}/doc/INSTALL ${WRKSRC}/doc/english.txt \
+ ${WRKSRC}/doc/pactor.txt ${WRKSRC}/doc/LIESMICH \
+ ${WRKSRC}/doc/pactor_statediag.fig \
+ ${WRKSRC}/doc/P-MB-list.txt ${WRKSRC}/doc/hf.spec \
+ ${WRKSRC}/doc/su1.priv.txt
+ @${INSTALL_DATA} ${WRKSRC}/${d} ${DOCSDIR}
+.endfor
+ @${ECHO} ""
+ @${ECHO} "hf docs installed in ${DOCSDIR}"
+ @${ECHO} ""
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500000
+BROKEN= doesn't build
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/comms/hf/distinfo b/comms/hf/distinfo
new file mode 100644
index 000000000000..5b8d34d33dcc
--- /dev/null
+++ b/comms/hf/distinfo
@@ -0,0 +1,3 @@
+MD5 (hf-0.7.3.tar.gz) = bb612590b026ae03b72325374b54d946
+SHA256 (hf-0.7.3.tar.gz) = 9e760c1728faa269bf34cc3c560d284fc5696d9bde76ebb0f2510da5d29dd11f
+SIZE (hf-0.7.3.tar.gz) = 776115
diff --git a/comms/hf/files/patch-Makefile.in b/comms/hf/files/patch-Makefile.in
new file mode 100644
index 000000000000..2c11ac12d704
--- /dev/null
+++ b/comms/hf/files/patch-Makefile.in
@@ -0,0 +1,11 @@
+--- Makefile.in.orig Sun Mar 27 13:18:22 2005
++++ Makefile.in Mon Jul 31 08:03:43 2006
+@@ -182,7 +182,7 @@
+ target_cpu = @target_cpu@
+ target_os = @target_os@
+ target_vendor = @target_vendor@
+-SUBDIRS = scripts hfkernel hfterm dcf77 doc test util
++SUBDIRS = scripts hfkernel hfterm dcf77 doc/man test util
+ EXTRA_DIST = depcomp
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
diff --git a/comms/hf/files/patch-dcf77_audioin.c b/comms/hf/files/patch-dcf77_audioin.c
new file mode 100644
index 000000000000..a162d8c10de7
--- /dev/null
+++ b/comms/hf/files/patch-dcf77_audioin.c
@@ -0,0 +1,25 @@
+--- dcf77/audioin.c.orig Sun Jul 30 12:00:54 2006
++++ dcf77/audioin.c Sun Jul 30 12:05:07 2006
+@@ -45,6 +45,9 @@
+ #include <stropts.h>
+ #endif
+ #ifdef HAVE_SYS_CONF_H
++#ifdef __FreeBSD__
++#include <sys/param.h>
++#endif
+ #include <sys/conf.h>
+ #endif
+
+@@ -52,7 +55,12 @@
+ #include <sys/mman.h>
+ #include <sched.h>
+ #include <sys/soundcard.h>
++#ifdef __linux__
+ #include <endian.h>
++#endif
++#ifdef __FreeBSD__
++#include <sys/endian.h>
++#endif
+ #endif
+
+ #include "dcf77.h"
diff --git a/comms/hf/files/patch-dcf77_audioout.c b/comms/hf/files/patch-dcf77_audioout.c
new file mode 100644
index 000000000000..5c8681ae5272
--- /dev/null
+++ b/comms/hf/files/patch-dcf77_audioout.c
@@ -0,0 +1,25 @@
+--- dcf77/audioout.c.orig Sun Jul 30 12:05:54 2006
++++ dcf77/audioout.c Sun Jul 30 12:06:52 2006
+@@ -44,6 +44,9 @@
+ #include <stropts.h>
+ #endif
+ #ifdef HAVE_SYS_CONF_H
++#ifdef __FreeBSD__
++#include <sys/param.h>
++#endif
+ #include <sys/conf.h>
+ #endif
+
+@@ -51,7 +54,12 @@
+ #include <sys/mman.h>
+ #include <sched.h>
+ #include <sys/soundcard.h>
++#ifdef __linux__
+ #include <endian.h>
++#endif
++#ifdef __FreeBSD__
++#include <sys/endian.h>
++#endif
+ #endif
+
+ #include "dcf77.h"
diff --git a/comms/hf/files/patch-dcf77_calccorr.c b/comms/hf/files/patch-dcf77_calccorr.c
new file mode 100644
index 000000000000..8630dd11d8df
--- /dev/null
+++ b/comms/hf/files/patch-dcf77_calccorr.c
@@ -0,0 +1,15 @@
+--- dcf77/calccorr.c.orig Sun Jul 30 15:17:56 2006
++++ dcf77/calccorr.c Sun Jul 30 15:18:39 2006
+@@ -197,7 +197,12 @@
+ {
+ static char head[256], foot[256];
+ char factors[512];
++#ifdef __linux__
+ const char *configfilename = "/etc/hf.conf";
++#endif
++#ifdef __FreeBSD__
++ const char *configfilename = "/usr/local/etc/hf.conf";
++#endif
+ FILE *configfile = NULL;
+ static int prepared = 0;
+
diff --git a/comms/hf/files/patch-dcf77_timedec.c b/comms/hf/files/patch-dcf77_timedec.c
new file mode 100644
index 000000000000..7def5a5f71d8
--- /dev/null
+++ b/comms/hf/files/patch-dcf77_timedec.c
@@ -0,0 +1,15 @@
+--- dcf77/timedec.c.orig Sun Jul 30 12:07:54 2006
++++ dcf77/timedec.c Sun Jul 30 12:10:01 2006
+@@ -136,7 +136,12 @@
+ vlprintf(1, "mktime failed\n");
+ goto error;
+ }
++/* XXX FreeBSD takes care of timezone internally, I don't know about others.
++ * -db (VA3DB)
++ */
++#ifdef __linux__
+ t -= timezone;
++#endif
+ /* t -= tz == ZONE_MESZ ? 7200 : 3600; */
+ /* bug? isn't summer time later than winter time ? */
+ t -= tz == ZONE_MESZ ? 3600 : 7200 ;
diff --git a/comms/hf/files/patch-doc_man_de_Makefile.in b/comms/hf/files/patch-doc_man_de_Makefile.in
new file mode 100644
index 000000000000..ccbc6d8aa8d8
--- /dev/null
+++ b/comms/hf/files/patch-doc_man_de_Makefile.in
@@ -0,0 +1,11 @@
+--- doc/man/de/Makefile.in.orig Mon Jul 31 08:09:35 2006
++++ doc/man/de/Makefile.in Mon Jul 31 08:10:20 2006
+@@ -147,7 +147,7 @@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localstatedir = @localstatedir@
+-mandir = @mandir@/de
++mandir = @mandir@/de.ISO8859-1
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ prefix = @prefix@
diff --git a/comms/hf/files/patch-doc_man_hf.1 b/comms/hf/files/patch-doc_man_hf.1
new file mode 100644
index 000000000000..ca8780c1802c
--- /dev/null
+++ b/comms/hf/files/patch-doc_man_hf.1
@@ -0,0 +1,52 @@
+--- doc/man/hf.1.orig Mon Jul 31 14:09:59 2006
++++ doc/man/hf.1 Mon Jul 31 14:12:42 2006
+@@ -6,11 +6,11 @@
+ .SH "SYNOPSIS"
+ .B hf
+ is invoked just like this, without any options, because all configuration is done
+-in the file /etc/hf.conf.
++in the file /usr/local/etc/hf.conf.
+ .SH "CONTENTS AND DESCRIPTION OF THE PACKAGE"
+ .B hf
+ is the startscript and also the name of the program package.
+-.B /etc/hf.conf
++.B /usr/local/etc/hf.conf
+ is the configuration file for the startscript.
+ .B hfkernel
+ is the 'kernel' of the program, which modulates and demodulates Pactor 1,
+@@ -45,13 +45,13 @@
+ Tnx to Pawel Jalocha, who is also author of MT63, who made this wonderful tool.
+ There are various other test programs.
+ .B HF-HOWTO
+-is the main documentation, found in /usr/share/doc/<packages/>hf
++is the main documentation, found in /usr/local/share/doc/hf
+ or in the doc directory of the hf package.
+ .SH "INSTALL AND FIRST START"
+ Just 'tar -zxvf' the tar.gz package, then run './configure', 'make'
+ and (as root) 'make install'. Or 'rpm -i' the rpm package.
+ hfkernel will be installed "suid root" (by 'chmod 4755 /usr/bin/hfkernel').
+-Run '/usr/bin/hf', for first test from a console as root, then as non-root user.
++Run '/usr/local/bin/hf', for first test from a console as root, then as non-root user.
+ At the start of hfkernel a row of numbers runs down the console or xterm:
+ corrout ... intermediate ...
+ Then start hf as non-root user under X. It will now also start hfterm.
+@@ -72,10 +72,10 @@
+ .B DE-HF-HOWTO
+ (German)
+ and some other interesting texts, the German 'pactor.txt' in
+-/usr/share/doc/<packages/>hf
++/usr/local/share/doc/hf
+ and in the doc directory of the source tree of the hf-package.
+ Short comments are also contained in the configuration file
+-/etc/hf.conf.
++/usr/local/etc/hf.conf.
+ .SH "AUTHORS"
+ hfkernel & first version of hfterm by:
+ .B Thomas M. Sailer,
+@@ -95,4 +95,4 @@
+ and mail to
+ .B hfterm-hackers@lists.sourceforge.net
+ and
+-.SH ".... have a lot of fun !!!"
+\ No newline at end of file
++.SH ".... have a lot of fun !!!"
diff --git a/comms/hf/files/patch-hfkernel_fsk_amtor.c b/comms/hf/files/patch-hfkernel_fsk_amtor.c
new file mode 100644
index 000000000000..b0addbe2657f
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_fsk_amtor.c
@@ -0,0 +1,10 @@
+--- hfkernel/fsk/amtor.c.orig Sun Jul 30 01:38:53 2006
++++ hfkernel/fsk/amtor.c Sun Jul 30 01:39:10 2006
+@@ -32,6 +32,7 @@
+ #include <assert.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <sys/types.h>
+
+ #include "fskl1.h"
+ #include "fskutil.h"
diff --git a/comms/hf/files/patch-hfkernel_fsk_cw.c b/comms/hf/files/patch-hfkernel_fsk_cw.c
new file mode 100644
index 000000000000..b97c79df4322
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_fsk_cw.c
@@ -0,0 +1,28 @@
+--- hfkernel/fsk/cw.c.orig Sun Jul 30 10:49:09 2006
++++ hfkernel/fsk/cw.c Sun Jul 30 11:57:13 2006
+@@ -35,7 +35,16 @@
+ #include <syslog.h>
+ #include <string.h>
+ #include <stdio.h>
++#include <sys/types.h>
++#ifdef __linux__
+ #include <sys/io.h>
++#define IOPERM ioperm
++#endif
++#ifdef __FreeBSD__
++#include <machine/cpufunc.h>
++#include <machine/sysarch.h>
++#define IOPERM i386_set_ioperm
++#endif
+ #include <sys/time.h>
+ #include <time.h>
+ #include <sys/ioctl.h>
+@@ -264,7 +273,7 @@
+ "CW: No serial port specified for elbug.");
+ printf("CW: No serial port specified for elbug.\n");
+ }
+- else if ((err = ioperm(port, 8, 1))) {
++ else if ((err = IOPERM(port, 8, 1))) {
+ printf("CW: permission problem for serial port %04x: ioperm = %d\n",
+ port, err);
+ printf("This program has to be called with root permissions.\n");
diff --git a/comms/hf/files/patch-hfkernel_fsk_elbug.c b/comms/hf/files/patch-hfkernel_fsk_elbug.c
new file mode 100644
index 000000000000..412875302ff6
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_fsk_elbug.c
@@ -0,0 +1,28 @@
+--- hfkernel/fsk/elbug.c.orig Sun Jul 30 10:55:08 2006
++++ hfkernel/fsk/elbug.c Sun Jul 30 12:21:38 2006
+@@ -25,7 +25,16 @@
+ */
+
+ #include <stdio.h>
++#include <sys/types.h>
++#ifdef __linux__
+ #include <sys/io.h>
++#define IOPERM ioperm
++#endif
++#ifdef __FreeBSD__
++#include <machine/cpufunc.h>
++#include <machine/sysarch.h>
++#define IOPERM i386_set_ioperm
++#endif
+ #include <sys/time.h>
+ #include <sys/ioctl.h>
+ #include <fcntl.h>
+@@ -144,7 +153,7 @@
+ exit (0);
+ }
+ }
+- if ((err = ioperm(port, 8, 1))) {
++ if ((err = IOPERM(port, 8, 1))) {
+ printf("permission problem for serial port %04x: ioperm = %d\n",
+ port, err);
+ printf("This program has to be called with root permissions.\n");
diff --git a/comms/hf/files/patch-hfkernel_fsk_rtty.c b/comms/hf/files/patch-hfkernel_fsk_rtty.c
new file mode 100644
index 000000000000..f1f0b1f4d68a
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_fsk_rtty.c
@@ -0,0 +1,10 @@
+--- hfkernel/fsk/rtty.c.orig Sun Jul 30 01:41:43 2006
++++ hfkernel/fsk/rtty.c Sun Jul 30 01:43:29 2006
+@@ -33,6 +33,7 @@
+ #include <syslog.h>
+ #include <string.h>
+ #include <stdio.h>
++#include <sys/types.h>
+
+ #include "fskl1.h"
+ #include "fskutil.h"
diff --git a/comms/hf/files/patch-hfkernel_l1_oss.c b/comms/hf/files/patch-hfkernel_l1_oss.c
new file mode 100644
index 000000000000..77a7e66b2b36
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_l1_oss.c
@@ -0,0 +1,18 @@
+--- hfkernel/l1/oss.c.orig Sun Jul 30 10:58:19 2006
++++ hfkernel/l1/oss.c Sun Jul 30 10:59:19 2006
+@@ -30,7 +30,6 @@
+ #include "config.h"
+ #endif
+
+-#include <asm/byteorder.h>
+ #include <sys/soundcard.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+@@ -44,7 +43,6 @@
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <signal.h>
+-#include <endian.h>
+ #include <pthread.h>
+ #include <syslog.h>
+
diff --git a/comms/hf/files/patch-hfkernel_main.c b/comms/hf/files/patch-hfkernel_main.c
new file mode 100644
index 000000000000..c73bab9dec00
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_main.c
@@ -0,0 +1,23 @@
+--- hfkernel/main.c.orig Sun Jul 30 11:51:24 2006
++++ hfkernel/main.c Sun Jul 30 11:53:03 2006
+@@ -42,13 +42,20 @@
+ #include <signal.h>
+ #include <syslog.h>
+ #include <sys/types.h>
++#ifdef __linux__
+ #include <asm/byteorder.h>
++#endif
+ #include <sys/soundcard.h>
+ #include <sys/socket.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
++#ifdef __linux__
+ #include <endian.h>
++#endif
++#ifdef __FreeBSD__
++#include <sys/endian.h>
++#endif
+ #include <assert.h>
+
+ #ifdef DISABLE_REALTIME
diff --git a/comms/hf/files/patch-hfkernel_mt63_mt63hf.cc b/comms/hf/files/patch-hfkernel_mt63_mt63hf.cc
new file mode 100644
index 000000000000..22e9efb23596
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_mt63_mt63hf.cc
@@ -0,0 +1,13 @@
+--- hfkernel/mt63/mt63hf.cc.orig Sun Jul 30 11:43:28 2006
++++ hfkernel/mt63/mt63hf.cc Sun Jul 30 11:44:07 2006
+@@ -35,6 +35,10 @@
+ #include <errno.h>
+ #include <ctype.h>
+
++#ifdef __FreeBSD__
++#include <unistd.h>
++#endif
++
+ #include "dsp.h"
+ #include "mt63.h"
+ #include "sound.h"
diff --git a/comms/hf/files/patch-hfkernel_mt63_mt63hflink.c b/comms/hf/files/patch-hfkernel_mt63_mt63hflink.c
new file mode 100644
index 000000000000..8e45fb6757a9
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_mt63_mt63hflink.c
@@ -0,0 +1,175 @@
+--- hfkernel/mt63/mt63hflink.c.orig Sat Aug 5 15:52:34 2006
++++ hfkernel/mt63/mt63hflink.c Sat Aug 5 21:17:42 2006
+@@ -112,7 +112,7 @@
+ % MT63RXBUFLEN );
+ */
+ if (pthread_mutex_unlock(&mt63_inputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++ errstr(SEV_FATAL, "pthread_mutex_unlock l1_mt63_input_samples");
+ }
+
+ /* --------------------------------------------------------------------- */
+@@ -150,18 +150,18 @@
+ //printf("%do ",i);
+ mytime += (tinc * nsamples); // nsamples fragments encoded
+ if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++ errstr(SEV_FATAL, "pthread_mutex_unlock l1_mt63_output_samples 1");
+ return 1;
+ } else {
+ if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++ errstr(SEV_FATAL, "pthread_mutex_unlock l1_mt63_output_samples 2");
+ return 0;
+ }
+ }
+ // if it is not yet the time to send sting new
+ printf("mt63 output samples came too early.\n");
+ if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++ errstr(SEV_FATAL, "pthread_mutex_unlock l1_mt63_output_samples 3");
+ return 0;
+ }
+
+@@ -170,7 +170,7 @@
+ static void mt63_inputcleanup(void *dummy)
+ {
+ if (pthread_mutex_unlock(&mt63_inputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++ errstr(SEV_FATAL, "pthread_mutex_unlock mt63_inputcleanup");
+ modefamily = 0;
+ }
+
+@@ -179,21 +179,21 @@
+ void l1_mt63_wait_input_request(void)
+ {
+ if (pthread_mutex_lock(&mt63_inputmut))
+- errstr(SEV_FATAL, "pthread_mutex_lock");
++ errstr(SEV_FATAL, "pthread_mutex_lock 1");
+
+ pthread_cleanup_push(mt63_inputcleanup, NULL);
+
+ if (pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL))
+ errstr(SEV_FATAL, "pthread_setcancelstate");
+ if (pthread_cond_wait(&mt63_inputcond, &mt63_inputmut))
+- errstr(SEV_FATAL, "pthread_cond_wait");
++ errstr(SEV_FATAL, "pthread_cond_wait l1_mt63_wait_input_request");
+
+ pthread_cleanup_pop(0);
+
+ if (pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL))
+ errstr(SEV_FATAL, "pthread_setcancelstate");
+ if (pthread_mutex_unlock(&mt63_inputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++ errstr(SEV_FATAL, "pthread_mutex_unlock l1_mt63_wait_input_request 2");
+ return;
+ }
+
+@@ -211,8 +211,8 @@
+
+ mt63_finish_tx();
+ //printf("mt63 tx finished ...\n");
+- if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++// if (pthread_mutex_unlock(&mt63_outputmut))
++// errstr(SEV_FATAL, "pthread_mutex_unlock mt63_outputcleanup");
+ printf("mt63 outputmutex unlocked...\n");
+ modefamily = 0;
+
+@@ -241,17 +241,17 @@
+ void l1_mt63_wait_output_request(void)
+ {
+ if (pthread_mutex_lock(&mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_mutex_lock");
++ errstr(SEV_FATAL, "pthread_mutex_lock l1_mt63_wait_output_request 1");
+ pthread_cleanup_push(mt63_outputcleanup, NULL);
+ if (pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL))
+ errstr(SEV_FATAL, "pthread_setcancelstate");
+ if (pthread_cond_wait(&mt63_outputcond, &mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_cond_wait");
++ errstr(SEV_FATAL, "pthread_cond_wait l1_mt63_wait_output_request");
+ pthread_cleanup_pop(0);
+ if (pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL))
+ errstr(SEV_FATAL, "pthread_setcancelstate");
+ if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_mutex_unlock");
++ errstr(SEV_FATAL, "pthread_mutex_unlock l1_mt63_wait_output_request 2");
+ return;
+ }
+
+@@ -394,10 +394,10 @@
+ * this long hangover because otherwise receiver's squelch will
+ * cut off tail of the data !
+ */
++ if (pthread_cond_wait(&mt63_outputcond, &mt63_outputmut))
++ errstr(SEV_FATAL, "pthread_cond_wait mt63_finish_tx");
+ for(i=0; i< tx_hangover; i++) {
+ //l1_mt63_wait_output_request(); this causes hang while cleanup!!
+- if (pthread_cond_wait(&mt63_outputcond, &mt63_outputmut))
+- errstr(SEV_FATAL, "pthread_cond_wait");
+ bufprintf(HFAPP_MSG_DATA_MONITOR,
+ //"%02d ", (int)((txchar >> 1) & 0x1f));
+ ".");
+@@ -410,9 +410,9 @@
+ mt63txbuf_written -= MT63TXBUFLEN;
+ }
+ //printf("written %d rest-samples from encodebuf to outbuf...\n", j);
+- if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "mt63 tx: pthread_mutex_unlock");
+ }
++ if (pthread_mutex_unlock(&mt63_outputmut))
++ errstr(SEV_FATAL, "mt63 tx: pthread_mutex_unlock");
+ printf("o.k., flushed encodebuf, %d cycles...\n", i);
+
+ errprintf(SEV_INFO, "mt63 tx: Sending jamming waveform ...\n");
+@@ -420,10 +420,12 @@
+ bufprintf(HFAPP_MSG_DATA_STATUS,
+ "MT63 TX: Sending jamming waveform ...");
+ */
++// if (pthread_mutex_lock(&mt63_outputmut))
++// errstr(SEV_FATAL, "mt63 tx: pthread_mutex_lock");
+ for ( i = 0; i < 20; i++) {
+- l1_mt63_wait_output_request();
+- if (pthread_mutex_lock(&mt63_outputmut))
+- errstr(SEV_FATAL, "mt63 tx: pthread_mutex_lock");
++ l1_mt63_wait_output_request(); /* locks and unlocks mt63_outputmut*/
++// if (pthread_mutex_unlock(&mt63_outputmut))
++// errstr(SEV_FATAL, "mt63 tx: pthread_mutex_unlock");
+ memset(encodebuf, 0, sizeof(encodebuf));
+ mt63_tx_send_jam();
+ for(j = 0; j < encodelen; j++) {
+@@ -432,8 +434,6 @@
+ if (mt63txbuf_written >= MT63TXBUFLEN)
+ mt63txbuf_written -= MT63TXBUFLEN;
+ }
+- if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "mt63 tx: pthread_mutex_unlock");
+ }
+ printf("sent %d cycles of jam ...\n", i);
+ }
+@@ -488,10 +488,10 @@
+ if (pthread_mutex_unlock(&mt63_outputmut))
+ errstr(SEV_FATAL, "mt63 tx: pthread_mutex_unlock");
+ //for(j = 0; j < 24; j++) {
++// if (pthread_mutex_lock(&mt63_outputmut))
++// errstr(SEV_FATAL, "mt63 tx: pthread_mutex_lock");
+ for(;;) {
+- l1_mt63_wait_output_request();
+- if (pthread_mutex_lock(&mt63_outputmut))
+- errstr(SEV_FATAL, "mt63 tx: pthread_mutex_lock");
++ l1_mt63_wait_output_request(); /* locks and unlocks mt63_outputmut */
+ txchar = mt63_getcharbits();
+ //txchar = 'f';
+ bufprintf(HFAPP_MSG_DATA_MONITOR,
+@@ -505,9 +505,9 @@
+ mt63txbuf_written -= MT63TXBUFLEN;
+ }
+ //printf("written %d samples from encodebuf to outbuf...\n",i);
+- if (pthread_mutex_unlock(&mt63_outputmut))
+- errstr(SEV_FATAL, "mt63 tx: pthread_mutex_unlock");
+ }
++ if (pthread_mutex_unlock(&mt63_outputmut))
++ errstr(SEV_FATAL, "mt63 tx: pthread_mutex_unlock");
+ // mt63_outputcleanup(NULL);
+ // pthread_exit(NULL);
+ }
diff --git a/comms/hf/files/patch-hfkernel_mt63_mt63rx.cc b/comms/hf/files/patch-hfkernel_mt63_mt63rx.cc
new file mode 100644
index 000000000000..1a7275dabef3
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_mt63_mt63rx.cc
@@ -0,0 +1,12 @@
+--- hfkernel/mt63/mt63rx.cc.orig Sun Jul 30 11:45:23 2006
++++ hfkernel/mt63/mt63rx.cc Sun Jul 30 11:45:46 2006
+@@ -31,6 +31,9 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <ctype.h>
++#ifdef __FreeBSD__
++#include <unistd.h>
++#endif
+
+ #include "dsp.h"
+ #include "mt63.h"
diff --git a/comms/hf/files/patch-hfkernel_mt63_mt63tx.cc b/comms/hf/files/patch-hfkernel_mt63_mt63tx.cc
new file mode 100644
index 000000000000..c2ff75e86d1d
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_mt63_mt63tx.cc
@@ -0,0 +1,12 @@
+--- hfkernel/mt63/mt63tx.cc.orig Sun Jul 30 11:47:07 2006
++++ hfkernel/mt63/mt63tx.cc Sun Jul 30 11:47:26 2006
+@@ -31,6 +31,9 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <ctype.h>
++#ifdef __FreeBSD__
++#include <unistd.h>
++#endif
+
+ #include "dsp.h"
+ #include "mt63.h"
diff --git a/comms/hf/files/patch-hfkernel_mt63_ratecal1.cc b/comms/hf/files/patch-hfkernel_mt63_ratecal1.cc
new file mode 100644
index 000000000000..8afdd8a207f0
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_mt63_ratecal1.cc
@@ -0,0 +1,12 @@
+--- hfkernel/mt63/ratecal1.cc.orig Sun Jul 30 11:48:34 2006
++++ hfkernel/mt63/ratecal1.cc Sun Jul 30 11:48:59 2006
+@@ -89,6 +89,9 @@
+ #ifdef __linux__
+ #include <unistd.h> // for usleep()
+ #endif
++#ifdef __FreeBSD__
++#include <unistd.h>
++#endif
+
+ // #ifdef __MSDOS__
+ // #include <dos.h> // for delay()
diff --git a/comms/hf/files/patch-hfkernel_mt63_sound.cc b/comms/hf/files/patch-hfkernel_mt63_sound.cc
new file mode 100644
index 000000000000..c9c79958aae1
--- /dev/null
+++ b/comms/hf/files/patch-hfkernel_mt63_sound.cc
@@ -0,0 +1,14 @@
+--- hfkernel/mt63/sound.cc.orig Sun Jul 30 11:01:27 2006
++++ hfkernel/mt63/sound.cc Sun Jul 30 11:41:22 2006
+@@ -30,6 +30,11 @@
+ #include <sys/soundcard.h>
+ #include <sys/ioctl.h>
+ #endif
++#ifdef __FreeBSD__
++#include <unistd.h>
++#include <sys/soundcard.h>
++#include <sys/ioctl.h>
++#endif
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <errno.h>
diff --git a/comms/hf/files/patch-hfterm_src_helpgui.c b/comms/hf/files/patch-hfterm_src_helpgui.c
new file mode 100644
index 000000000000..9c23bca444cb
--- /dev/null
+++ b/comms/hf/files/patch-hfterm_src_helpgui.c
@@ -0,0 +1,57 @@
+--- hfterm/src/helpgui.c.orig Mon Jul 31 15:51:44 2006
++++ hfterm/src/helpgui.c Mon Jul 31 15:55:24 2006
+@@ -426,7 +426,12 @@
+ gtk_container_add (GTK_CONTAINER (scrw_help_4), text_help_4);
+ gtk_tooltips_set_tip (tooltips, text_help_4, _("Left Side English \nRight Side German"), NULL);
+ gtk_text_set_editable (GTK_TEXT (text_help_4), FALSE);
++#ifdef __linux__
+ textinsert("/usr/share/hf/HF-HOWTO.txt", GTK_TEXT(text_help_4));
++#endif
++#ifdef __FreeBSD
++ textinsert("/usr/local/share/hf/HF-HOWTO.txt", GTK_TEXT(text_help_4));
++#endif
+
+ label_help_4 = gtk_label_new (_("HF-HOWTO"));
+ gtk_widget_set_name (label_help_4, "label_help_4");
+@@ -509,8 +514,12 @@
+ gtk_container_add (GTK_CONTAINER (scrw_help_6), text_help_6);
+ gtk_tooltips_set_tip (tooltips, text_help_6, _("Left Side English \nRight Side German"), NULL);
+ gtk_text_set_editable (GTK_TEXT (text_help_6), FALSE);
++#ifdef __linux__
+ textinsert("/usr/share/hf/DE-HF-HOWTO.txt", GTK_TEXT(text_help_6));
+-
++#endif
++#ifdef __FreeBSD__
++ textinsert("/usr/local/share/hf/DE-HF-HOWTO.txt", GTK_TEXT(text_help_6));
++#endif
+ label_help_6 = gtk_label_new (_("DE-HF-HOWTO"));
+ gtk_widget_set_name (label_help_6, "label_help_6");
+ gtk_widget_ref (label_help_6);
+@@ -589,8 +598,12 @@
+ gtk_container_add (GTK_CONTAINER (scrw_help_8), text_help_8);
+ gtk_tooltips_set_tip (tooltips, text_help_8, _("This mailbox list is provided monthly, \nyou can subscribe it via e-mail or packet.\n"), NULL);
+ gtk_text_set_editable (GTK_TEXT (text_help_8), FALSE);
++#ifdef __linux__
+ textinsert("/usr/share/hf/P-MB-list.txt", GTK_TEXT(text_help_8));
+-
++#endif
++#ifdef __FreeBSD__
++ textinsert("/usr/local/share/hf/P-MB-list.txt", GTK_TEXT(text_help_8));
++#endif
+ label_help_8 = gtk_label_new (_("Pactor Mailbox List"));
+ gtk_widget_set_name (label_help_8, "label_help_8");
+ gtk_widget_ref (label_help_8);
+@@ -629,8 +642,12 @@
+ gtk_container_add (GTK_CONTAINER (scrw_help_9), text_help_9);
+ gtk_tooltips_set_tip (tooltips, text_help_9, _("Left Side English \nRight German"), NULL);
+ gtk_text_set_editable (GTK_TEXT (text_help_9), FALSE);
++#ifdef __linux__
+ textinsert("/usr/share/hf/pactor.txt", GTK_TEXT(text_help_9));
+-
++#endif
++#ifdef __FreeBSD__
++ textinsert("/usr/local/share/hf/pactor.txt", GTK_TEXT(text_help_9));
++#endif
+ label_help_9 = gtk_label_new (_("PACTOR spec"));
+ gtk_widget_set_name (label_help_9, "label_help_9");
+ gtk_widget_ref (label_help_9);
diff --git a/comms/hf/files/patch-hfterm_src_main.c b/comms/hf/files/patch-hfterm_src_main.c
new file mode 100644
index 000000000000..2afb2df49b57
--- /dev/null
+++ b/comms/hf/files/patch-hfterm_src_main.c
@@ -0,0 +1,15 @@
+--- hfterm/src/main.c.orig Mon Jul 31 15:52:06 2006
++++ hfterm/src/main.c Mon Jul 31 15:52:49 2006
+@@ -533,7 +533,12 @@
+ struct hfapp_msg msg;
+
+ system("cd");
++#ifdef __linux__
+ system("if ! [ -d hf ] ; then mkdir hf; cp -ruv /usr/share/hf/hf-examplefiles/* hf; fi");
++#endif
++#ifdef __FreeBSD__
++ system("if ! [ -d hf ] ; then mkdir hf; cp -v /usr/local/share/hf/hf-examplefiles/* hf; fi");
++#endif
+ sprintf(versioninfo, "hfterm %s by Tom Sailer, Axel Krause, "
+ "Günther Montag, Pawel Jalocha et al. ", VERSION);
+ display_status(versioninfo);
diff --git a/comms/hf/files/patch-scripts_Makefile.in b/comms/hf/files/patch-scripts_Makefile.in
new file mode 100644
index 000000000000..3f53fabbdedb
--- /dev/null
+++ b/comms/hf/files/patch-scripts_Makefile.in
@@ -0,0 +1,20 @@
+--- scripts/Makefile.in.orig Sun Mar 27 13:18:15 2005
++++ scripts/Makefile.in Sun Jul 30 23:14:54 2006
+@@ -157,7 +157,7 @@
+ target_cpu = @target_cpu@
+ target_os = @target_os@
+ target_vendor = @target_vendor@
+-configdir = /etc
++configdir = /usr/local/etc
+ scripts = hf hftcp ratetry
+ configfiles = hf.conf
+ EXTRA_DIST = $(configfiles) $(scripts) testtest htmlup
+@@ -314,7 +314,7 @@
+ install:
+ $(mkinstalldirs) $(DESTDIR)$(configdir)
+
+- $(INSTALL_DATA) $(configfiles) $(DESTDIR)$(configdir)
++ $(INSTALL_DATA) $(configfiles) $(DESTDIR)$(configdir)/hf.conf.samp
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ $(INSTALL) $(scripts) $(DESTDIR)$(bindir)
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/comms/hf/files/patch-scripts_hf b/comms/hf/files/patch-scripts_hf
new file mode 100644
index 000000000000..5ccc775a9520
--- /dev/null
+++ b/comms/hf/files/patch-scripts_hf
@@ -0,0 +1,241 @@
+--- scripts/hf.orig Sat Mar 26 19:11:18 2005
++++ scripts/hf Mon Jul 31 15:48:32 2006
+@@ -1,7 +1,7 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ #
+-# *** *** /usr/bin/hf *** ***
++# *** *** /usr/local/bin/hf *** ***
+ # *** ***
+ # *** Main Start Script for ***
+ # *** /usr/bin/hfkernel ***
+@@ -12,7 +12,7 @@
+ #
+ #
+ #
+-# There is a system-wide config file: /etc/hf.conf
++# There is a system-wide config file: /usr/local/etc/hf.conf
+ # I will prepare the same defaults here and there,
+ # they will work in most cases.
+ # This script will include the config file,
+@@ -22,7 +22,7 @@
+ # file which should have root access only be in /usr/bin.)
+
+ ## There is a lot of documentation in English and German!
+-## See comments in /etc/hf.conf,
++## See comments in /usr/local/etc/hf.conf,
+ ## See the HF-HOWTO in the doc subdirectory of hf package,
+ ## See F1 in the hfterm window!
+ ## To configure /etc/hf.conf just remove the single comment signs
+@@ -40,11 +40,7 @@
+
+ ## prepare "TELL" as a dialog-like function or just echo, #####################
+ ## depends on X or console ####################################################
+-if which dialog > /dev/null; then
+- DIALOG=dialog
+-else
+- if which whiptail > /dev/null; then
+- function whiptail_wrapper() {
++whiptail_wrapper() {
+ X1="$1"
+ X2="$2"
+ if [ $1 = --yesno ]; then
+@@ -54,7 +50,12 @@
+ fi
+ shift 3
+ whiptail "$X1" "$X2" $X3 "$@"
+- }
++}
++
++if which dialog > /dev/null; then
++ DIALOG=dialog
++else
++ if which whiptail > /dev/null; then
+ DIALOG=whiptail_wrapper
+ else
+ echo "Sorry, dialog or whiptail not found."
+@@ -62,7 +63,7 @@
+ fi
+ fi
+
+-function tell {
++tell() {
+ if [ ! $DISPLAY ] ; then
+ if [ ! -z "$DIALOG" ]; then
+ dialog \
+@@ -84,15 +85,15 @@
+ rc_failed="\033[71G\033[31m\033[1mfailed\033[m"
+
+ ## Prepare greeting message: ##################################################
+-function greeting {
++greeting() {
+ tell "
+ Hello, $startuser, I am $0,
+ the main start script for hfkernel and hfterm,
+ a ham radio CW-RTTY-AMTOR-GTOR-PACTOR-MT63
+ program system with TCP and F6FBB interface.
+-My main configuration file is /etc/hf.conf.
++My main configuration file is /usr/local/etc/hf.conf.
+ Short help is: man hfkernel, man hfterm, man hf.
+-More help in: /usr/share/<doc>/<packages/>hf/HF-HOWTO
++More help in: /usr/local/share/doc/hf/HF-HOWTO
+ or in the graphic 'hfterm' by F1.
+ The homepage of hf is http://hfterm.sf.net.
+ You are welcome to subscribe our mailing list:
+@@ -110,13 +111,11 @@
+ timecorr=1
+ soundcorr=1
+ kerneloptions=
+-config_file=/etc/hf.conf
+-proc_mhzcorr=`cat /proc/cpuinfo | grep MHz | cut -c 11- | head -n 1`
+-# the head is for the case you have 2 processors, like me, .... .. !!!
++config_file=/usr/local/etc/hf.conf
+
+ ## if not yet there, make a directory for the program's files ################
+ ## and fill it with examples, e.g. text macos for cq asnd so on ##############
+-function makepersonaldir {
++makepersonaldir() {
+ cd $HOME
+ if [ ! -d hf ] ; then
+ tell "
+@@ -142,7 +141,7 @@
+ with examples, e.g. text macros...
+
+ "
+- cp -ruv /usr/share/hf/hf-examplefiles/* ./hf
++ cp -v /usr/local/share/hf/hf-examplefiles/* ./hf
+ if [ $? -eq 0 ]; then
+ tell "
+
+@@ -154,7 +153,7 @@
+
+ could not copy examplefiles.
+ Please check if
+-/usr/share/hf/hf-examplefiles/... is there.
++/usr/local/share/hf/hf-examplefiles/... is there.
+
+ "
+ fi
+@@ -163,12 +162,12 @@
+ };
+
+ ## Start hfkernel function: ###################################################
+-function startkernel {
++startkernel() {
+ tell "
+ I will run now:
+ $background_display
+ $alsa_prefix
+-/usr/bin/hfkernel
++/usr/local/bin/hfkernel
+ -a $audio
+ -p $serial
+ -m $mhz -t $timecorr -s $soundcorr
+@@ -178,7 +177,7 @@
+ For any errors, see /usr/share/hf/HF-HOWTO !
+ You can stop the hfkernel with <Strg> c.
+ "
+-$background_display $alsa_prefix /usr/bin/hfkernel \
++$background_display $alsa_prefix /usr/local/bin/hfkernel \
+ -a $audio -p $serial \
+ -m $mhz -t $timecorr -s $soundcorr \
+ $kerneloptions
+@@ -203,7 +202,7 @@
+ Sorry, the hf script is not prepared to accept options.
+
+ To configure the package,
+-please just edit /etc/hf.conf.
++please just edit /usr/local/etc/hf.conf.
+
+
+ "
+@@ -215,7 +214,6 @@
+ . $config_file
+
+ tell "
+-/proc/cpuinfo thinks your cpu runs with $proc_mhzcorr Mhz.
+
+ OPTIONS from main configuration file $config_file:
+ Serial ptt: $serial
+@@ -258,7 +256,7 @@
+
+ Maybe you can stop that process,
+ or you will have to select another serial port
+-in /etc/hf.conf.
++in /usr/local/etc/hf.conf.
+ "
+ exit 1
+ fi
+@@ -282,10 +280,10 @@
+ so that non-root users can run it.
+ But be aware that this can be a security hole.
+ I will do this now by :
+-\"chmod 4755 /usr/bin/hfkernel\".
++\"chmod 4755 /usr/local/bin/hfkernel\".
+
+ "
+- chmod 4755 /usr/bin/hfkernel &> /dev/null
++ chmod 4755 /usr/local/bin/hfkernel &> /dev/null
+ else
+ # if not root
+ tell "
+@@ -294,7 +292,7 @@
+ so that normal users can run it.
+ Be aware that this can be a security hole.
+ Please do as root
+-\"chmod 4755 /usr/bin/hfkernel\".
++\"chmod 4755 /usr/bin/local/hfkernel\".
+ or start this script again as root.
+ "
+ exit 1
+@@ -310,7 +308,7 @@
+ If it works o.k., and you want to run
+ the whole program (including graphic terminal),
+ become normal user, start X,
+-and start the whole program with /usr/bin/hf.
++and start the whole program with /usr/local/bin/hf.
+
+ "
+ startkernel
+@@ -329,7 +327,7 @@
+ If it works o.k., and you want to run
+ the whole program (including graphic terminal),
+ start X,
+-and start the whole program with /usr/bin/hf.
++and start the whole program with /usr/local/bin/hf.
+
+ "
+ startkernel
+@@ -345,7 +343,7 @@
+ startkernel &
+ sleep 1
+ # see if hfterm is running
+- hfterm=`pidof hfterm`
++ hfterm=`pgrep hfterm`
+ if [ $hfterm ] ; then
+ tell "hfterm is running already under X. I restart it."
+ kill $hfterm
+@@ -356,11 +354,11 @@
+ Sorry, I still have some problems with UTF-8...
+ I will remember your LANGUAGE
+ and set LANG to de_DE.ISO-8859-1 for a while...
+-Then I will start /usr/bin/hfterm.
++Then I will start /usr/local/bin/hfterm.
+ "
+ OLDLANG=$LANG
+ LANG=de_DE.ISO-8859-1
+-/usr/bin/hfterm
++/usr/local/bin/hfterm
+ fi
+
+ ## Cleanup ####################################################################
+@@ -370,7 +368,7 @@
+ LANG=$OLDLANG
+ echo "reset LANG to $LANG"
+
+-hfkernel=`pidof hfkernel`
++hfkernel=`pgrep hfkernel`
+ if [ $hfkernel ] ; then
+ echo -e "hf: sending the kill signal to hfkernel ... "
+ hfkernel -k
diff --git a/comms/hf/files/patch-scripts_testtest b/comms/hf/files/patch-scripts_testtest
new file mode 100644
index 000000000000..078ffe3c6e49
--- /dev/null
+++ b/comms/hf/files/patch-scripts_testtest
@@ -0,0 +1,8 @@
+--- scripts/testtest.orig Mon Jul 31 00:29:38 2006
++++ scripts/testtest Mon Jul 31 00:29:01 2006
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/local/bin/bash
+ # test for test and grep and tail ....
+ grepstring=`ps -a | grep hfkernel | grep -v grep | tail -n 1 | tail -c -9`
+ echo grepstring = $grepstring
diff --git a/comms/hf/files/patch-util_channel.c b/comms/hf/files/patch-util_channel.c
new file mode 100644
index 000000000000..225e4f527b4e
--- /dev/null
+++ b/comms/hf/files/patch-util_channel.c
@@ -0,0 +1,15 @@
+--- util/channel.c.orig Sun Jul 30 12:11:34 2006
++++ util/channel.c Sun Jul 30 12:12:23 2006
+@@ -68,7 +68,12 @@
+ #ifdef HAVE_SYS_SOUNDCARD_H
+ #include <sys/soundcard.h>
+ #include <sys/ioctl.h>
++#ifdef __linux__
+ #include <endian.h>
++#endif
++#ifdef __FreeBSD__
++#include <sys/endian.h>
++#endif
+ #endif
+
+ #ifdef DISABLE_REALTIME
diff --git a/comms/hf/files/patch-util_reffreq.c b/comms/hf/files/patch-util_reffreq.c
new file mode 100644
index 000000000000..4a13ecb81425
--- /dev/null
+++ b/comms/hf/files/patch-util_reffreq.c
@@ -0,0 +1,27 @@
+--- util/reffreq.c.orig Wed Jan 26 10:03:20 2005
++++ util/reffreq.c Sun Jul 30 14:45:10 2006
+@@ -50,7 +50,10 @@
+ #include <asm/page.h>
+ #include <endian.h>
+ #endif
+-
++#ifdef __FreeBSD__
++#include <sys/soundcard.h>
++#include <sys/endian.h>
++#endif
+ #if TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+ # include <time.h>
+@@ -108,7 +111,12 @@
+ {
+ static char head[256], foot[256];
+ char factors[512];
++#ifdef __linux__
+ const char *configfilename = "/etc/hf.conf";
++#endif
++#ifdef __FreeBSD__
++ const char *configfilename = "/usr/local/etc/hf.conf";
++#endif
+ FILE *configfile = NULL;
+ static int prepared = 0;
+
diff --git a/comms/hf/pkg-descr b/comms/hf/pkg-descr
new file mode 100644
index 000000000000..a4eebd87bad0
--- /dev/null
+++ b/comms/hf/pkg-descr
@@ -0,0 +1,11 @@
+hf is a gtk+-based linux ham radio fsk digimode program, which can do also
+the realtime ARQ modes pactor 1, amtor, gtor without a ptc, only with a
+soundcard and a pc and linux(FreeBSD), all of which need not be the newest.
+The core of hf, the heart of the program (hfkernel) is a real master-piece
+of code, it has originally been made by Tom Sailer, many thanks Tom!
+hf can also do MT63 and has a CW elbug function.
+
+WWW: http://www.hf.webmasternet.org
+
+- Diane Bruce, VA3DB
+db@db.net
diff --git a/comms/hf/pkg-plist b/comms/hf/pkg-plist
new file mode 100644
index 000000000000..70ae5ca463b0
--- /dev/null
+++ b/comms/hf/pkg-plist
@@ -0,0 +1,61 @@
+bin/addnoise
+bin/channel
+bin/dcf77gen
+bin/dcf77rx
+bin/elbug
+bin/hf
+bin/hfkernel
+bin/hftcp
+bin/hfterm
+bin/morsecod
+bin/mt63rx
+bin/mt63trx
+bin/mt63tx
+bin/paccalc
+bin/peakrms
+bin/portecho
+bin/ratecal1
+bin/ratetry
+bin/reffreq
+etc/hf.conf.samp
+man/de.ISO8859-1/man1/hf.1
+man/de.ISO8859-1/man1/hfkernel.1
+man/de.ISO8859-1/man1/hfterm.1
+%%DATADIR%%/hf-examplefiles/fix.01
+%%DATADIR%%/hf-examplefiles/fix.02
+%%DATADIR%%/hf-examplefiles/fix.03
+%%DATADIR%%/hf-examplefiles/fix.04
+%%DATADIR%%/hf-examplefiles/fix.05
+%%DATADIR%%/hf-examplefiles/fix.06
+%%DATADIR%%/hf-examplefiles/fix.07
+%%DATADIR%%/hf-examplefiles/fix.08
+%%DATADIR%%/hf-examplefiles/fix.09
+%%DATADIR%%/hf-examplefiles/fix.10
+%%DATADIR%%/hf-examplefiles/fix.11
+%%DATADIR%%/hf-examplefiles/fix.12
+%%DATADIR%%/hf-examplefiles/gag
+%%DATADIR%%/hf-examplefiles/hfterm.brag
+%%DATADIR%%/hf-examplefiles/littleman.ascii
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
+%%PORTDOCS%%%%DOCSDIR%%/DE-HF-HOWTO.txt
+%%PORTDOCS%%%%DOCSDIR%%/HF-HOWTO.txt
+%%PORTDOCS%%%%DOCSDIR%%/INSTALL
+%%PORTDOCS%%%%DOCSDIR%%/LIESMICH
+%%PORTDOCS%%%%DOCSDIR%%/P-MB-list.txt
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/chan_formulas.ps
+%%PORTDOCS%%%%DOCSDIR%%/chan_formulas.tex
+%%PORTDOCS%%%%DOCSDIR%%/dcf77.txt
+%%PORTDOCS%%%%DOCSDIR%%/english.txt
+%%PORTDOCS%%%%DOCSDIR%%/hf.spec
+%%PORTDOCS%%%%DOCSDIR%%/index.html
+%%PORTDOCS%%%%DOCSDIR%%/lfconv.jpg
+%%PORTDOCS%%%%DOCSDIR%%/mt63.txt
+%%PORTDOCS%%%%DOCSDIR%%/pactor.ps
+%%PORTDOCS%%%%DOCSDIR%%/pactor.txt
+%%PORTDOCS%%%%DOCSDIR%%/pactor_statediag.fig
+%%PORTDOCS%%%%DOCSDIR%%/su1.priv.txt
+@dirrm %%DATADIR%%/hf-examplefiles
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%