diff options
author | Pav Lucistnik <pav@FreeBSD.org> | 2004-07-14 16:09:39 +0000 |
---|---|---|
committer | Pav Lucistnik <pav@FreeBSD.org> | 2004-07-14 16:09:39 +0000 |
commit | 004697d45d2a5ed5a4c4e83cbd12ac53fbf114d9 (patch) | |
tree | 2413bc4495482d5286bfb8cf26f9cb86dd88ef0a /comms/linrad | |
parent | Update to 2.0.99 and make fetcheable again. (diff) |
Add linrad, Amateur Radio DSP utility (SDR)
PR: ports/68873
Submitted by: Diane Bruce <db@heceta.db.net>
Diffstat (limited to 'comms/linrad')
-rw-r--r-- | comms/linrad/Makefile | 53 | ||||
-rw-r--r-- | comms/linrad/distinfo | 2 | ||||
-rw-r--r-- | comms/linrad/files/patch-Makefile.in | 57 | ||||
-rw-r--r-- | comms/linrad/files/patch-configure.in | 31 | ||||
-rw-r--r-- | comms/linrad/files/patch-hwaredriver.c | 19 | ||||
-rw-r--r-- | comms/linrad/files/patch-main.c | 37 | ||||
-rw-r--r-- | comms/linrad/files/patch-modesub.c | 37 | ||||
-rw-r--r-- | comms/linrad/files/patch-setad.c | 390 | ||||
-rw-r--r-- | comms/linrad/files/patch-tune.c | 15 | ||||
-rw-r--r-- | comms/linrad/files/patch-uidef.h | 9 | ||||
-rw-r--r-- | comms/linrad/files/patch-uivar.c | 11 | ||||
-rw-r--r-- | comms/linrad/files/patch-wcw.c | 28 | ||||
-rw-r--r-- | comms/linrad/pkg-descr | 10 | ||||
-rw-r--r-- | comms/linrad/pkg-plist | 14 |
14 files changed, 713 insertions, 0 deletions
diff --git a/comms/linrad/Makefile b/comms/linrad/Makefile new file mode 100644 index 000000000000..d5802d799377 --- /dev/null +++ b/comms/linrad/Makefile @@ -0,0 +1,53 @@ +# ports collection makefile for: linrad +# Date created: 7 July 2004 +# Whom: db +# +# $FreeBSD$ +# + +PORTNAME= linrad +PORTVERSION= 0.16a +CATEGORIES= comms +MASTER_SITES= http://www.nitehawk.com/sm5bsz/linuxdsp/archive/ +DISTNAME= lir01-20 +EXTRACT_SUFX= .tbz +DIST_SUBDIR= ${PORTNAME} + +MAINTAINER= db@db.net +COMMENT= Amateur Radio DSP utility (SDR) + +LIB_DEPENDS= vga.1:${PORTSDIR}/graphics/svgalib +BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm + +WRKSRC= ${WRKDIR}/${PORTNAME}-01.20 + +USE_AUTOCONF_VER= 253 +HAS_CONFIGURE= yes +USE_BZIP2= yes +USE_REINPLACE= yes + +post-patch: + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/configure.in + +do-install: + ${INSTALL_PROGRAM} -m04555 ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/${PORTNAME} +.if !defined(NOPORTDOCS) + ${MKDIR} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/z_APM.txt ${DOCSDIR}/z_APM.txt + ${INSTALL_DATA} ${WRKSRC}/z_BUFFERS.txt ${DOCSDIR}/z_BUFFERS.txt + ${INSTALL_DATA} ${WRKSRC}/z_CALIBRATE.txt ${DOCSDIR}/z_CALIBRATE.txt + ${INSTALL_DATA} ${WRKSRC}/z_COPYRIGHT.txt ${DOCSDIR}/z_COPYRIGHT.txt + ${INSTALL_DATA} ${WRKSRC}/z_GIFINFO.txt ${DOCSDIR}/z_GIFINFO.txt + ${INSTALL_DATA} ${WRKSRC}/z_INSTALL.txt ${DOCSDIR}/z_INSTALL.txt + ${INSTALL_DATA} ${WRKSRC}/z_MLOCK.txt ${DOCSDIR}/z_MLOCK.txt + ${INSTALL_DATA} ${WRKSRC}/z_SETTINGS.txt ${DOCSDIR}/z_SETTINGS.txt + ${INSTALL_DATA} ${WRKSRC}/z_SPEED.txt ${DOCSDIR}/z_SPEED.txt + ${INSTALL_DATA} ${WRKSRC}/z_SVGALIB.txt ${DOCSDIR}/z_SVGALIB.txt + ${INSTALL_DATA} ${WRKSRC}/z_USERS_HWARE.txt ${DOCSDIR}/z_USERS_HWARE.txt + ${INSTALL_DATA} ${WRKSRC}/z_USLEEP.txt ${DOCSDIR}/z_USLEEP.txt + @${ECHO} "" + @${ECHO} "linrad docs installed in ${DOCSDIR}" + @${ECHO} "" +.endif + +.include <bsd.port.mk> diff --git a/comms/linrad/distinfo b/comms/linrad/distinfo new file mode 100644 index 000000000000..904edfa16a75 --- /dev/null +++ b/comms/linrad/distinfo @@ -0,0 +1,2 @@ +MD5 (linrad/lir01-20.tbz) = 34b6f5ef52adf8b9a8af444db43ddf70 +SIZE (linrad/lir01-20.tbz) = 330472 diff --git a/comms/linrad/files/patch-Makefile.in b/comms/linrad/files/patch-Makefile.in new file mode 100644 index 000000000000..4f1f06aa1eee --- /dev/null +++ b/comms/linrad/files/patch-Makefile.in @@ -0,0 +1,57 @@ +--- Makefile.in.orig Tue May 18 09:43:30 2004 ++++ Makefile.in Fri Jul 9 00:43:44 2004 +@@ -1,11 +1,14 @@ ++INCLUDE= /usr/local/include ++LIBS= /usr/local/lib ++ + + .c.o: +-# gcc -I/usr/local/include -c -o $*.o $< +- gcc -O -W -Wimplicit -Wreturn-type -Wformat \ +--Wunused -Wcomment -Wchar-subscripts -Wshadow -Wuninitialized \ +--Wparentheses -Wstrict-prototypes -Werror -ffast-math -fforce-mem \ +--fomit-frame-pointer -c -o $*.o \ +-$< ++ ${CC} -I${INCLUDE} -c -o $*.o $< ++# gcc -O -W -Wimplicit -Wreturn-type -Wformat \ ++#-Wunused -Wcomment -Wchar-subscripts -Wshadow -Wuninitialized \ ++#-Wparentheses -Wstrict-prototypes -Werror -ffast-math -fforce-mem \ ++#-fomit-frame-pointer -c -o $*.o \ ++#$< + + .s.o: + nasm -w-orphan-labels -felf -s $< +@@ -23,7 +26,7 @@ + tune.o txtest.o network.o mouse.o freq_control.o vgatest mousetest morse.o \ + cwspeed.o coh_osc.o cw_carrier.o + +- gcc -olinrad -lvgagl -lvga -lm \ ++ ${CC} -I${INCLUDE} -L${LIBS} -olinrad -lvgagl -lvga -lm \ + -Wl,-s,-Map,linrad.map,-warn-common,--cref\ + main.o ui.o setvga.o setad.o fft1.o buf.o mouse.o wide_graph.o \ + getiq.o fft0.o rxtest.o hires_graph.o fftasm.o baseb_graph.o mix2.o \ +@@ -37,10 +40,10 @@ + cw_carrier.o fft3.o + + vgatest: vgatest.o +- gcc -ovgatest -lvgagl -lvga -lm -Wl -s vgatest.o ++ ${CC} -I${INCLUDE} -ovgatest -L${LIBS} -lvgagl -lvga -lm -Wl -s vgatest.o + + mousetest: mousetest.o +- gcc -omousetest -lvgagl -lvga -lm -Wl -s mousetest.o ++ ${CC} -I${INCLUDE} -omousetest -L${LIBS} -lvgagl -lvga -lm -Wl -s mousetest.o + + afc_graph.o : globdef.h uidef.h fft1def.h fft2def.h screendef.h vernr.h \ + seldef.h llsqdef.h sigdef.h +@@ -126,3 +129,11 @@ + configure : Makefile.in conf.h.in configure.in + rm -f configure + autoconf ++ ++all: vgatest mousetest linrad ++ ++clean: ++ rm -f vgatest mousetest linrad *.o ++ ++install: ++ install -oroot -m04566 linrad ${PREFIX}/bin/linrad diff --git a/comms/linrad/files/patch-configure.in b/comms/linrad/files/patch-configure.in new file mode 100644 index 000000000000..86a164a68cb2 --- /dev/null +++ b/comms/linrad/files/patch-configure.in @@ -0,0 +1,31 @@ +--- configure.in.orig Tue May 18 09:43:30 2004 ++++ configure.in Fri Jul 9 12:49:33 2004 +@@ -2,13 +2,13 @@ + rm -f conf.h + AC_INIT(main.c) + AC_CHECK_FILE( /usr/lib/oss/soundcard.h, OSSN="1") +-AC_CHECK_FILE( /usr/local/lib/oss/soundcard.h, OSSN="3") ++AC_CHECK_FILE( %%LOCALBASE%%/lib/oss/soundcard.h, OSSN="3") + AC_CHECK_FILE( /lib/oss/soundcard.h, OSSN="5") + AC_CHECK_FILE( /var/lib/oss/soundcard.h, OSSN="7") + AC_CHECK_FILE( /opt/oss/soundcard.h, OSSN="9") + AC_CHECK_FILE( /root/oss/soundcard.h, OSSN="11") + AC_CHECK_FILE( /usr/lib/oss/include/sys/soundcard.h, OSSN="2") +-AC_CHECK_FILE( /usr/local/lib/oss/include/sys/soundcard.h, OSSN="4") ++AC_CHECK_FILE( %%LOCALBASE%%/lib/oss/include/sys/soundcard.h, OSSN="4") + AC_CHECK_FILE( /lib/oss/include/sys/soundcard.h, OSSN="6") + AC_CHECK_FILE( /var/lib/oss/include/sys/soundcard.h, OSSN="8") + AC_CHECK_FILE( /opt/oss/include/sys/soundcard.h, OSSN="10") +@@ -25,10 +25,10 @@ + AC_SUBST(USERHWDEF) + AC_CHECK_FILE( ./users_hwaredef.h, DEPS2="users_hwaredef.h") + AC_SUBST(DEPS2) +-AC_CHECK_HEADER(vga.h,, AC_MSG_ERROR( ++AC_CHECK_HEADER(%%LOCALBASE%%/include/vga.h,, AC_MSG_ERROR( + Must have svgalib package installed to compile + vga.h missing!!!)) +-AC_CHECK_HEADER(vgagl.h,, AC_MSG_ERROR( ++AC_CHECK_HEADER(%%LOCALBASE%%/include/vgagl.h,, AC_MSG_ERROR( + Must have svgalib package installed to compile + vgagl.h missing!!!)) + AC_CHECK_FILE( /usr/include/png.h, IMGFMT="1") diff --git a/comms/linrad/files/patch-hwaredriver.c b/comms/linrad/files/patch-hwaredriver.c new file mode 100644 index 000000000000..17764dedba94 --- /dev/null +++ b/comms/linrad/files/patch-hwaredriver.c @@ -0,0 +1,19 @@ +--- hwaredriver.c.orig Tue May 18 09:43:30 2004 ++++ hwaredriver.c Fri Jul 9 11:26:15 2004 +@@ -1,6 +1,6 @@ + + #include <vga.h> +-#include <sys/io.h> ++#include <machine/cpufunc.h> + #include <ctype.h> + #include "conf.h" + #include "globdef.h" +@@ -169,7 +169,7 @@ + void users_open_devices(void) + { + // Get permission to write to the parallel port +-ioperm(HWARE_PORT,4,1); ++i386_set_ioperm(HWARE_PORT,4,1); + allow_parport=1; + } + diff --git a/comms/linrad/files/patch-main.c b/comms/linrad/files/patch-main.c new file mode 100644 index 000000000000..8207749a98c1 --- /dev/null +++ b/comms/linrad/files/patch-main.c @@ -0,0 +1,37 @@ +--- main.c.orig Thu Jul 8 18:24:25 2004 ++++ main.c Thu Jul 8 18:25:02 2004 +@@ -355,7 +355,9 @@ + end_program(436); + } + lir_errors:; ++#if 0 + if(ui.memlock == 0)munlockall(); ++#endif + close_all_except_vga(); + if(lir_status > LIR_OK) + { +@@ -640,7 +642,9 @@ + { + bufreduce:; + vga_clear(); ++#if 0 + if(ui.memlock == 0)munlockall(); ++#endif + settextcolor(15); + switch (lir_status) + { +@@ -854,12 +858,14 @@ + else + { + if(chr != 'Y')goto gtswap; ++#if 0 + if(mlockall(MCL_CURRENT) != 0) + { + if(errno == EPERM)end_program(1168); + if(errno == ENOMEM)end_program(1169); + end_program(1170); + } ++#endif + } + clearscreen(); + printf("Use usleep when the CPU is not needed\nRead z_USLEEP.txt for info."); diff --git a/comms/linrad/files/patch-modesub.c b/comms/linrad/files/patch-modesub.c new file mode 100644 index 000000000000..7dbc0ca8afbe --- /dev/null +++ b/comms/linrad/files/patch-modesub.c @@ -0,0 +1,37 @@ +--- modesub.c.orig Tue May 18 09:43:30 2004 ++++ modesub.c Fri Jul 9 11:17:15 2004 +@@ -5,7 +5,7 @@ + #include <unistd.h> + #include <ctype.h> + #include <sys/mman.h> +-#include <sys/io.h> ++#include <machine/cpufunc.h> + #include "globdef.h" + #include "uidef.h" + #include "fft1def.h" +@@ -1068,6 +1068,7 @@ + j++; + if(j > 1000) + { ++#if 0 + if(mlockall(MCL_CURRENT) != 0) + { + handle[0]=(int)(chk_free(testbuf)); +@@ -1075,6 +1076,7 @@ + return 0; + } + j=0; ++#endif + } + } + } +@@ -1597,7 +1599,9 @@ + idle_start=recent_time; + if(ui.memlock == 0) + { ++#if 0 + if(mlockall(MCL_CURRENT) != 0)lir_status=LIR_MEMERR; ++#endif + } + work_flag=0; + diff --git a/comms/linrad/files/patch-setad.c b/comms/linrad/files/patch-setad.c new file mode 100644 index 000000000000..0b9098d7d610 --- /dev/null +++ b/comms/linrad/files/patch-setad.c @@ -0,0 +1,390 @@ +--- setad.c.orig Tue May 18 09:43:30 2004 ++++ setad.c Thu Jul 8 14:17:52 2004 +@@ -16,11 +16,11 @@ + #define ABOVE_MAX_SPEED 768000 + #if SND_DEV == 1 + #define DEVNAME_SIZE 12 +-char devname[DEVNAME_SIZE]="/dev/dsp "; ++char dev_name[DEVNAME_SIZE]="/dev/dsp "; + #define DEVNAMPOS 8 + #else + #define DEVNAME_SIZE 18 +-char devname[DEVNAME_SIZE]="/dev/sound/dsp "; ++char dev_name[DEVNAME_SIZE]="/dev/sound/dsp "; + #define DEVNAMPOS 14 + #endif + +@@ -36,7 +36,7 @@ + sync(); + } + +-void make_devname(int n) ++void make_dev_name(int n) + { + int k,num,m; + if(n < 0)end_program(9235); +@@ -47,13 +47,13 @@ + m=num/10; + if(m > 0) + { +- devname[k]=m+'0'; ++ dev_name[k]=m+'0'; + k++; + } +-devname[k]=num-m*10+'0'; +-if(devname[k]<'0')devname[k]=0; ++dev_name[k]=num-m*10+'0'; ++if(dev_name[k]<'0')dev_name[k]=0; + k++; +-devname[k]=0; ++dev_name[k]=0; + } + + void set_da_parms(void) +@@ -148,14 +148,14 @@ + if(disksave_flag == 2 || network_flag == 2)return; + if( (ui.input_mode&NO_DUPLEX) != 0 && audio_out != -1)return; + if( (audio_in) != -1)end_program(1000); +-make_devname(ui.ad_device_no&255); +-audio_in=open( devname ,ui.ad_device_mode , 0); ++make_dev_name(ui.ad_device_no&255); ++audio_in=open( dev_name ,ui.ad_device_mode , 0); + if(audio_in == -1)end_program(1007); + if(ui.ad_device_no > 255) + { + i=ui.ad_device_no/255-1; +- make_devname(i); +- audio_in2=open( devname ,ui.ad_device_mode , 0); ++ make_dev_name(i); ++ audio_in2=open( dev_name ,ui.ad_device_mode , 0); + if(audio_in2 == -1)end_program(1174); + } + if(ui.ad_frag != 0) +@@ -238,8 +238,8 @@ + if(disksave_flag >=2) + { + if(audio_in != -1)end_program(9865); +- make_devname(ui.ad_device_no&255); +- audio_out=open( devname ,O_WRONLY , 0); ++ make_dev_name(ui.ad_device_no&255); ++ audio_out=open( dev_name ,O_WRONLY , 0); + if(audio_out == -1)end_program(1086); + goto set_da; + } +@@ -275,8 +275,8 @@ + } + else + { +- make_devname(ui.da_device_no); +- audio_out=open( devname ,O_WRONLY|O_NONBLOCK , 0); ++ make_dev_name(ui.da_device_no); ++ audio_out=open( dev_name ,O_WRONLY|O_NONBLOCK , 0); + if(audio_out == -1)end_program(1017); + set_da:; + // Set a small fragment size so we can stop playing quickly. +@@ -397,24 +397,24 @@ + for(device_no=0; device_no<MAX_DEVNAMES; device_no++) + { + dev_flag[device_no]=0; +- make_devname(device_no); +- fprintf(sndlog,"Checking %s\n",devname); ++ make_dev_name(device_no); ++ fprintf(sndlog,"Checking %s\n",dev_name); + flush_sync(); + for(mode=0; mode<3; mode++) + { + k=1<<mode; + sprintf(s, + "Trying to open %s %s. Device defective if system hangs here. Read %s ", +- devname, devmode_txt[mode],logfile_name); ++ dev_name, devmode_txt[mode],logfile_name); + flush_sync(); + settextcolor(12); + xytext(0,line+1,s); + settextcolor(7); +- audio_out=open( devname, devmodes[mode]|O_NONBLOCK, 0); ++ audio_out=open( dev_name, devmodes[mode]|O_NONBLOCK, 0); + if(audio_out != -1) + { + for(nn=0; nn<80; nn++)fprintf(sndlog,"-"); +- fprintf(sndlog,"\n%s opened as %s ",devname, devmode_txt[mode]); ++ fprintf(sndlog,"\n%s opened as %s ",dev_name, devmode_txt[mode]); + flush_sync(); + rdwr_fmt=16; + rdwr_channels=0; +@@ -575,7 +575,7 @@ + if( (dev_flag[device_no]&1) == 1) + { + sprintf(ss,"\n%02d:%12s %7d Hz %d Chan. %d bit", +- device_no,devname,dev_rd_speed[device_no], ++ device_no,dev_name,dev_rd_speed[device_no], + dev_rd_channels[device_no], + dev_rd_bits[device_no]); + } +@@ -584,7 +584,7 @@ + if( (dev_flag[device_no]&2) == 2) + { + sprintf(ss,"\n%02d:%12s %7d Hz %d Chan. %d bit", +- device_no,devname,dev_wr_speed[device_no], ++ device_no,dev_name,dev_wr_speed[device_no], + dev_wr_channels[device_no], + dev_wr_bits[device_no]); + } +@@ -631,11 +631,11 @@ + color=0x17; + sprintf(&ss[maxcolumn], + "\n%02d:%12s %7d Hz %d Chan. %d bit %s", +- device_no,devname,dev_wr_speed[device_no], ++ device_no,dev_name,dev_wr_speed[device_no], + dev_wr_channels[device_no], + dev_wr_bits[device_no],devmode_txt[1]); + sprintf(ss,"\n%02d:%12s %7d Hz %d Chan. %d bit %s", +- device_no,devname,dev_rd_speed[device_no], ++ device_no,dev_name,dev_rd_speed[device_no], + dev_rd_channels[device_no], + dev_rd_bits[device_no],devmode_txt[0]); + } +@@ -649,17 +649,17 @@ + color=0x17; + sprintf(&ss[2*maxcolumn], + "\n%02d:%12s %7d Hz %d Chan. %d bit %s", +- device_no,devname,dev_wr_speed[device_no], ++ device_no,dev_name,dev_wr_speed[device_no], + dev_wr_channels[device_no], + dev_wr_bits[device_no],devmode_txt[1]); + sprintf(&ss[maxcolumn], + "\n%02d:%12s %7d Hz %d Chan. %d bit %s", +- device_no,devname,dev_rd_speed[device_no], ++ device_no,dev_name,dev_rd_speed[device_no], + dev_rd_channels[device_no], + dev_rd_bits[device_no],devmode_txt[0]); + sprintf(ss, + "\n%02d:%12s %7d Hz %d Chan. %d bit %s", +- device_no,devname,dev_rdwr_speed[device_no], ++ device_no,dev_name,dev_rdwr_speed[device_no], + dev_rdwr_channels[device_no], + dev_rdwr_bits[device_no],devmode_txt[2]); + } +@@ -672,12 +672,12 @@ + color=0x17; + sprintf(&ss[maxcolumn], + "\n%02d:%12s %7d Hz %d Chan. %d bit %s", +- device_no,devname,dev_wr_speed[device_no], ++ device_no,dev_name,dev_wr_speed[device_no], + dev_wr_channels[device_no], + dev_wr_bits[device_no],devmode_txt[1]); + sprintf(ss, + "\n%02d:%12s %7d Hz %d Chan. %d bit %s %s", +- device_no,devname,dev_rd_speed[device_no], ++ device_no,dev_name,dev_rd_speed[device_no], + dev_rd_channels[device_no], dev_rd_bits[device_no], + devmode_txt[0],devmode_txt[2]); + } +@@ -686,12 +686,12 @@ + color=0x1d; + sprintf(&ss[maxcolumn], + "\n%02d:%12s %7d Hz %d Chan. %d bit %s %s", +- device_no,devname,dev_wr_speed[device_no], ++ device_no,dev_name,dev_wr_speed[device_no], + dev_wr_channels[device_no], dev_wr_bits[device_no], + devmode_txt[1],devmode_txt[2]); + sprintf(ss, + "\n%02d:%12s %7d Hz %d Chan. %d bit %s", +- device_no,devname,dev_rd_speed[device_no], ++ device_no,dev_name,dev_rd_speed[device_no], + dev_rd_channels[device_no], dev_rd_bits[device_no], + devmode_txt[0]); + } +@@ -777,8 +777,8 @@ + } + } + vga_clear(); +-make_devname(ui.ad_device_no); +-fprintf(sndlog,"\n\n %s selected by user for input.",devname); ++make_dev_name(ui.ad_device_no); ++fprintf(sndlog,"\n\n %s selected by user for input.",dev_name); + fprintf(sndlog," dev_flag=%d",dev_flag[ui.ad_device_no]); + flush_sync(); + // High end users might need two devices to read four A/D channels. +@@ -819,8 +819,8 @@ + if(vga_inkey != 'Y')goto gt_dual; + vga_clear(); + fprintf(sndlog,"\nUser wants to try to open two read devices"); +- make_devname(ui.ad_device_no); +- audio_in=open( devname, O_RDONLY, 0); ++ make_dev_name(ui.ad_device_no); ++ audio_in=open( dev_name, O_RDONLY, 0); + if(audio_in == -1)end_program(1102); + // Check for DSP_CAP_TRIGGER capability + if(ioctl(audio_in, SNDCTL_DSP_GETCAPS,&caps) == -1)end_program(1182); +@@ -834,14 +834,14 @@ + if(ioctl(audio_in, SNDCTL_DSP_CHANNELS, &j) == -1)end_program(1185); + if(j != 2)end_program(1186); + } +- make_devname(i); +- audio_in2=open( devname, O_RDONLY|O_NONBLOCK, 0); ++ make_dev_name(i); ++ audio_in2=open( dev_name, O_RDONLY|O_NONBLOCK, 0); + if(audio_in2 != -1) + { + line++; +- fprintf(sndlog,"\n%s opened as second read device",devname); ++ fprintf(sndlog,"\n%s opened as second read device",dev_name); + sprintf(s,"\n%02d:%12s %7d Hz %d Chan. %d bit", +- i,devname,dev_rd_speed[i], dev_rd_channels[i], ++ i,dev_name,dev_rd_speed[i], dev_rd_channels[i], + dev_rd_bits[i]); + xytext(0,line,s); + close(audio_in2); +@@ -866,13 +866,13 @@ + goto get_addev2; + } + // We store the second A/D device in the second byte of ad_device_no +- make_devname(i); ++ make_dev_name(i); + ui.ad_device_no+=256*(i+1); + for(i=0; i<MAX_DEVNAMES; i++) + { + dev_flag[i]&=255; + } +- audio_in2=open( devname, O_RDONLY|O_NONBLOCK, 0); ++ audio_in2=open( dev_name, O_RDONLY|O_NONBLOCK, 0); + if(audio_in2 == -1)end_program(1172); + // Check for DSP_CAP_TRIGGER capability + if(ioctl(audio_in2, SNDCTL_DSP_GETCAPS,&caps) == -1)end_program(1182); +@@ -883,7 +883,7 @@ + close(audio_in2); + goto skip_dual_devices; + } +- fprintf(sndlog,"\n %s is second input device.",devname); ++ fprintf(sndlog,"\n %s is second input device.",dev_name); + ui.input_mode=TWO_CHANNELS+IQ_DATA; + ui.rx_channels=2; + ui.ad_channels=4; +@@ -894,7 +894,7 @@ + } + // Now that we decided what device to use for input, open it and let + // the user decide how to use it. +-make_devname(ui.ad_device_no); ++make_dev_name(ui.ad_device_no); + flush_sync(); + ui.ad_device_mode=O_RDONLY; + mode=0; +@@ -903,7 +903,7 @@ + if( (1 & dev_flag[ui.ad_device_no]) != 0) + { + gt_rdo:; +- sprintf(s,"Open %s as RDONLY or RDWR? (O/W)\n=>",devname); ++ sprintf(s,"Open %s as RDONLY or RDWR? (O/W)\n=>",dev_name); + xytext(10,10,s); + vga_inkey=vga_getkey(); + clean_vga_inkey(); +@@ -925,9 +925,9 @@ + } + flush_sync(); + vga_clear(); +-sprintf(s,"For analog input: %s opened in %s mode",devname,devmode_txt[mode]); ++sprintf(s,"For analog input: %s opened in %s mode",dev_name,devmode_txt[mode]); + xytext(0,0,s); +-audio_in=open( devname, ui.ad_device_mode, 0); ++audio_in=open( dev_name, ui.ad_device_mode, 0); + if(audio_in == -1)end_program(1038); + j=dev_rd_channels[ui.ad_device_no]; + xytext(0,10,"Select radio interface:"); +@@ -1123,7 +1123,7 @@ + + + settextcolor(12); +-sprintf(s,"Trying to read %s",devname); ++sprintf(s,"Trying to read %s",dev_name); + xytext(10,10,s); + xytext(0,12,"If you see this message for more than 2 seconds READ failed"); + xytext(0,13,"Then try another device"); +@@ -1176,7 +1176,7 @@ + } + fprintf(sndlog,"\nRead test OK"); + for(i=10; i<14; i++)xytext(0,i,ss); +-sprintf(s,"Now trying to open a second device while %s is open",devname); ++sprintf(s,"Now trying to open a second device while %s is open",dev_name); + xytext(0,6,s); + xytext(0,7,"This may cause your system to hang. Try ctrlC to exit (or reboot)"); + xytext(0,8,"Try another input device or install another sound system."); +@@ -1192,9 +1192,9 @@ + read(audio_in, testbuff, 1024); + if(ioctl(audio_in,SNDCTL_DSP_GETISPACE,&ad_info) == -1)end_program(1093); + } +- make_devname(i); ++ make_dev_name(i); + cn=0; +- sprintf(s,"%02d:%12s",i,devname); ++ sprintf(s,"%02d:%12s",i,dev_name); + xytext(0,line,s); + column=0; + while(s[column] != 0)column++; +@@ -1206,7 +1206,7 @@ + if( (ui.input_mode&DWORD_INPUT) != 0 || ui.ad_channels > 2) + { + sprintf(&s[column], +- " RDWR useless (too many bits or channels) %d: %s",i,devname); ++ " RDWR useless (too many bits or channels) %d: %s",i,dev_name); + dev_flag[i]=0; + } + else +@@ -1224,10 +1224,10 @@ + dev_flag[i]&=0xffff-4; + if( (dev_flag[i]&2) != 0 ) + { +- audio_out=open( devname, O_WRONLY|O_NONBLOCK, 0); ++ audio_out=open( dev_name, O_WRONLY|O_NONBLOCK, 0); + if(audio_out != -1) + { +- fprintf(sndlog,"\n%s opened as WRONLY",devname); ++ fprintf(sndlog,"\n%s opened as WRONLY",dev_name); + flush_sync(); + if(ioctl(audio_in, SNDCTL_DSP_GETISPACE, + &ad_info) == -1)end_program(1094); +@@ -1380,17 +1380,17 @@ + line=0; + for(i=0; i<MAX_DEVNAMES; i++) + { +- make_devname(i); +- fprintf(sndlog,"\n%s ",devname); ++ make_dev_name(i); ++ fprintf(sndlog,"\n%s ",dev_name); + cn=0; +- sprintf(s,"%02d:%12s",i,devname); ++ sprintf(s,"%02d:%12s",i,dev_name); + xytext(0,line,s); + column=0; + while(s[column] != 0)column++; +- audio_out=open( devname, O_WRONLY|O_NONBLOCK, 0); ++ audio_out=open( dev_name, O_WRONLY|O_NONBLOCK, 0); + if(audio_out != -1) + { +- fprintf(sndlog,"\n%s opened as WRONLY with no input open.",devname); ++ fprintf(sndlog,"\n%s opened as WRONLY with no input open.",dev_name); + flush_sync(); + j=AFMT_U8; + if(ioctl(audio_out, SNDCTL_DSP_SETFMT, &j) == -1) +@@ -1528,8 +1528,8 @@ + ui.da_device_no=j; + if( (6 & dev_flag[ui.da_device_no]) == 0) goto get_dadev; + } +-make_devname(ui.da_device_no); +-fprintf(sndlog,"\nUser selected %s for output.",devname); ++make_dev_name(ui.da_device_no); ++fprintf(sndlog,"\nUser selected %s for output.",dev_name); + for(i=6; i<=line; i++)xytext(0,i,ss); + xytext(0,8,"Use close and reopen for D/A when"); + xytext(0,9,"a new signal is selected? (Y/N)"); +@@ -1563,8 +1563,8 @@ + } + else + { +- audio_out=open( devname ,O_WRONLY , 0); +- sprintf(s,"\nUsing %s for output",devname); ++ audio_out=open( dev_name ,O_WRONLY , 0); ++ sprintf(s,"\nUsing %s for output",dev_name); + xytext(0,6,s); + if(audio_out == -1)end_program(1068); + da_wrbuf = NULL; diff --git a/comms/linrad/files/patch-tune.c b/comms/linrad/files/patch-tune.c new file mode 100644 index 000000000000..641da1db0441 --- /dev/null +++ b/comms/linrad/files/patch-tune.c @@ -0,0 +1,15 @@ +--- tune.c.orig Tue May 18 09:43:30 2004 ++++ tune.c Fri Jul 9 12:25:02 2004 +@@ -1,10 +1,9 @@ + +- +-#include <sys/io.h> ++#include <sys/types.h> + #include <vga.h> + #include <vgagl.h> + #include <unistd.h> +- ++#include <machine/cpufunc.h> + #include "globdef.h" + #include "uidef.h" + #include "fft1def.h" diff --git a/comms/linrad/files/patch-uidef.h b/comms/linrad/files/patch-uidef.h new file mode 100644 index 000000000000..11bfbf0bf30f --- /dev/null +++ b/comms/linrad/files/patch-uidef.h @@ -0,0 +1,9 @@ +--- uidef.h.orig Tue May 18 09:43:30 2004 ++++ uidef.h Thu Jul 8 18:27:42 2004 +@@ -1,4 +1,5 @@ +-#include <arpa/inet.h> ++#include <sys/types.h> ++#include <netinet/in.h> + + #define MAX_FLOWCNT 31 + diff --git a/comms/linrad/files/patch-uivar.c b/comms/linrad/files/patch-uivar.c new file mode 100644 index 000000000000..58be3bee833e --- /dev/null +++ b/comms/linrad/files/patch-uivar.c @@ -0,0 +1,11 @@ +--- uivar.c.orig Tue May 18 09:43:30 2004 ++++ uivar.c Thu Jul 8 14:17:52 2004 +@@ -2,7 +2,7 @@ + #include "globdef.h" + #include "uidef.h" + #include "conf.h" +- ++#include <netinet/in.h> + + + ROUTINE par_from_keyboard_routine; diff --git a/comms/linrad/files/patch-wcw.c b/comms/linrad/files/patch-wcw.c new file mode 100644 index 000000000000..40e57c762866 --- /dev/null +++ b/comms/linrad/files/patch-wcw.c @@ -0,0 +1,28 @@ +--- wcw.c.orig Thu Jul 8 18:22:12 2004 ++++ wcw.c Thu Jul 8 18:22:55 2004 +@@ -116,10 +116,12 @@ + int syncflag, baseb_graph_time; + audio_buf_info ad_info, ad_info2; + touch_stack(); ++#if 0 + if(ui.memlock == 0) + { + if(mlockall(MCL_CURRENT) != 0)end_program(1165); + } ++#endif + baseb_graph_time=0; + get_buffers(0); + if(lir_status != LIR_OK)return; +@@ -181,10 +183,12 @@ + diskread_timer=recent_time; + latest_idle_time=recent_time; + lirsta=RX_LOW_PRIO; ++#if 0 + if(ui.memlock == 0) + { + if(mlockall(MCL_CURRENT) != 0)lir_status=LIR_MEMERR; + } ++#endif + if(lir_status != LIR_OK)goto wcw_exit; + // ******************************************************* + // MAIN RECEIVE LOOP diff --git a/comms/linrad/pkg-descr b/comms/linrad/pkg-descr new file mode 100644 index 000000000000..a7e3ee7e6b10 --- /dev/null +++ b/comms/linrad/pkg-descr @@ -0,0 +1,10 @@ +Amateur Radio DSP utility (SDR) + +Linrad receives a signal in digital form by reading a device. Currently Linrad +operates by sampling sound on line-in channel of an audio card. In the future +boards sampling directly at RF frequencies will be available. + +WWW: http://www.nitehawk.com/sm5bsz/linuxdsp/linrad.htm + +- Diane Bruce, VA3DB +db@db.net diff --git a/comms/linrad/pkg-plist b/comms/linrad/pkg-plist new file mode 100644 index 000000000000..369a90999bc6 --- /dev/null +++ b/comms/linrad/pkg-plist @@ -0,0 +1,14 @@ +bin/linrad +%%PORTDOCS%%%%DOCSDIR%%/z_APM.txt +%%PORTDOCS%%%%DOCSDIR%%/z_BUFFERS.txt +%%PORTDOCS%%%%DOCSDIR%%/z_CALIBRATE.txt +%%PORTDOCS%%%%DOCSDIR%%/z_COPYRIGHT.txt +%%PORTDOCS%%%%DOCSDIR%%/z_GIFINFO.txt +%%PORTDOCS%%%%DOCSDIR%%/z_INSTALL.txt +%%PORTDOCS%%%%DOCSDIR%%/z_MLOCK.txt +%%PORTDOCS%%%%DOCSDIR%%/z_SETTINGS.txt +%%PORTDOCS%%%%DOCSDIR%%/z_SPEED.txt +%%PORTDOCS%%%%DOCSDIR%%/z_SVGALIB.txt +%%PORTDOCS%%%%DOCSDIR%%/z_USERS_HWARE.txt +%%PORTDOCS%%%%DOCSDIR%%/z_USLEEP.txt +%%PORTDOCS%%@dirrm %%DOCSDIR%% |