From c76b306f60b55ff2317038e92351cc2565f0cf96 Mon Sep 17 00:00:00 2001 From: Patrick Kursawe Date: Wed, 2 Apr 2003 15:35:08 +0000 Subject: new package, closes bug 660 --- media-sound/wavplay/ChangeLog | 10 + media-sound/wavplay/files/digest-wavplay-1.4 | 1 + media-sound/wavplay/files/wavplay-1.4.patch | 757 +++++++++++++++++++++++++++ media-sound/wavplay/wavplay-1.4.ebuild | 35 ++ 4 files changed, 803 insertions(+) create mode 100644 media-sound/wavplay/ChangeLog create mode 100644 media-sound/wavplay/files/digest-wavplay-1.4 create mode 100644 media-sound/wavplay/files/wavplay-1.4.patch create mode 100644 media-sound/wavplay/wavplay-1.4.ebuild (limited to 'media-sound/wavplay') diff --git a/media-sound/wavplay/ChangeLog b/media-sound/wavplay/ChangeLog new file mode 100644 index 000000000000..66a4f7e161da --- /dev/null +++ b/media-sound/wavplay/ChangeLog @@ -0,0 +1,10 @@ +# ChangeLog for media-sound/wavplay +# Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/wavplay/ChangeLog,v 1.1 2003/04/02 15:35:08 phosphan Exp $ + +*wavplay-1.4 (02 Apr 2003) + + 02 Apr 2003; Patrick Kursawe ChangeLog, + wavplay-1.4.ebuild, files/digest-wavplay-1.4 : + Initial import. Closes bug #660 which was a submission by + mikepolniak . diff --git a/media-sound/wavplay/files/digest-wavplay-1.4 b/media-sound/wavplay/files/digest-wavplay-1.4 new file mode 100644 index 000000000000..8988cd0726d9 --- /dev/null +++ b/media-sound/wavplay/files/digest-wavplay-1.4 @@ -0,0 +1 @@ +MD5 726c58f47c0dbc3b58ff6c42300d518e wavplay-1.4.tar.gz 63549 diff --git a/media-sound/wavplay/files/wavplay-1.4.patch b/media-sound/wavplay/files/wavplay-1.4.patch new file mode 100644 index 000000000000..689a96de8f8c --- /dev/null +++ b/media-sound/wavplay/files/wavplay-1.4.patch @@ -0,0 +1,757 @@ +diff -u wavplay-1.4/Makefile wavplay-1.4-new/Makefile +--- wavplay-1.4/Makefile 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/Makefile 2003-03-11 11:15:53.000000000 +0100 +@@ -38,7 +38,7 @@ + #---------------------------------------------------------------------- + # If you are running a 386 you should comment this line out. + # +-CPU=-m486 ++# CPU=-m486 + + #---------------------------------------------------------------------- + # If you are experiencing troubles (like core dumps!), then uncomment +@@ -47,7 +47,7 @@ + # adjust the STRIP option to suit compile mode: + # + #DEBUG=-g +-OPT=-O2 ++# OPT=-O2 + + #---------------------------------------------------------------------- + # When using 'DEBUG=-g' above, then comment out the 'strip' line: +@@ -115,7 +115,7 @@ + # Environment variable WAVPLAYPATH will override this value at runtime, if + # present. + # +-PLAYPATH= -DWAVPLAYPATH=\"$(INSTDIR)/wavplay\" ++PLAYPATH= -DWAVPLAYPATH=\"/usr/bin/wavplay\" + + #---------------------------------------------------------------------- + # Minimum DSP sampling rate (default is 4000) +@@ -164,7 +164,7 @@ + # installed). + # + #CUSTINCL= -I/usr/X11R6/include/X11 -I/usr/local/lesstif/include/Xm +- ++CUSTINCL= -I /usr/X11R6/include + #---------------------------------------------------------------------- + # Normally, you shouldn't need to change anything beyond this point: + #---------------------------------------------------------------------- +@@ -173,8 +173,6 @@ + CUSTMOPTS=$(STDGETOPTS) $(PLAYPATH) $(DSPMIN) $(DSPMAX) $(DSPPATH) $(DSPLOCKS) $(USERES) $(NOEDITRES) $(SCHED_PRIORITY) + ELF= # -fPIC + INCL= -I. $(CUSTINCL) +-CCFLAGS= -c $(DEBUG)$(OPT) $(CPU) $(ELF) -fhandle-exceptions $(CUSTMOPTS) -Wall -Wstrict-prototypes +-CFLAGS= -c $(DEBUG)$(OPT) $(CPU) $(ELF) -Wall -Wstrict-prototypes $(CUSTMOPTS) + CC= gcc + CP= g++ + +@@ -184,10 +182,10 @@ + WVDMPO= wavdump.o + + .cc.o: +- $(CP) $(CCFLAGS) $(INCL) $< ++ $(CP) -c $(CCFLAGS) $(CUSTMOPTS) $(INCL) $< + + .c.o: +- $(CC) $(CFLAGS) $(INCL) $< ++ $(CC) -c $(CFLAGS) $(CUSTMOPTS) $(INCL) $< + + all: wavplay wavrec xltwavplay + +diff -u wavplay-1.4/client.c wavplay-1.4-new/client.c +--- wavplay-1.4/client.c 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/client.c 2003-03-11 10:21:50.000000000 +0100 +@@ -135,7 +135,7 @@ + * communications. + */ + if ( (svrIPC = MsgCreate()) < 0 ) { +- err("%s: creating message queue",sys_errlist[errno]); ++ err("%s: creating message queue",strerror(errno)); + return -1; + } + +@@ -153,12 +153,12 @@ + else execl(env_WAVPLAYPATH,buf,NULL); /* No debug yet */ + + /* Returns only if error occurs */ +- fprintf(stderr,"%s: exec of %s\n",sys_errlist[errno],env_WAVPLAYPATH); ++ fprintf(stderr,"%s: exec of %s\n",strerror(errno),env_WAVPLAYPATH); + exit(2); + + } else if ( svrPID < 0 ) { + e = errno; +- err("%s: forking the server process",sys_errlist[errno]); ++ err("%s: forking the server process",strerror(errno)); + MsgClose(svrIPC); + errno = e; /* Restore error code */ + return -1; +@@ -216,7 +216,7 @@ + if ( (rc = MsgSend(svrIPC,&msg,flags,MSGNO_SRVR)) != 0 && erf != NULL ) + err("%s: Sending server message '%s'", + msg_name(cmd), +- sys_errlist[errno]); ++ strerror(errno)); + return rc; /* Zero indicates success */ + } + +@@ -236,7 +236,7 @@ + msg.bytes = strlen(msg.u.tosvr_path.path); + + if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) +- err("%s: Sending server message 'path'",sys_errlist[errno]); ++ err("%s: Sending server message 'path'",strerror(errno)); + return z; + } + +@@ -255,7 +255,7 @@ + msg.bytes = sizeof msg.u.tosvr_bits; + + if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) +- err("%s: Sending server message 'bits'",sys_errlist[errno]); ++ err("%s: Sending server message 'bits'",strerror(errno)); + + return z; + } +@@ -275,7 +275,7 @@ + msg.bytes = sizeof msg.u.tosvr_start_sample; + + if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) +- err("%s: Sending server message 'start_sample'",sys_errlist[errno]); ++ err("%s: Sending server message 'start_sample'",strerror(errno)); + + return z; + } +@@ -294,7 +294,7 @@ + msg.bytes = sizeof msg.u.tosvr_sampling_rate; + + if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) +- err("%s: Sending server message 'sampling_rate'",sys_errlist[errno]); ++ err("%s: Sending server message 'sampling_rate'",strerror(errno)); + + return z; + } +@@ -314,7 +314,7 @@ + msg.bytes = sizeof msg.u.tosvr_chan; + + if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) +- err("%s: Sending server message 'tosvr_chan'",sys_errlist[errno]); ++ err("%s: Sending server message 'tosvr_chan'",strerror(errno)); + + return z; + } +@@ -336,7 +336,7 @@ + msg.bytes = sizeof msg.u.tosvr_record; + + if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) +- err("%s: Sending server message 'tosvr_record'",sys_errlist[errno]); ++ err("%s: Sending server message 'tosvr_record'",strerror(errno)); + + return z; + } +@@ -356,7 +356,7 @@ + msg.bytes = sizeof msg.u.tosvr_debug; + + if ( (z = MsgToServer(svrIPC,&msg,flags)) != 0 && erf != NULL ) +- err("%s: Sending server message 'tosvr_debug'",sys_errlist[errno]); ++ err("%s: Sending server message 'tosvr_debug'",strerror(errno)); + + return z; + } +diff -u wavplay-1.4/file.c wavplay-1.4-new/file.c +--- wavplay-1.4/file.c 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/file.c 2003-03-11 10:30:30.000000000 +0100 +@@ -106,7 +106,7 @@ + WAVFILE *wfile = (WAVFILE *) malloc(sizeof (WAVFILE)); + + if ( wfile == NULL ) { +- err("%s: Allocating WAVFILE structure",sys_errlist[ENOMEM]); ++ err("%s: Allocating WAVFILE structure",strerror(ENOMEM)); + return NULL; + } + +@@ -114,7 +114,7 @@ + + if ( (wfile->Pathname = strdup(Pathname)) == NULL ) { + free(wfile); +- err("%s: Allocating storage for WAVFILE.Pathname",sys_errlist[ENOMEM]); ++ err("%s: Allocating storage for WAVFILE.Pathname",strerror(ENOMEM)); + return NULL; + } + +@@ -166,14 +166,14 @@ + */ + if ( (wfile->fd = open(wfile->Pathname,O_RDONLY)) < 0 ) { + err("%s:\nOpening WAV file %s", +- sys_errlist[errno], ++ strerror(errno), + wfile->Pathname); + goto errxit; + } + + if ( lseek(wfile->fd,0L,SEEK_SET) != 0L ) { + err("%s:\nRewinding WAV file %s", +- sys_errlist[errno], ++ strerror(errno), + wfile->Pathname); + goto errxit; /* Wav file must be seekable device */ + } +@@ -205,12 +205,12 @@ + * Seek to byte count and read dbytes: + */ + if ( lseek(wfile->fd,offset,SEEK_SET) != offset ) { +- err("%s:\nSeeking to WAV data in %s",sys_errlist[errno],wfile->Pathname); ++ err("%s:\nSeeking to WAV data in %s",strerror(errno),wfile->Pathname); + goto errxit; /* Seek failure */ + } + + if ( read(wfile->fd,ubuf,4) != 4 ) { +- err("%s:\nReading dbytes from %s",sys_errlist[errno],wfile->Pathname); ++ err("%s:\nReading dbytes from %s",strerror(errno),wfile->Pathname); + goto errxit; + } + +@@ -308,7 +308,7 @@ + v_erf = erf; /* Set error reporting function */ + + if ( wfile == NULL ) { +- err("%s: WAVFILE pointer is NULL!",sys_errlist[EINVAL]); ++ err("%s: WAVFILE pointer is NULL!",strerror(EINVAL)); + errno = EINVAL; + return -1; + } +@@ -322,9 +322,9 @@ + if ( (e = WaveReadHeader(wfile->fd,&channels,&samplerate,&sample_bits,&samples,&datastart,_v_erf)) != 0 ) + err("%s:\nReading WAV header from %s",emsg,wfile->Pathname); + else if ( lseek(wfile->fd,(long)(datastart-4),SEEK_SET) != (long)(datastart-4) ) +- err("%s:\nSeeking in WAV header file %s",sys_errlist[errno],wfile->Pathname); ++ err("%s:\nSeeking in WAV header file %s",strerror(errno),wfile->Pathname); + else if ( write(wfile->fd,&wfile->wavinfo.Samples,sizeof wfile->wavinfo.Samples) != sizeof wfile->wavinfo.Samples ) +- err("%s:\nWriting in WAV header file %s",sys_errlist[errno],wfile->Pathname); ++ err("%s:\nWriting in WAV header file %s",strerror(errno),wfile->Pathname); + else { + /* + * 'data' chunk was updated OK: Now we have to update the RIFF block +@@ -333,24 +333,24 @@ + */ + if ( ftruncate(wfile->fd,(size_t)fpos) ) + err("%s:\nTruncating file %s to correct size", +- sys_errlist[errno], ++ strerror(errno), + wfile->Pathname); + else if ( lseek(wfile->fd,4L,SEEK_SET) < 0L ) + err("%s:\nSeek 4 for RIFF block update of %s", +- sys_errlist[errno], ++ strerror(errno), + wfile->Pathname); + else { + fpos -= 8; /* Byte count for RIFF block */ + if ( write(wfile->fd,&fpos,sizeof fpos) != sizeof fpos ) + err("%s:\nUpdate of RIFF block count in %s failed", +- sys_errlist[errno], ++ strerror(errno), + wfile->Pathname); + } + } + } + + if ( close(wfile->fd) < 0 ) { +- err("%s:\nClosing WAV file",sys_errlist[errno]); ++ err("%s:\nClosing WAV file",strerror(errno)); + e = errno; /* Save errno value to return */ + } + +@@ -385,7 +385,7 @@ + */ + if ( (wfile->fd = open(wfile->Pathname,O_RDWR|O_TRUNC|O_CREAT,0666)) < 0 ) { + err("%s:\nOpening %s for WAV writing", +- sys_errlist[errno], ++ strerror(errno), + wfile->Pathname); + return NULL; /* Open error */ + } +@@ -427,7 +427,7 @@ + v_erf = erf; /* Set error reporting function */ + + if ( dfile == NULL ) { +- err("%s: Opening DSP device",sys_errlist[errno=ENOMEM]); ++ err("%s: Opening DSP device",strerror(errno=ENOMEM)); + return NULL; + } + +@@ -439,7 +439,7 @@ + */ + if ( (dfile->fd = open(env_AUDIODEV,omode,0)) < 0 ) { + err("%s:\nOpening audio device %s", +- sys_errlist[errno], ++ strerror(errno), + env_AUDIODEV); + goto errxit; + } +@@ -449,7 +449,7 @@ + * setting sampling rate etc. + */ + if ( ioctl(dfile->fd,SNDCTL_DSP_GETBLKSIZE,&dfile->dspblksiz) < 0 ) { +- err("%s: Optaining DSP's block size",sys_errlist[errno]); ++ err("%s: Optaining DSP's block size",strerror(errno)); + goto errxit; + } + +@@ -460,7 +460,7 @@ + /* and 64 for 8130Hz, 8 bit */ + if ( dfile->dspblksiz < 32 || dfile->dspblksiz > 65536 ) { + err("%s: Audio block size (%d bytes)", +- sys_errlist[errno=EINVAL], ++ strerror(errno=EINVAL), + (int)dfile->dspblksiz); + goto errxit; + } +@@ -469,7 +469,7 @@ + * Allocate a buffer to do the I/O through: + */ + if ( (dfile->dspbuf = (char *) malloc(dfile->dspblksiz)) == NULL ) { +- err("%s: For DSP I/O buffer",sys_errlist[errno]); ++ err("%s: For DSP I/O buffer",strerror(errno)); + goto errxit; + } + +@@ -478,7 +478,7 @@ + */ + t = wfile->wavinfo.DataBits; + if ( ioctl(dfile->fd,SNDCTL_DSP_SAMPLESIZE,&t) < 0 ) { +- err("%s: Setting DSP to %u bits",sys_errlist[errno],(unsigned)t); ++ err("%s: Setting DSP to %u bits",strerror(errno),(unsigned)t); + goto errxit; + } + +@@ -488,7 +488,7 @@ + t = wfile->wavinfo.Channels == Stereo ? 1 : 0; + if ( ioctl(dfile->fd,SNDCTL_DSP_STEREO,&t) < 0 ) { + err("%s: Unable to set DSP to %s mode", +- sys_errlist[errno], ++ strerror(errno), + t?"Stereo":"Mono"); + goto errxit; + } +@@ -498,7 +498,7 @@ + */ + ul = wfile->wavinfo.SamplingRate; + if ( ioctl(dfile->fd,SNDCTL_DSP_SPEED,&ul) < 0 ) { +- err("Unable to set audio sampling rate",sys_errlist[errno]); ++ err("Unable to set audio sampling rate",strerror(errno)); + goto errxit; + } + +@@ -530,7 +530,7 @@ + v_erf = erf; /* Set error reporting function */ + + if ( dfile == NULL ) { +- err("%s: DSPFILE is not open",sys_errlist[errno=EINVAL]); ++ err("%s: DSPFILE is not open",strerror(errno=EINVAL)); + return -1; + } + +@@ -540,7 +540,7 @@ + free(dfile); + + if ( close(fd) ) { +- err("%s: Closing DSP fd %d",sys_errlist[errno],fd); ++ err("%s: Closing DSP fd %d",strerror(errno),fd); + return -1; + } + +@@ -565,7 +565,7 @@ + * Check that the WAVFILE is open for reading: + */ + if ( wfile->rw != 'R' ) { +- err("%s: WAVFILE must be open for reading",sys_errlist[errno=EINVAL]); ++ err("%s: WAVFILE must be open for reading",strerror(errno=EINVAL)); + return -1; + } + +@@ -581,7 +581,7 @@ + break; + default : + err("%s: Cannot process %u bit samples", +- sys_errlist[errno=EINVAL], ++ strerror(errno=EINVAL), + (unsigned)wfile->wavinfo.DataBits); + return -1; + } +@@ -593,7 +593,7 @@ + byte_count *= 2; /* Twice as many bytes for stereo */ + else if ( wfile->wavinfo.Channels != Mono ) { + err("%s: DSPFILE control block is corrupted (chan_mode)", +- sys_errlist[errno=EINVAL]); ++ strerror(errno=EINVAL)); + return -1; + } + +@@ -606,7 +606,7 @@ + update_bytes = ((wfile->wavinfo.SamplingRate*byte_modulo) / (RECPLAY_UPDATES_PER_SEC*dfile->dspblksiz)) * dfile->dspblksiz; + + if ( ioctl(dfile->fd,SNDCTL_DSP_SYNC,0) != 0 ) +- err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",sys_errlist[errno]); ++ err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",strerror(errno)); + + /* Seek to requested start sample */ + lseek(wfile->fd,wfile->StartSample*byte_modulo,SEEK_CUR); +@@ -620,8 +620,8 @@ + + if ( (n = read(wfile->fd,dfile->dspbuf,bytes)) != bytes ) { + if ( n >= 0 ) +- err("Unexpected EOF reading samples from WAV file",sys_errlist[errno=EIO]); +- else err("Reading samples from WAV file",sys_errlist[errno]); ++ err("Unexpected EOF reading samples from WAV file",strerror(errno=EIO)); ++ else err("Reading samples from WAV file",strerror(errno)); + goto errxit; + } + +@@ -635,7 +635,7 @@ + } + + if ( write(dfile->fd,dfile->dspbuf,n) != n ) { +- err("Writing samples to audio device",sys_errlist[errno]); ++ err("Writing samples to audio device",strerror(errno)); + goto errxit; + } + +@@ -651,7 +651,7 @@ + + #if 0 /* I think this is doing a destructive flush: disabled */ + if ( ioctl(dfile->fd,SNDCTL_DSP_SYNC,0) != 0 ) +- err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",sys_errlist[errno]); ++ err("%s: ioctl(%d,SNDCTL_DSP_SYNC,0)",strerror(errno)); + #endif + /* Update client time display at end of sucessful play */ + if (clntIPC >= 0) { +@@ -688,7 +688,7 @@ + * Check that the WAVFILE is open for writing: + */ + if ( wfile->rw != 'W' ) { +- err("WAVFILE must be open for writing",sys_errlist[errno=EINVAL]); ++ err("WAVFILE must be open for writing",strerror(errno=EINVAL)); + return -1; + } + +@@ -705,7 +705,7 @@ + break; + default : + err("Cannot process %u bit samples", +- sys_errlist[errno=EINVAL], ++ strerror(errno=EINVAL), + (unsigned)wfile->wavinfo.DataBits); + return -1; + } +@@ -716,7 +716,7 @@ + if ( wfile->wavinfo.Channels == Stereo ) + byte_count *= 2; /* Twice as many bytes for stereo */ + else if ( wfile->wavinfo.Channels != Mono ) { +- err("DSPFILE control block is corrupted (chan_mode)",sys_errlist[errno=EINVAL]); ++ err("DSPFILE control block is corrupted (chan_mode)",strerror(errno=EINVAL)); + return -1; + } + +@@ -747,7 +747,7 @@ + * Read a block of samples: + */ + if ( (n = read(dfile->fd,dfile->dspbuf,bytes)) < 0 ) { +- err("Reading DSP device",sys_errlist[errno]); ++ err("Reading DSP device",strerror(errno)); + goto errxit; + } else if ( n == 0 ) + break; +@@ -756,12 +756,12 @@ + * Write a block of samples to the file: + */ + if ( (bytes = write(wfile->fd,dfile->dspbuf,n)) < 0 ) { +- err("Writing WAV samples to %s",sys_errlist[errno],wfile->Pathname); ++ err("Writing WAV samples to %s",strerror(errno),wfile->Pathname); + goto errxit; + } else if ( bytes != n ) { + if ( bytes > 0 ) + bytes_written += bytes; +- err("Did not write all WAV successfully",sys_errlist[errno=EIO]); ++ err("Did not write all WAV successfully",strerror(errno=EIO)); + goto errxit; + } + +diff -u wavplay-1.4/locks.c wavplay-1.4-new/locks.c +--- wavplay-1.4/locks.c 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/locks.c 2003-03-11 10:31:04.000000000 +0100 +@@ -125,7 +125,7 @@ + */ + if ( (ipc = semget(LockIPCKey,2,IPC_CREAT|IPC_EXCL|0666)) < 0 && errno != EEXIST ) { + err("Unable to create a semaphore set for key 0x%lX", +- sys_errlist[errno], ++ strerror(errno), + LockIPCKey); + return -1; /* No system IPC resources? */ + } +@@ -157,7 +157,7 @@ + */ + e = errno; /* Save error */ + semctl(ipc,0,IPC_RMID,NULL); /* Destroy bad sems */ +- err("%s: Unable to initialize semaphore set values",sys_errlist[errno=e]); ++ err("%s: Unable to initialize semaphore set values",strerror(errno=e)); + return -1; /* Return err ind. */ + } + } +@@ -199,7 +199,7 @@ + } + + if ( s < 0 ) +- err("%s: Locking the %s semaphore",sys_errlist[errno],playrecx?"Record":"Play"); ++ err("%s: Locking the %s semaphore",strerror(errno),playrecx?"Record":"Play"); + + /* + * Exit this procedure: +@@ -232,7 +232,7 @@ + + if ( s < 0 ) + err("%s: Unlocking the %s semaphore", +- sys_errlist[errno], ++ strerror(errno), + playrecx?"Record":"Play"); + + return s; +diff -u wavplay-1.4/main.c wavplay-1.4-new/main.c +--- wavplay-1.4/main.c 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/main.c 2003-03-11 10:23:51.000000000 +0100 +@@ -363,7 +363,7 @@ + dup2(fd,2); + close(fd); + } else fprintf(stderr,"%s: cannot go quiet due to /dev/null\n", +- sys_errlist[errno]); ++ strerror(errno)); + } + + /* +@@ -393,7 +393,7 @@ + */ + if ( wavopts.IPCKey && (wavopts.ipc = OpenDSPLocks(wavopts.IPCKey, + !(wavopts.PlayLock.optChar | wavopts.RecdLock.optChar),v_erf)) < 0 ) { +- err("%s: Unable to get audio locking semaphores.",sys_errlist[errno]); ++ err("%s: Unable to get audio locking semaphores.",strerror(errno)); + exit(1); + } + +@@ -405,7 +405,7 @@ + * Remove old semaphore set : + */ + if ( semctl(wavopts.ipc,0,IPC_RMID,NULL) < 0 ) { +- err("%s: Unable to remove old locking semaphores.",sys_errlist[errno]); ++ err("%s: Unable to remove old locking semaphores.",strerror(errno)); + exit(1); + } + +@@ -422,7 +422,7 @@ + * Get replacement semaphores : + */ + if ( wavopts.IPCKey && (wavopts.ipc = OpenDSPLocks(wavopts.IPCKey,0,v_erf)) < 0 ) { +- err("%s: Unable to get audio locking semaphores.",sys_errlist[errno]); ++ err("%s: Unable to get audio locking semaphores.",strerror(errno)); + exit(1); + } + } +@@ -431,7 +431,7 @@ + * -u play unlock request : + */ + if ( wavopts.PlayLock.optChar == OPF_PLAY_UNLOCK && UnlockDSP(wavopts.ipc,0,v_erf) ) { +- err("%s: -%c unlock request failed.",sys_errlist[errno],OPF_PLAY_UNLOCK); ++ err("%s: -%c unlock request failed.",strerror(errno),OPF_PLAY_UNLOCK); + exit(1); + } + +@@ -439,7 +439,7 @@ + * -U record unlock request : + */ + if ( wavopts.RecdLock.optChar == OPF_RECD_UNLOCK && UnlockDSP(wavopts.ipc,1,v_erf) ) { +- err("%s: -%c unlock request failed.",sys_errlist[errno],OPF_RECD_UNLOCK); ++ err("%s: -%c unlock request failed.",strerror(errno),OPF_RECD_UNLOCK); + exit(1); + } + +@@ -447,7 +447,7 @@ + * -l play lock request : + */ + if ( wavopts.PlayLock.optChar == OPF_PLAY_LOCK && LockDSP(wavopts.ipc,0,v_erf,0) ) { +- err("%s: -%c lock request failed.",sys_errlist[errno],OPF_PLAY_LOCK); ++ err("%s: -%c lock request failed.",strerror(errno),OPF_PLAY_LOCK); + exit(1); + } + +@@ -455,7 +455,7 @@ + * -L record lock request : + */ + if ( wavopts.RecdLock.optChar == OPF_RECD_LOCK && LockDSP(wavopts.ipc,1,v_erf,0) ) { +- err("%s: -%c lock request failed.",sys_errlist[errno],OPF_RECD_LOCK); ++ err("%s: -%c lock request failed.",strerror(errno),OPF_RECD_LOCK); + exit(1); + } + +diff -u wavplay-1.4/save_as.c wavplay-1.4-new/save_as.c +--- wavplay-1.4/save_as.c 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/save_as.c 2003-03-11 10:23:31.000000000 +0100 +@@ -81,7 +81,7 @@ + if ( stat(RECORD_PATH,&src_stat) != 0 ) { + if ( errno == ENOENT ) + ReportErrorf("No file %s to 'save'.",RECORD_PATH); +- else ReportErrorf("%s: doing stat on recorded.wav",sys_errlist[errno]); ++ else ReportErrorf("%s: doing stat on recorded.wav",strerror(errno)); + return; + } + +@@ -139,29 +139,29 @@ + if ( !bCopy ) { + if ( link(RECORD_PATH,path) == 0 ) { /* mv by linking.. */ + if ( unlink(RECORD_PATH) != 0 ) /* And removing the old */ +- ReportErrorf("%s: unlink(%s)",sys_errlist[errno]); ++ ReportErrorf("%s: unlink(%s)",strerror(errno)); + goto rm; /* Success (or mostly success) */ + } else ReportErrorf("%s: link(%s,%s)\nWill try a copy next..", +- sys_errlist[errno],RECORD_PATH,path); ++ strerror(errno),RECORD_PATH,path); + } + + /* + * Copy the file, if control passes to here: + */ + if ( (ifd = open(RECORD_PATH,O_RDONLY,0)) < 0 ) { +- ReportErrorf("%s: opening %s for read.",sys_errlist[errno],RECORD_PATH); ++ ReportErrorf("%s: opening %s for read.",strerror(errno),RECORD_PATH); + goto xit; + } + + if ( (ofd = open(path,O_WRONLY|O_CREAT|O_TRUNC,0644)) < 0 ) { +- ReportErrorf("%s: opening %s for read.",sys_errlist[errno],path); ++ ReportErrorf("%s: opening %s for read.",strerror(errno),path); + close(ifd); + goto xit; + } + + while ( (n = read(ifd,buf,sizeof buf)) > 0 ) + if ( write(ofd,buf,n) < 0 ) { +- ReportErrorf("%s: writing file %s for copy.",sys_errlist[errno],path); ++ ReportErrorf("%s: writing file %s for copy.",strerror(errno),path); + close(ifd); + close(ofd); + unlink(path); +@@ -169,7 +169,7 @@ + } + + if ( n < 0 ) { +- ReportErrorf("%s: reading file %s for copy.",sys_errlist[errno],RECORD_PATH); ++ ReportErrorf("%s: reading file %s for copy.",strerror(errno),RECORD_PATH); + close(ifd); + close(ofd); + unlink(path); +@@ -177,7 +177,7 @@ + } + + if ( fsync(ofd) != 0 ) +- ReportErrorf("%s: fsync(%s)",sys_errlist[errno],path); ++ ReportErrorf("%s: fsync(%s)",strerror(errno),path); + if ( close(ofd) == 0 ) + unlink(RECORD_PATH); /* Delete recorded.wav if copy successful */ + close(ifd); +diff -u wavplay-1.4/server.c wavplay-1.4-new/server.c +--- wavplay-1.4/server.c 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/server.c 2003-03-11 11:36:00.000000000 +0100 +@@ -326,7 +326,11 @@ + /* + * Tell client the pathname we're using for the recording: + */ +- strcpy(svr.path,RECORD_PATH); /* Always record to same place */ ++ if(strlen(RECORD_PATH) >= sizeof(svr.path)-1) { ++ fprintf(stderr, "Record path %s too long. Truncating.\n", RECORD_PATH); ++ } ++ strncpy(svr.path,RECORD_PATH, sizeof(svr.path)-1); /* Always record to same place */ ++ svr.path[sizeof(svr.path)-1]=0; + + msg.msg_type = ToClnt_Path; + strcpy(msg.u.toclnt_path.path,svr.path); +@@ -397,7 +401,7 @@ + * Remove old semaphore set : + */ + if ( semctl(svr.lockIPCID,0,IPC_RMID,NULL) < 0 ) { +- toclnt_fatal(0,"%s: Unable to remove old locking semaphores.",sys_errlist[errno]); ++ toclnt_fatal(0,"%s: Unable to remove old locking semaphores.",strerror(errno)); + exit(13); + } + +@@ -406,7 +410,7 @@ + */ + if ( (svr.lockIPCID = OpenDSPLocks(svr.IPCKey,1,x_erf)) < 0 ) { + toclnt_fatal(0,"%s:\nAttempting to obtain new locking\nsemaphores.", +- sys_errlist[errno]); ++ strerror(errno)); + exit(13); + } + +@@ -497,7 +501,7 @@ + if ( sched_setscheduler(pid,SCHED_FIFO,&rtp) != 0 ) { + z = errno; + fprintf(stderr,"WARNING; %s: sched_setscheduler(%ld,SCHED_FIFO,) // priority=%d;\n", +- sys_errlist[z],(long)pid,(int)SCHED_PRIORITY); ++ strerror(z),(long)pid,(int)SCHED_PRIORITY); + if ( z == EPERM && rtp.sched_priority > 0 ) + fputs("You need setuid root to use sched_setscheduler()\n",stderr); + fflush(stderr); +@@ -531,7 +535,7 @@ + msg.bytes = 0; + + if ( MsgToClient(clntIPC,&msg,flags) != 0 ) { /* Send to client */ +- ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",sys_errlist[errno],flags,clntIPC); ++ ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",strerror(errno),flags,clntIPC); + exit(13); + } + } +@@ -550,7 +554,7 @@ + msg.u.toclnt_bits.DataBits = bits; + + if ( MsgToClient(clntIPC,&msg,flags) != 0 ) { /* Send to client */ +- ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",sys_errlist[errno],flags,clntIPC); ++ ClntMsg("%s: toclnt_ready(flags=0%o;ipc=%d)\n",strerror(errno),flags,clntIPC); + exit(13); + } + } +@@ -602,7 +606,7 @@ + msg.bytes = sizeof msg.u.toclnt_settings; + + if ( (z = MsgToClient(clntIPC,&msg,flags)) != 0 && flags && errno != EAGAIN ) { +- toclnt_fatal(0,"%s: toclnt_settings(flags=0%o;ipc=%d)\n",sys_errlist[errno],flags,clntIPC); ++ toclnt_fatal(0,"%s: toclnt_settings(flags=0%o;ipc=%d)\n",strerror(errno),flags,clntIPC); + exit(13); + } + +@@ -645,7 +649,7 @@ + [sizeof msg.u.toclnt_errmsg.msg - 1] = 0; + + if ( MsgToClient(clntIPC,&msg,flags) != 0 ) { /* Send to client */ +- fprintf(stderr,"%s: toclnt_errmsg(...)\n",sys_errlist[errno]); ++ fprintf(stderr,"%s: toclnt_errmsg(...)\n",strerror(errno)); + exit(13); + } + } +diff -u wavplay-1.4/wavfile.c wavplay-1.4-new/wavfile.c +--- wavplay-1.4/wavfile.c 1999-12-04 01:06:42.000000000 +0100 ++++ wavplay-1.4-new/wavfile.c 2003-03-11 10:22:41.000000000 +0100 +@@ -141,7 +141,7 @@ + waveheader.nDataBytes = databytes; + + if (write (wavefile, &waveheader, sizeof (WAVE_HEADER)) != sizeof (WAVE_HEADER)) { +- err("%s",sys_errlist[errno]); /* wwg: report the error */ ++ err("%s",strerror(errno)); /* wwg: report the error */ + return WW_BADWRITEHEADER ; + } + +@@ -157,7 +157,7 @@ + v_erf = erf; /* wwg: Set error reporting function */ + + if (lseek (wavefile, 0L, SEEK_SET)) { +- err("%s",sys_errlist[errno]); /* wwg: Report error */ ++ err("%s",strerror(errno)); /* wwg: Report error */ + return WR_BADSEEK ; + } + diff --git a/media-sound/wavplay/wavplay-1.4.ebuild b/media-sound/wavplay/wavplay-1.4.ebuild new file mode 100644 index 000000000000..9729e0b05546 --- /dev/null +++ b/media-sound/wavplay/wavplay-1.4.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/media-sound/wavplay/wavplay-1.4.ebuild,v 1.1 2003/04/02 15:35:08 phosphan Exp $ + +inherit eutils + +DESCRIPTION="A command line player/recorder for wav files" +SRC_URI="http://ibiblio.org/pub/linux/apps/sound/players/${P}.tar.gz" +HOMEPAGE="http://orphan//" +LICENSE="GPL-2" +DEPEND="virtual/glibc" +SLOT="0" +KEYWORDS="~x86" + +IUSE="" + +src_unpack() { + unpack ${A} + epatch ${FILESDIR}/${P}.patch +} + +src_compile() { + emake no_x || die +} + +src_install () { + dodir /usr/bin + emake INSTDIR=${D}usr/bin install_no_x || die + # the motif frontend crashes and there are nicer player + # for X anyway + # no suid root install for old packages which use strcpy + dodoc BUGS README + doman *.1 +} + -- cgit v1.2.3-65-gdbad