diff options
author | itetcu <itetcu@FreeBSD.org> | 2006-09-09 06:52:37 +0800 |
---|---|---|
committer | itetcu <itetcu@FreeBSD.org> | 2006-09-09 06:52:37 +0800 |
commit | eebb9c6e8afe9405cc0c023f5b8b13a2b82286f6 (patch) | |
tree | 0fd481aadaf8f845ce0b33ee790da9e4da94f661 /comms | |
parent | 736fcf6410d100d21c77e490968a877387b3cf69 (diff) | |
download | freebsd-ports-gnome-eebb9c6e8afe9405cc0c023f5b8b13a2b82286f6.tar.gz freebsd-ports-gnome-eebb9c6e8afe9405cc0c023f5b8b13a2b82286f6.tar.zst freebsd-ports-gnome-eebb9c6e8afe9405cc0c023f5b8b13a2b82286f6.zip |
- Update to 2.17
Added file(s):
- files/linrad
- pkg-message
Removed file(s):
- files/patch-lmain.c
- files/patch-settx.c
- BROKEN on 4
PR: ports/103002
Submitted by: Diane Bruce (maintainer)
Diffstat (limited to 'comms')
-rw-r--r-- | comms/linrad/Makefile | 27 | ||||
-rw-r--r-- | comms/linrad/distinfo | 6 | ||||
-rw-r--r-- | comms/linrad/files/linrad | 6 | ||||
-rw-r--r-- | comms/linrad/files/patch-Makefile.in | 59 | ||||
-rw-r--r-- | comms/linrad/files/patch-help.c | 8 | ||||
-rw-r--r-- | comms/linrad/files/patch-lmain.c | 38 | ||||
-rw-r--r-- | comms/linrad/files/patch-lsetad.c | 653 | ||||
-rw-r--r-- | comms/linrad/files/patch-lxsys.c | 23 | ||||
-rw-r--r-- | comms/linrad/files/patch-settx.c | 93 | ||||
-rw-r--r-- | comms/linrad/files/patch-uidef.h | 4 | ||||
-rw-r--r-- | comms/linrad/files/patch-xmain.c | 8 | ||||
-rw-r--r-- | comms/linrad/pkg-message | 8 | ||||
-rw-r--r-- | comms/linrad/pkg-plist | 1 |
13 files changed, 248 insertions, 686 deletions
diff --git a/comms/linrad/Makefile b/comms/linrad/Makefile index 864b4aa5be92..3060ef6c8551 100644 --- a/comms/linrad/Makefile +++ b/comms/linrad/Makefile @@ -6,10 +6,12 @@ # PORTNAME= linrad -PORTVERSION= 2.14 -CATEGORIES= comms hamradio -MASTER_SITES= http://www.nitehawk.com/sm5bsz/linuxdsp/archive/ -DISTNAME= lir02-14 +PORTVERSION= 2.17 +CATEGORIES= comms +MASTER_SITES= http://www.nitehawk.com/sm5bsz/linuxdsp/archive/\ + http://g7rau.demon.co.uk/sm5bsz/linuxdsp/archive/\ + http://nitehawk.com/sm5bsz/linuxdsp/archive/ +DISTNAME= lir02-17 EXTRACT_SUFX= .tbz DIST_SUBDIR= ${PORTNAME} @@ -18,25 +20,33 @@ COMMENT= Amateur Radio DSP utility (SDR) BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm -WRKSRC= ${WRKDIR}/${PORTNAME}-02.14 +WRKSRC= ${WRKDIR}/${PORTNAME}-02.17 USE_AUTOTOOLS= autoconf:253 HAS_CONFIGURE= yes USE_BZIP2= yes +ALL_TARGET= xlinrad USE_X_PREFIX= yes ONLY_FOR_ARCHS= i386 +.include <bsd.port.pre.mk> +.if ${OSVERSION} < 500000 +BROKEN= Does not compile on FreeBSD 4.x +.endif + post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ -e 's|%%X11BASE%%|${X11BASE}|g' \ - -e 's|-pthread|${PTHREAD_LIBS}|' ${WRKSRC}/Makefile.in + -e 's|-lpthread|${PTHREAD_LIBS}|g' ${WRKSRC}/Makefile.in @${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}/|' \ ${WRKSRC}/help.c do-install: ${MKDIR} ${DATADIR} ${INSTALL_DATA} ${WRKSRC}/errors.lir ${DATADIR}/errors.lir ${INSTALL_DATA} ${WRKSRC}/help.lir ${DATADIR}/help.lir -# ${INSTALL_PROGRAM} -m04555 ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/${PORTNAME} + ${INSTALL_SCRIPT} -m04555 ${FILESDIR}/linrad ${PREFIX}/bin/linrad +# Some day we may want the svga version as well. +# ${INSTALL_PROGRAM} -m04555 ${WRKSRC}/${PORTNAME} ${PREFIX}/bin/${PORTNAME}.svga ${INSTALL_PROGRAM} -m04555 ${WRKSRC}/x${PORTNAME} ${PREFIX}/bin/x${PORTNAME} .if !defined(NOPORTDOCS) @@ -57,5 +67,6 @@ do-install: @${ECHO} "linrad docs installed in ${DOCSDIR}" @${ECHO} "" .endif + @${CAT} ${PKGMESSAGE} -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/comms/linrad/distinfo b/comms/linrad/distinfo index 43224bb7acc2..7bac6c4c511a 100644 --- a/comms/linrad/distinfo +++ b/comms/linrad/distinfo @@ -1,3 +1,3 @@ -MD5 (linrad/lir02-14.tbz) = a4e451b891459023bb9272d5fe0f590b -SHA256 (linrad/lir02-14.tbz) = 4a95bf060c900899969e83d0e164ec5e9932ffe34cf2c2485bbea6179fb8e899 -SIZE (linrad/lir02-14.tbz) = 423720 +MD5 (linrad/lir02-17.tbz) = 8c87228f11be0baf48a54ec51992d93e +SHA256 (linrad/lir02-17.tbz) = c48a3d31a56e147c9c86acfe787bfae96b4c9c81325f64d3ed65844332dad40b +SIZE (linrad/lir02-17.tbz) = 429631 diff --git a/comms/linrad/files/linrad b/comms/linrad/files/linrad new file mode 100644 index 000000000000..8febca7ea218 --- /dev/null +++ b/comms/linrad/files/linrad @@ -0,0 +1,6 @@ +#!/bin/sh +if [ ! -e ~/.linrad ] ; then + mkdir ~/.linrad +fi +cd ~/.linrad +xlinrad diff --git a/comms/linrad/files/patch-Makefile.in b/comms/linrad/files/patch-Makefile.in index 6c414e91c2cb..2d542ce2af13 100644 --- a/comms/linrad/files/patch-Makefile.in +++ b/comms/linrad/files/patch-Makefile.in @@ -1,5 +1,5 @@ ---- Makefile.in.orig Sat May 27 07:48:22 2006 -+++ Makefile.in Mon Jun 19 21:40:59 2006 +--- Makefile.in.orig Fri Jul 14 17:35:38 2006 ++++ Makefile.in Fri Jul 28 13:12:35 2006 @@ -4,17 +4,14 @@ # Name the output files *.ol instead of *.o # so we definitely know it is for Linux. @@ -20,58 +20,3 @@ CFW = -g -O -DOSNUM=2 -W -Wimplicit -Wreturn-type -Wformat \ -Wunused -Wcomment -Wchar-subscripts -Wshadow -Wuninitialized \ -Wparentheses -Wstrict-prototypes -Werror -ffast-math \ -@@ -360,7 +357,8 @@ - - - # ---------------------- Linux console specific things ------------------ --linrad: Makefile lmain.ol ui.ol uivar.ol fft1var.ol lsetad.ol hware.ol rxin.ol \ -+all: xlinrad -+linrad: lmain.ol ui.ol uivar.ol fft1var.ol lsetad.ol hware.ol rxin.ol \ - wide_graph.ol getiq.ol fft0.ol fft1.ol adtest.ol screenvar.ol sigvar.ol \ - baseb_graph.ol afc_graph.ol hires_graph.ol fftasm.ol palette.ol gifsave.ol \ - calibrate.ol calsub.ol calsub2.ol llsqvar.ol caliq.ol hwaredriver.ol \ -@@ -374,7 +372,7 @@ - menu.ol screen.ol sdrvar.ol lsys.ol sdr14.ol keyboard_var.ol linvar.ol \ - fonts.ol screensub.ol membeg.ol lxsys.ol memend.ol - -- gcc -olinrad -lvgagl -lvga -lpthread -lm \ -+ ${CC} -olinrad -I%%LOCALBASE%%/include -L%%LOCALBASE%%/lib -I%%X11BASE%%/include -L%%X11BASE%%/lib -lvgagl -lvga -lpthread -lm \ - -Wl,-Map,linrad.lmap,-warn-common,--cref \ - membeg.ol lmain.ol linvar.ol ui.ol lsetad.ol fft1.ol buf.ol \ - mouse.ol wide_graph.ol getiq.ol fft0.ol adtest.ol hires_graph.ol \ -@@ -403,7 +401,7 @@ - $(LCC) lmain.c $(CFL) lmain.ol - - # ---------------------- Linux X11 specific things ------------------ --xlinrad: Makefile xmain.ol ui.ol uivar.ol fft1var.ol lsetad.ol hware.ol rxin.ol \ -+xlinrad: xmain.ol ui.ol uivar.ol fft1var.ol lsetad.ol hware.ol rxin.ol \ - wide_graph.ol getiq.ol fft0.ol fft1.ol adtest.ol screenvar.ol sigvar.ol \ - baseb_graph.ol afc_graph.ol hires_graph.ol fftasm.ol palette.ol gifsave.ol \ - calibrate.ol calsub.ol calsub2.ol llsqvar.ol caliq.ol hwaredriver.ol \ -@@ -420,7 +418,7 @@ - - - -- gcc -oxlinrad -L/usr/X11R6/lib -lX11 -lpthread -lm \ -+ ${CC} -oxlinrad -L%%X11BASE%%/lib -lX11 -lpthread -lm \ - -Wl,-Map,linrad.xmap,-warn-common,--cref \ - membeg.ol xmain.ol xvar.ol ui.ol lsetad.ol fft1.ol buf.ol \ - mouse.ol wide_graph.ol getiq.ol fft0.ol adtest.ol hires_graph.ol \ -@@ -636,13 +634,13 @@ - - # ------------------ Tools for Linux ----------------------- - vgatest: vgatest.ol -- gcc -ovgatest -lvgagl -lvga -lm -Wl -s vgatest.ol -+ ${CC} -ovgatest -I%%LOCALBASE%%/include -L%%LOCALBASE%%/lib -lvgagl -lvga -lm -Wl -s vgatest.ol - vgatest.ol: vgatest.c -- gcc vgatest.c -c -o vgatest.ol -+ ${CC} vgatest.c -I%%LOCALBASE%%/include -c -o vgatest.ol - mousetest: mousetest.ol -- gcc -omousetest -lvgagl -lvga -lm -Wl -s mousetest.ol -+ ${CC} -omousetest -L%%LOCALBASE%%/lib -lvgagl -lvga -lm -Wl -s mousetest.ol - mousetest.ol: mousetest.c -- gcc mousetest.c -c -o mousetest.ol -+ ${CC} mousetest.c -I%%LOCALBASE%%/include -L%%LOCALBASE%%/lib -c -o mousetest.ol - thrdef.h: rusage.h - rm -f x.x - cp thrdef.h x.x diff --git a/comms/linrad/files/patch-help.c b/comms/linrad/files/patch-help.c index 0361d8e7a7bb..d05753c68069 100644 --- a/comms/linrad/files/patch-help.c +++ b/comms/linrad/files/patch-help.c @@ -1,6 +1,6 @@ ---- help.c.orig Sat May 27 07:48:22 2006 -+++ help.c Tue Jun 20 20:37:14 2006 -@@ -344,7 +344,7 @@ +--- help.c.orig Fri Jul 28 13:12:59 2006 ++++ help.c Sat Jul 29 00:50:34 2006 +@@ -337,7 +337,7 @@ printf("\n%s",s); DEB"\n%s",s); } @@ -9,7 +9,7 @@ line=3; if(screen_mode) { -@@ -359,7 +359,7 @@ +@@ -352,7 +352,7 @@ { int line; if(msg_no < 0)return; diff --git a/comms/linrad/files/patch-lmain.c b/comms/linrad/files/patch-lmain.c deleted file mode 100644 index 8a04628007fc..000000000000 --- a/comms/linrad/files/patch-lmain.c +++ /dev/null @@ -1,38 +0,0 @@ ---- lmain.c.orig Sat May 27 07:48:22 2006 -+++ lmain.c Sat Jun 17 23:49:10 2006 -@@ -11,7 +11,6 @@ - #define MAX_MOUSE_CURSIZE 50 - - --#include <sys/io.h> - #include <vga.h> - #include <vgagl.h> - #include <vgamouse.h> -@@ -97,6 +96,7 @@ - simd1=0; - mmx_present=i&1; - if(mmx_present != 0)simd_present=i/2; else simd_present=0; -+#if 0 - if(i!=0) - { - file = fopen("/proc/cpuinfo", "r"); -@@ -142,9 +142,11 @@ - file=NULL; - } - } -+#endif - file = fopen(userint_filename, "rb"); - if (file == NULL) - { -+#if 0 - if(xxprint != 0) - { - i=0; -@@ -170,6 +172,7 @@ - printf("\nwith appropriate patches.\n\n"); - } - } -+#endif - printf("\nSetup file %s missing.",userint_filename); - full_setup:; - for(i=0; i<MAX_UIPARM; i++) uiparm[i]=0; diff --git a/comms/linrad/files/patch-lsetad.c b/comms/linrad/files/patch-lsetad.c index 151c30623b7c..93fc61113b4b 100644 --- a/comms/linrad/files/patch-lsetad.c +++ b/comms/linrad/files/patch-lsetad.c @@ -1,491 +1,204 @@ ---- lsetad.c.orig Sat May 27 07:48:22 2006 -+++ lsetad.c Mon Jun 19 21:43:19 2006 -@@ -36,14 +36,13 @@ - - - #define SNDLOG fprintf(sndlog, --#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 - int devmodes[3]={O_RDONLY,O_WRONLY,O_RDWR}; -@@ -58,6 +57,7 @@ - 22050,24000,48000,96000}; - - FILE *sndlog; -+int tspeed; - - // Mod1: Get info from OSS or ALSA sound-driver about the defined audio - // devices. -@@ -481,31 +481,12 @@ - - void make_devname(int n) +--- lsetad.c.orig Tue Aug 15 15:27:44 2006 ++++ lsetad.c Thu Sep 7 17:52:30 2006 +@@ -87,10 +87,9 @@ + void display_sdi(void) { --int k,num,m; --num=n; --k=DEVNAMPOS; --if(num>MAX_DEVNAMES) -+if(n>MAX_DEVNAMES) + FILE *sdifile; +-int ch_cnt; ++char *p; + char ch_read[80]; + char work_line [80]; +-int work_line_pos ; + int sdi_screen_line_counter; + char sdi_intro_msg [26]= "SOUND DRIVER INFORMATION:" ; + char sdi_error_msg [46]= "No OSS or ALSA sound-driver information found"; +@@ -111,55 +110,42 @@ + // if OSS not active, try ALSA + if (sdifile==NULL) { - lirerr(9236); - return; +- strcpy (sndstat_filename,"/proc/asound/oss/sndstat"); +- sdifile=fopen (sndstat_filename,"r"); ++ strcpy (sndstat_filename,"/proc/asound/oss/sndstat"); ++ sdifile=fopen (sndstat_filename,"r"); } --m=num/10; --if(m > 0) -- { -- devname[k]=m+'0'; -- k++; +-if (sdifile==NULL) ++if (sdifile!=NULL) + { +- settextcolor(LIGHT_RED); +- lir_text ( 80, sdi_screen_line_counter++, sdi_error_msg); +- fprintf (sndlog,"\n%s",sdi_error_msg ); +- goto display_sdi_x; - } --devname[k]=num-m*10+'0'; --if(devname[k]<'0')devname[k]=0; --k++; --devname[k]=0; --// put /dev/dsp at the end of the list --if ((n+2)==MAX_DEVNAMES){ -- k=DEVNAMPOS; -- devname[k]=0; -- k++; -- devname[k]=0; -- } -+ sprintf(dev_name, "/dev/dspW%d", n); +-fprintf (sndlog,"\n(output of 'cat %s' command): \n\n",sndstat_filename ); +-memset (work_line, '\0',sizeof(work_line)); +-work_line_pos =0; +-settextcolor(LIGHT_GREEN); +-ch_cnt=fread(ch_read,1,1,sdifile); +-while (ch_cnt== 1) +- { +-// check if work_line is ready for output processing +- if ((ch_read[0] =='\n') || (work_line_pos == 78)) +- { +-// display work_line only if it is not blank +-// and there are enough lines available on the screen +-// and there are at least 40 characters available on a line +- if ((work_line_pos >1) && +- ( sdi_screen_line_counter < screen_last_line) && +- ((screen_last_col - 40)>= 80)) +- { +- if (ch_read[0] !='\n') work_line[work_line_pos]=ch_read[0]; +- sdi_screen_line_counter++; +- lir_text (80, sdi_screen_line_counter, work_line); +- } +-// write to soundboard_init.log +- if (ch_read[0] =='\n') work_line[work_line_pos]=ch_read[0]; +- if (ch_read[0] !='\n') +- { +-// this is a truncated line. Add newline character +- work_line[work_line_pos]=ch_read[0]; +- work_line[work_line_pos+1]='\n'; +- } +- fprintf (sndlog,"%s",work_line); +- memset (work_line, '\0',sizeof(work_line)); +- work_line_pos=-1; +- } +- work_line[work_line_pos]=ch_read[0]; +- work_line_pos++; +- ch_cnt=fread(ch_read,1,1,sdifile); ++ fprintf (sndlog,"\n(output of 'cat %s' command): \n\n",sndstat_filename ); ++ settextcolor(LIGHT_GREEN); ++ while(fgets(work_line, sizeof(work_line)-1, sdifile) != NULL) ++ { ++ // check if work_line is ready for output processing ++ if((p = strchr(work_line, '\n')) != NULL) ++ *p = '\0'; ++ if (ch_read[0] != '\0') ++ { ++ // display work_line only if it is not blank ++ // and there are enough lines available on the screen ++ // and there are at least 40 characters available on a line ++ if (sdi_screen_line_counter < screen_last_line && ++ (screen_last_col - 40)>= 80) ++ { ++ sdi_screen_line_counter++; ++ lir_text (80, sdi_screen_line_counter, work_line); ++ } ++ // write to soundboard_init.log ++ fprintf (sndlog,"%s\n",work_line); ++ } ++ } ++ fclose(sdifile); ++ } ++else ++ { ++ settextcolor(LIGHT_RED); ++ lir_text ( 80, sdi_screen_line_counter++, sdi_error_msg); ++ fprintf (sndlog,"\n%s",sdi_error_msg ); + } + fclose(sdifile); +-display_sdi_x:; + fprintf(sndlog,sndlog_sep); + fflush(sndlog); } - // ------------------------------------------------------------- - // The original code was: -@@ -557,7 +538,7 @@ +@@ -525,6 +511,11 @@ if(i&AFMT_S16_LE)ui.max_output_bytes=2; ui.max_output_speed=ABOVE_MAX_SPEED; ui.min_output_speed=1; --if(ioctl(audio_out, SNDCTL_DSP_SPEED, &ui.max_output_speed) == -1) -+if(ioctl(audio_out, SNDCTL_DSP_SPEED, &ui.min_output_speed) == -1) ++// ++// To allow a separate #ifdef __FreeBSD__ ++// - Diane Bruce VA3DB, Sept 6, 2006 ++// ++#ifdef __linux__ + if(ioctl(audio_out, SNDCTL_DSP_SPEED, &ui.max_output_speed) == -1) { lirerr(1072); - return; -@@ -666,7 +647,7 @@ +@@ -535,6 +526,7 @@ + lirerr(1073); return; } - make_devname(ui.ad_device_no&255); --audio_in=open( devname ,ui.ad_device_mode , 0); -+audio_in=open( dev_name ,ui.ad_device_mode , 0); - if(audio_in == -1) - { - lirerr(1007); -@@ -676,7 +657,7 @@ - { - i=ui.ad_device_no/255-1; - make_devname(i); -- audio_in2=open( devname ,ui.ad_device_mode , 0); -+ audio_in2=open( dev_name ,ui.ad_device_mode , 0); - if(audio_in2 == -1) - { - lirerr(1174); -@@ -869,7 +850,7 @@ - return; - } - make_devname(ui.ad_device_no&255); -- audio_out=open( devname ,O_WRONLY , 0); -+ audio_out=open( dev_name ,O_WRONLY , 0); - if(audio_out == -1) - { - lirerr(1086); -@@ -909,7 +890,7 @@ - else - { - make_devname(ui.da_device_no); -- audio_out=open( devname ,O_WRONLY , 0); -+ audio_out=open( dev_name ,O_WRONLY , 0); - if(audio_out == -1) - { - if(disksave_flag==2) -@@ -1048,9 +1029,9 @@ - for(device_no=0; device_no<MAX_DEVNAMES; device_no++) - { - make_devname(device_no); -- SNDLOG"Checking %s for output\n",devname); -+ SNDLOG"Checking %s for output\n",dev_name); - sndlog_sync(); -- audio_out=open( devname, O_WRONLY|O_NONBLOCK, 0); -+ audio_out=open( dev_name, O_WRONLY|O_NONBLOCK, 0); - if(audio_out != -1) - { - #ifdef SNDCTL_DSP_COOKEDMODE -@@ -1058,7 +1039,7 @@ - ioctl(audio_out, SNDCTL_DSP_COOKEDMODE, &j); - #endif - for(nn=0; nn<80; nn++)SNDLOG"-"); -- SNDLOG"\n%s opened as %s ",devname, devmode_txt[3]); -+ SNDLOG"\n%s opened as %s ",dev_name, devmode_txt[3]); ++#endif + if(ui.max_output_speed==ABOVE_MAX_SPEED || + ui.min_output_speed <= 1 || + ui.max_output_speed < ui.min_output_speed) +@@ -1077,6 +1069,11 @@ + SNDLOG"\nNo of output channels= %d",j); sndlog_sync(); - j=AFMT_U8; - if(ioctl(audio_out, SNDCTL_DSP_SETFMT, &j) == -1) -@@ -1110,6 +1091,7 @@ + dev_wr_channels[device_no]=j; ++// ++// To allow a separate #ifdef __FreeBSD__ ++// - Diane Bruce VA3DB, Sept 6, 2006 ++// ++#ifdef __linux__ + j=ABOVE_MAX_SPEED; + if(ioctl(audio_out, SNDCTL_DSP_SPEED, &j) == -1 || j==ABOVE_MAX_SPEED) { - SNDLOG"\nIncorrect speed response in %d out %d", - ABOVE_MAX_SPEED, j); -+ tspeed=j; - if(ioctl(audio_out, SNDCTL_DSP_SPEED, &j)==-1) - { - SNDLOG"\nioctl(SPEED) failed"); -@@ -1136,7 +1118,7 @@ - goto errdev; - } - sprintf(s,"%02d %s %7d - %7d Hz %d Chan. %d bit WRONLY", -- device_no, devname, -+ device_no, dev_name, - dev_min_wr_speed[device_no], - dev_max_wr_speed[device_no], - dev_wr_channels[device_no], -@@ -1373,20 +1355,20 @@ - { - dev_flag[device_no]=0; - make_devname(device_no); -- SNDLOG"Checking %s\n",devname); -+ SNDLOG"Checking %s\n",dev_name); - sndlog_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); +@@ -1103,6 +1100,29 @@ + dev_min_wr_speed[device_no]=j; + SNDLOG"\nMin output speed %d", dev_min_wr_speed[device_no]); sndlog_sync(); - settextcolor(12); - lir_text(0,line+1,s); - lir_refresh_screen(); - settextcolor(7); -- audio_out=open( devname, devmodes[mode]|O_NONBLOCK, 0); -+ audio_out=open( dev_name, devmodes[mode]|O_NONBLOCK, 0); - clear_lines(line+1,line+1); - if(audio_out != -1) ++#endif ++// ++// This code finds min max speed of sound card for FreeBSD ++// It probably works for other BSDs as well ++// Diane Bruce, db@db.net VA3DB ++// Sept 7, 2006 ++// ++#ifdef __FreeBSD__ ++{ ++ snd_capabilities capab; ++ int status; ++ bzero((void *)&capab, sizeof(capab)); ++ status = ioctl(audio_out, AIOGCAP, &capab); ++ if (status < 0) ++ goto errdev; ++ dev_min_wr_speed[device_no] = capab.rate_min; ++ dev_max_wr_speed[device_no]= capab.rate_max; ++ ui.min_output_speed = capab.rate_min; ++ ui.max_output_speed = capab.rate_max; ++ SNDLOG"\nMax output speed %d", dev_max_wr_speed[device_no]); ++ SNDLOG"\nMin output speed %d", dev_min_wr_speed[device_no]); ++} ++#endif + if(close(audio_out)==-1) { -@@ -1395,7 +1377,7 @@ - ioctl(audio_out, SNDCTL_DSP_COOKEDMODE, &i); - #endif - for(nn=0; nn<80; nn++)SNDLOG"-"); -- SNDLOG"\n%s opened as %s ",devname, devmode_txt[mode]); -+ SNDLOG"\n%s opened as %s ",dev_name, devmode_txt[mode]); + goto errdev; +@@ -1425,6 +1445,11 @@ + SNDLOG"\nMax no of channels = %d",m); + } sndlog_sync(); - rdwr_fmt=16; - rdwr_channels=0; -@@ -1465,8 +1447,8 @@ - i=0; - while(i<MAX_LOWSPEED) - { -- rdwr_min_speed=low_speeds[i]; -- if(ioctl(audio_out, SNDCTL_DSP_SPEED, &rdwr_min_speed)!=-1)goto minok; -+ tspeed=rdwr_min_speed=low_speeds[i]; -+ if(ioctl(audio_out, SNDCTL_DSP_SPEED, &tspeed)!=-1)goto minok; - i++; - } ++// ++// To allow a separate #ifdef __FreeBSD__ ++// - Diane Bruce VA3DB, Sept 6, 2006 ++// ++#ifdef __linux__ + // Find maximum speed + rdwr_max_speed=ABOVE_MAX_SPEED; + if(ioctl(audio_out, SNDCTL_DSP_SPEED, &rdwr_max_speed)==-1) +@@ -1444,6 +1469,27 @@ lirerr(1040); -@@ -1577,7 +1559,7 @@ - if( (dev_flag[device_no]&1) == 1) - { - sprintf(ss,"%02d:%12s %7d - %7d Hz %d Chan. %d bit", -- device_no,devname, -+ device_no,dev_name, - dev_min_rd_speed[device_no], - dev_max_rd_speed[device_no], - dev_max_rd_channels[device_no], -@@ -1588,7 +1570,7 @@ - if( (dev_flag[device_no]&2) == 2) - { - sprintf(ss,"%02d:%12s %7d - %7d Hz %d Chan. %d bit", -- device_no,devname, -+ device_no,dev_name, - dev_min_wr_speed[device_no], - dev_max_wr_speed[device_no], - dev_wr_channels[device_no], -@@ -1637,13 +1619,13 @@ - color=0x17; - sprintf(&ss[maxcolumn], - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_wr_speed[device_no], - dev_max_wr_speed[device_no], - dev_wr_channels[device_no], - dev_wr_bits[device_no],devmode_txt[1]); - sprintf(ss,"%02d:%12s %7d - %7d Hz %d Chan. %d bit %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_rd_speed[device_no], - dev_max_rd_speed[device_no], - dev_max_rd_channels[device_no], -@@ -1659,21 +1641,21 @@ - color=0x17; - sprintf(&ss[2*maxcolumn], - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_wr_speed[device_no], - dev_max_wr_speed[device_no], - dev_wr_channels[device_no], - dev_wr_bits[device_no],devmode_txt[1]); - sprintf(&ss[maxcolumn], - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_rd_speed[device_no], - dev_max_rd_speed[device_no], - dev_max_rd_channels[device_no], - dev_rd_bits[device_no],devmode_txt[0]); - sprintf(ss, - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_rdwr_speed[device_no], - dev_max_rdwr_speed[device_no], - dev_rdwr_channels[device_no], -@@ -1688,14 +1670,14 @@ - color=0x17; - sprintf(&ss[maxcolumn], - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_wr_speed[device_no], - dev_max_wr_speed[device_no], - dev_wr_channels[device_no], - dev_wr_bits[device_no],devmode_txt[1]); - sprintf(ss, - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_rd_speed[device_no], - dev_max_rd_speed[device_no], - dev_max_rd_channels[device_no], -@@ -1707,14 +1689,14 @@ - color=0x1d; - sprintf(&ss[maxcolumn], - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_wr_speed[device_no], - dev_max_wr_speed[device_no], - dev_wr_channels[device_no], dev_wr_bits[device_no], - devmode_txt[1],devmode_txt[2]); - sprintf(ss, - "%02d:%12s %7d - %7d Hz %d Chan. %d bit %s", -- device_no,devname, -+ device_no,dev_name, - dev_min_rd_speed[device_no], - dev_max_rd_speed[device_no], - dev_max_rd_channels[device_no], -@@ -1822,7 +1804,7 @@ - - clear_screen(); - make_devname(ui.ad_device_no); --SNDLOG"\n\n %s selected by user for input.",devname); -+SNDLOG"\n\n %s selected by user for input.",dev_name); - SNDLOG" dev_flag=%d",dev_flag[ui.ad_device_no]); - sndlog_sync(); - // High end users might need two devices to read four A/D channels. -@@ -1864,7 +1846,7 @@ - clear_screen(); - SNDLOG"\nUser wants to try to open two read devices"); - make_devname(ui.ad_device_no); -- audio_in=open( devname, O_RDONLY, 0); -+ audio_in=open( dev_name, O_RDONLY, 0); - if(audio_in == -1) - { - lirerr(1102); -@@ -1899,7 +1881,7 @@ - } - } - make_devname(i); -- audio_in2=open( devname, O_RDONLY|O_NONBLOCK, 0); -+ audio_in2=open( dev_name, O_RDONLY|O_NONBLOCK, 0); - if(audio_in2 != -1) - { - #ifdef SNDCTL_DSP_COOKEDMODE -@@ -1907,9 +1889,9 @@ - ioctl(audio_in2, SNDCTL_DSP_COOKEDMODE, &k); - #endif - line++; -- SNDLOG"\n%s opened as second read device",devname); -+ SNDLOG"\n%s opened as second read device",dev_name); - sprintf(s,"%2d:%12s %7d - %7d Hz %d Chan. %d bit", -- i,devname, -+ i,dev_name, - dev_min_rd_speed[i], - dev_max_rd_speed[i], - dev_max_rd_channels[i], -@@ -1945,7 +1927,7 @@ - { - 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) - { - lirerr(1172); -@@ -1968,7 +1950,7 @@ - close(audio_in2); - goto skip_dual_devices; - } -- SNDLOG"\n %s is second input device.",devname); -+ SNDLOG"\n %s is second input device.",dev_name); - ui.input_mode=TWO_CHANNELS+IQ_DATA; - ui.rx_channels=2; - ui.ad_channels=4; -@@ -1988,7 +1970,7 @@ - if( (1 & dev_flag[ui.ad_device_no]) != 0) - { - gt_rdo:; -- sprintf(s,"Open %s as RDONLY or RDWR? (O/W) =>",devname); -+ sprintf(s,"Open %s as RDONLY or RDWR? (O/W) =>",dev_name); - lir_text(10,10,s); - await_processed_keyboard(); - if(kill_all_flag) goto setad_errexit; -@@ -2010,9 +1992,9 @@ - } - sndlog_sync(); - clear_screen(); --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]); - lir_text(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) - { - lirerr(1038); -@@ -2108,13 +2090,16 @@ - lir_text(0,7,"to reconfigure the hardware. (Under OSS, run ossmix)"); - max=dev_max_rd_speed[ui.ad_device_no&255]; - min=dev_min_rd_speed[ui.ad_device_no&255]; -+#if 0 - if(max == ABOVE_MAX_SPEED || max < 1000) - { - max = ABOVE_MAX_SPEED; - speed_warning = 1; - } + goto setad_errexit; + minok:; +#endif - sprintf(s,"Select sampling speed(%d to %d)", min,max); - lir_text(0,10,s); -+#if 0 - if(speed_warning != 0) - { - settextcolor(12); -@@ -2123,6 +2108,7 @@ - lir_text(0,13,"Incorrect (not supported) values may cause system to hang"); - settextcolor(7); - } ++// ++// This code finds min max speed of sound card for FreeBSD ++// It probably works for other BSDs as well ++// Diane Bruce, db@db.net VA3DB ++// Sept 7, 2006 ++// ++#ifdef __FreeBSD__ ++{ ++ snd_capabilities capab; ++ int status; ++ bzero((void *)&capab, sizeof(capab)); ++ status = ioctl(audio_out, AIOGCAP, &capab); ++ if (status < 0) ++ goto setad_errexit; ++ rdwr_min_speed = capab.rate_min; ++ rdwr_max_speed = capab.rate_max; ++ SNDLOG"\nMin output speed %d", rdwr_min_speed); ++ SNDLOG"\nMax output speed %d", rdwr_max_speed); ++} +#endif - column=0; - while(s[column] != 0)column++; - ui.input_speed=lir_get_integer(column+2, 10, 8, min,max); -@@ -2131,6 +2117,7 @@ - rdwr_max_speed=ui.input_speed; - SNDLOG"\n%d Hz selected by user",ui.input_speed); - clear_lines(5,10); -+ui.input_speed; - if(ioctl(audio_in, SNDCTL_DSP_SPEED, &ui.input_speed)==-1) - { - lirerr(1041); -@@ -2249,7 +2236,7 @@ - goto setad_errexit; - } - settextcolor(12); --sprintf(s,"Trying to read %s",devname); -+sprintf(s,"Trying to read %s",dev_name); - lir_text(10,10,s); - lir_text(0,12,"If you see this message for more than 2 seconds READ failed"); - lir_text(0,13,"Then try another device"); -@@ -2313,7 +2300,7 @@ - } - SNDLOG"\nRead test OK"); - clear_lines(10,13); --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); - lir_text(0,6,s); - lir_text(0,7,"This may cause your system to hang. Try ctrlC to exit (or reboot)"); - lir_text(0,8,"Try another input device or install another sound system."); -@@ -2326,7 +2313,7 @@ - if(read_test_ad(testbuff)!=0)goto clr_wrdev; - make_devname(i); - cn=0; -- sprintf(s,"%02d:%12s",i,devname); -+ sprintf(s,"%02d:%12s",i,dev_name); - lir_text(0,line,s); - column=0; - while(s[column] != 0)column++; -@@ -2338,7 +2325,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 -@@ -2356,7 +2343,7 @@ - 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(read_test_ad(testbuff)!=0)goto clr_wrdev; - if(audio_out != -1) - { -@@ -2364,7 +2351,7 @@ - j=0; - ioctl(audio_out, SNDCTL_DSP_COOKEDMODE, &j); - #endif -- SNDLOG"\n%s opened as WRONLY",devname); -+ SNDLOG"\n%s opened as WRONLY",dev_name); - sndlog_sync(); - if(ioctl(audio_in, SNDCTL_DSP_GETISPACE, &ad_info) == -1) - { -@@ -2562,20 +2549,20 @@ - for(i=0; i<MAX_DEVNAMES; i++) - { - make_devname(i); -- SNDLOG"\n%s ",devname); -+ SNDLOG"\n%s ",dev_name); - cn=0; -- sprintf(s,"%02d:%12s",i,devname); -+ sprintf(s,"%02d:%12s",i,dev_name); - lir_text(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) - { - #ifdef SNDCTL_DSP_COOKEDMODE - j=0; - ioctl(audio_out, SNDCTL_DSP_COOKEDMODE, &j); - #endif -- SNDLOG"\n%s opened as WRONLY with no input open.",devname); -+ SNDLOG"\n%s opened as WRONLY with no input open.",dev_name); + SNDLOG"\nMin sampling speed = %d Hz",rdwr_min_speed); sndlog_sync(); - j=AFMT_U8; - if(ioctl(audio_out, SNDCTL_DSP_SETFMT, &j) == -1) -@@ -2727,7 +2714,7 @@ - // ------------------------------------------------------- - } - make_devname(ui.da_device_no); --SNDLOG"\nUser selected %s for output.",devname); -+SNDLOG"\nUser selected %s for output.",dev_name); - clear_sdi(); - clear_lines(6,line); - lir_text(0,8,"Use close and reopen for D/A when a new signal is"); -@@ -2762,8 +2749,8 @@ - } - else - { -- audio_out=open( devname ,O_WRONLY , 0); -- sprintf(s,"Using %s for output",devname); -+ audio_out=open( dev_name ,O_WRONLY , 0); -+ sprintf(s,"Using %s for output",dev_name); - lir_text(0,6,s); - if(audio_out == -1) - { + if(mode != 1) diff --git a/comms/linrad/files/patch-lxsys.c b/comms/linrad/files/patch-lxsys.c index 66c73384a542..14292de1cf74 100644 --- a/comms/linrad/files/patch-lxsys.c +++ b/comms/linrad/files/patch-lxsys.c @@ -1,6 +1,6 @@ ---- lxsys.c.orig Sat May 27 07:48:22 2006 -+++ lxsys.c Mon Jun 19 23:32:08 2006 -@@ -1,5 +1,7 @@ +--- lxsys.c.orig Tue Aug 15 15:27:44 2006 ++++ lxsys.c Fri Sep 8 16:35:10 2006 +@@ -1,12 +1,14 @@ - -#include <sys/io.h> +#include <sys/cdefs.h> @@ -9,8 +9,16 @@ +#include <machine/sysarch.h> #include <unistd.h> #include <sys/mman.h> ++#include <sys/time.h> #include <sys/resource.h> -@@ -14,6 +16,7 @@ + #include <semaphore.h> + #include <pthread.h> + #include <sched.h> +-#include <sys/time.h> + #include <fcntl.h> + #include <termios.h> + #include "thrdef.h" +@@ -16,6 +18,7 @@ #include "lindef.h" #include "hwaredef.h" @@ -18,7 +26,7 @@ char *locktext[6]={"*W A R N I N G* Read z_MLOCK.txt for info.", "*** mlockall can cause system crashes!! ***", -@@ -40,11 +43,9 @@ +@@ -66,11 +69,9 @@ // Get permission to write to the parallel port if(ui.parport < 0x400-4) { @@ -33,7 +41,7 @@ } if(i != 0) { -@@ -189,11 +190,9 @@ +@@ -214,11 +215,9 @@ int i; if(ui.parport < 0x400-4) { @@ -48,7 +56,7 @@ } if(i!=0)lirerr(764921); i=1000; -@@ -206,11 +205,9 @@ +@@ -231,11 +230,9 @@ int i; if(ui.parport < 0x400-4) { @@ -63,3 +71,4 @@ } if(i!=0)lirerr(764921); return inb(port); + diff --git a/comms/linrad/files/patch-settx.c b/comms/linrad/files/patch-settx.c deleted file mode 100644 index 8414a34a7fd8..000000000000 --- a/comms/linrad/files/patch-settx.c +++ /dev/null @@ -1,93 +0,0 @@ ---- settx.c.orig Wed Jun 7 15:31:03 2006 -+++ settx.c Wed Jun 7 15:32:01 2006 -@@ -21,7 +21,7 @@ - #define LEVEL_METER_X 65 - - extern void make_devname(int device_no); --extern char devname[]; -+extern char dev_name[]; - extern char *devmode_txt[3]; - - #if SND_DEV == 1 -@@ -73,7 +73,7 @@ - int i,j; - float t1; - make_devname(tx.ad_device_no); --tx_audio_in=open( devname, O_RDONLY, 0); -+tx_audio_in=open( dev_name, O_RDONLY, 0); - if(tx_audio_in == -1)lirerr(991111); - i=AFMT_S16_LE; - #ifdef AFMT_S32_LE -@@ -107,7 +107,7 @@ - int i,j; - float t1; - make_devname(tx.da_device_no); --tx_audio_out=open( devname, O_WRONLY|O_NONBLOCK, 0); -+tx_audio_out=open( dev_name, O_WRONLY|O_NONBLOCK, 0); - if(tx_audio_out == -1)lirerr(231111); - i=AFMT_S16_LE; - #ifdef AFMT_S32_LE -@@ -300,11 +300,11 @@ - make_devname(device_no); - { - sprintf(s,"Trying to open %s %s. Device defective if system hangs here.", -- devname, devmode_txt[1]); -+ dev_name, devmode_txt[1]); - settextcolor(12); - lir_text(0,line+1,s); - settextcolor(7); -- tx_audio_out=open( devname, O_WRONLY|O_NONBLOCK, 0); -+ tx_audio_out=open( dev_name, O_WRONLY|O_NONBLOCK, 0); - if(tx_audio_out != -1) - { - line++; -@@ -374,7 +374,7 @@ - } - dev_min_speed[device_no]=rdwr_speed; - settextcolor(7); -- sprintf(s," %02d %s ",device_no,devname); -+ sprintf(s," %02d %s ",device_no,dev_name); - lir_text(0,line,s); - sprintf(s,"%s ",devmode_txt[1]); - if(rdwr_channels==3) -@@ -516,7 +516,7 @@ - } - clear_screen(); - make_devname(tx.da_device_no); --sprintf(s,"Tx output: %s, %d channel(s), %d bits, %d Hz",devname, -+sprintf(s,"Tx output: %s, %d channel(s), %d bits, %d Hz",dev_name, - tx.output_channels,tx.output_bytes<<3,tx.output_speed); - settextcolor(14); - lir_text(15,0,s); -@@ -578,11 +578,11 @@ - make_devname(device_no); - { - sprintf(s,"Trying to open %s %s. Device defective if system hangs here.", -- devname, devmode_txt[0]); -+ dev_name, devmode_txt[0]); - settextcolor(12); - lir_text(0,line+1,s); - settextcolor(7); -- tx_audio_in=open( devname, O_RDONLY|O_NONBLOCK, 0); -+ tx_audio_in=open( dev_name, O_RDONLY|O_NONBLOCK, 0); - if(tx_audio_in != -1) - { - line++; -@@ -652,7 +652,7 @@ - } - dev_min_speed[device_no]=rdwr_speed; - settextcolor(7); -- sprintf(s," %02d %s ",device_no,devname); -+ sprintf(s," %02d %s ",device_no,dev_name); - lir_text(0,line,s); - sprintf(s,"%s ",devmode_txt[0]); - if(rdwr_channels==3) -@@ -774,7 +774,7 @@ - clear_screen(); - make_devname(tx.ad_device_no); - --sprintf(s,"Microphone input: %s, %d channel(s), %d bits, %d Hz",devname, -+sprintf(s,"Microphone input: %s, %d channel(s), %d bits, %d Hz",dev_name, - tx.input_channels,tx.input_bytes<<3,tx.input_speed); - settextcolor(14); - lir_text(15,0,s); diff --git a/comms/linrad/files/patch-uidef.h b/comms/linrad/files/patch-uidef.h index b11e12dff47e..137fdf05e921 100644 --- a/comms/linrad/files/patch-uidef.h +++ b/comms/linrad/files/patch-uidef.h @@ -1,5 +1,5 @@ ---- uidef.h.orig Mon Jun 19 20:18:17 2006 -+++ uidef.h Mon Jun 19 20:18:24 2006 +--- uidef.h.orig Sat Jul 29 16:29:21 2006 ++++ uidef.h Sat Jul 29 16:29:34 2006 @@ -5,7 +5,7 @@ diff --git a/comms/linrad/files/patch-xmain.c b/comms/linrad/files/patch-xmain.c index 32db8e4f53b1..9220782aa15a 100644 --- a/comms/linrad/files/patch-xmain.c +++ b/comms/linrad/files/patch-xmain.c @@ -1,6 +1,6 @@ ---- xmain.c.orig Mon Jun 19 22:40:14 2006 -+++ xmain.c Mon Jun 19 23:33:03 2006 -@@ -38,7 +38,7 @@ +--- xmain.c.orig Fri Jul 14 17:35:38 2006 ++++ xmain.c Fri Jul 28 12:45:20 2006 +@@ -39,7 +39,7 @@ float total; }PIXINFO; @@ -9,7 +9,7 @@ int main(int argc, char **argv) { -@@ -58,6 +58,8 @@ +@@ -59,6 +59,8 @@ XTextProperty window_title_property; unsigned short int *ipalette; XColor xco; diff --git a/comms/linrad/pkg-message b/comms/linrad/pkg-message new file mode 100644 index 000000000000..3e2983b8b8df --- /dev/null +++ b/comms/linrad/pkg-message @@ -0,0 +1,8 @@ +linrad is now installed. +linrad is now a shell script which "wraps" xlinrad. +When used for the first time, the linrad wrapper will create a ~/.linrad +directory which will be your working directory. + +Now, go chase some DX. + +- 73 Diane VA3DB diff --git a/comms/linrad/pkg-plist b/comms/linrad/pkg-plist index b1166f8fe50e..d80a8b195922 100644 --- a/comms/linrad/pkg-plist +++ b/comms/linrad/pkg-plist @@ -1,3 +1,4 @@ +bin/linrad bin/xlinrad %%DATADIR%%/errors.lir %%DATADIR%%/help.lir |