ports/69056: [ maintainer ] audio/wmix: update to 3.1

Roman Bogorodskiy bogorodskiy at inbox.ru
Wed Jul 14 14:50:19 UTC 2004


>Number:         69056
>Category:       ports
>Synopsis:       [ maintainer ] audio/wmix: update to 3.1
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jul 14 14:50:18 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Roman Bogorodskiy
>Release:        FreeBSD 5.2.1-RELEASE-p8 i386
>Organization:
>Environment:
System: FreeBSD lame.novel.ru 5.2.1-RELEASE-p8 FreeBSD 5.2.1-RELEASE-p8 #5: Sat Jun 19 22:04:33 MSD 2004 root at lame.novel.ru:/usr/obj/usr/src/sys/NOV i386


>Description:
	- Update to 3.1
	- Install documentation
	- Request for maintainership
>How-To-Repeat:
>Fix:

diff -ruN wmix.orig/Makefile wmix/Makefile
--- wmix.orig/Makefile	Wed Jul 14 16:26:11 2004
+++ wmix/Makefile	Wed Jul 14 18:35:46 2004
@@ -6,18 +6,35 @@
 #
 
 PORTNAME=	wmix
-PORTVERSION=	2.20
+PORTVERSION=	3.1
 CATEGORIES=	audio windowmaker
 MASTER_SITES=	http://www.ne.jp/asahi/linux/timecop/software/
 
-MAINTAINER=	ports at FreeBSD.org
+MAINTAINER=	bogorodskiy at inbox.ru
 COMMENT=	An audio mixer for the WindowMaker dock with TV-like OSD
 
+USE_REINPLACE=	yes
 PLIST_FILES=	bin/wmix
-USE_XPM=	YES
-USE_X_PREFIX=	YES
+ALL_TARGET=	${PORTNAME}
+USE_XPM=	yes
+USE_X_PREFIX=	yes
+
+PORTDOCS=	AUTHORS BUGS INSTALL NEWS README
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|PORT_CC|${CC}|g' ${WRKSRC}/Makefile
+	@${REINPLACE_CMD} -e 's|PORT_CFLAGS|${CFLAGS} -I${X11BASE}/include|g' ${WRKSRC}/Makefile
+	@${REINPLACE_CMD} -e 's|PORT_LDFLAGS|${LDFLAGS} -L${X11BASE}/lib|g' ${WRKSRC}/Makefile
 
 do-install:
-	@${INSTALL_PROGRAM} ${WRKSRC}/wmix ${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKSRC}/wmix ${PREFIX}/bin
+
+post-install:
+.ifndef (NOPORTDOCS)
+	@${MKDIR} ${DOCSDIR}
+.for i in ${PORTDOCS}
+	@${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR}
+.endfor
+.endif
 
 .include <bsd.port.mk>
diff -ruN wmix.orig/distinfo wmix/distinfo
--- wmix.orig/distinfo	Wed Jul 14 16:26:11 2004
+++ wmix/distinfo	Wed Jul 14 16:26:50 2004
@@ -1,2 +1,2 @@
-MD5 (wmix-2.20.tar.gz) = c1d33e155a582cfebdb9ff9caf518c69
-SIZE (wmix-2.20.tar.gz) = 42665
+MD5 (wmix-3.1.tar.gz) = 62f6e86f7558f193e081dc29444a6699
+SIZE (wmix-3.1.tar.gz) = 21344
diff -ruN wmix.orig/files/patch-Makefile wmix/files/patch-Makefile
--- wmix.orig/files/patch-Makefile	Thu Jan  1 03:00:00 1970
+++ wmix/files/patch-Makefile	Wed Jul 14 16:56:45 2004
@@ -0,0 +1,12 @@
+--- Makefile.orig	Wed Jul 14 16:55:24 2004
++++ Makefile	Wed Jul 14 16:56:37 2004
+@@ -1,6 +1,6 @@
+-CC		= gcc
+-CFLAGS		= -O3 -W -Wall
+-LDFLAGS		= -L/usr/X11R6/lib
++CC		= PORT_CC
++CFLAGS		= PORT_CFLAGS
++LDFLAGS		= PORT_LDFLAGS
+ OBJECTS		= misc.o mixer-oss.o ui_x.o wmix.o
+ 
+ # where to install this program (also for packaging stuff)
diff -ruN wmix.orig/files/patch-aa wmix/files/patch-aa
--- wmix.orig/files/patch-aa	Wed Jul 14 16:26:11 2004
+++ wmix/files/patch-aa	Thu Jan  1 03:00:00 1970
@@ -1,20 +0,0 @@
---- Makefile.orig	Thu Mar 29 13:49:38 2001
-+++ Makefile	Mon Apr 30 14:49:50 2001
-@@ -1,6 +1,5 @@
--CC	= gcc
--CFLAGS	= -O2 -Wall -I/usr/X11R6/include -DCUSTOM
--LIBS	= -L/usr/X11R6/lib -lX11 -lXpm -lXext
-+CFLAGS += -Wall -I/usr/local/include -I/usr/X11R6/include -DCUSTOM
-+LDFLAGS = -L/usr/local/lib -L/usr/X11R6/lib -lX11 -lXpm -lXext
- 
- SRCS	= mix.c config.c
- OBJS	= mix.o config.o
-@@ -8,7 +7,7 @@
- all:	mixer
- 
- mixer:	$(OBJS)
--	$(CC) $(CFLAGS) -o wmix $(OBJS) $(LIBS)
-+	$(CC) $(CFLAGS) $(LDFLAGS) -o wmix $(OBJS)
- 
- clean:
- 	rm -f *.o *~ wmix trace
diff -ruN wmix.orig/files/patch-ab wmix/files/patch-ab
--- wmix.orig/files/patch-ab	Wed Jul 14 16:26:11 2004
+++ wmix/files/patch-ab	Thu Jan  1 03:00:00 1970
@@ -1,146 +0,0 @@
-*** mix.c.orig	Fri Apr 20 11:52:28 2001
---- mix.c	Sun Jul 22 12:19:34 2001
-***************
-*** 20,26 ****
---- 20,28 ----
-  #include <stdlib.h>
-  #include <string.h>
-  #include <ctype.h>
-+ #ifdef linux
-  #include <getopt.h>
-+ #endif
-  #include <time.h>
-  #include <unistd.h>
-  #include <fcntl.h>
-***************
-*** 887,899 ****
-  #ifdef CUSTOM
-  #undef SOUND_DEVICE_NAMES
-  
-! #define SOUND_DEVICE_NAMES	{"Master Volume", "Bass", "Treble", "FM Synth Volume", "PCM - Wave Volume", "PC Speaker", "Line In Level", \
-! 				 "Microphone Level", "CD Input Volume", "Mixer Level", "PCM2 - Wave Volume", "Recording Volume", "Input Gain", "Output Gain", \
-! 				 "Line1 Input", "Line2 Input", "Line3 Input", "Digital 1", "Digital 2", "Digital 3", \
-! 				 "Phone Input", "Phone Output", "Video Card Volume", "Radio Card volume", "Monitor Volume"}
-  #endif
-      char *names[] = SOUND_DEVICE_NAMES;
-      struct mixer_info mixer_info;
-  
-      if ((mixer_fd = open(value("mixerdev"), O_RDWR)) == -1) {
-  	printf("error: cannot open mixer device %s\n", value("mixerdev"));
---- 889,903 ----
-  #ifdef CUSTOM
-  #undef SOUND_DEVICE_NAMES
-  
-! #define SOUND_DEVICE_NAMES	{" Master Volume", " Bass", " Treble", " Synth Volume", " Wave Volume", " PC Speaker", " Line In Level", \
-! 				 " Microphone Level", " CD Volume", " Mixer Level", " Wave 2 Volume", " Recording Volume", " Input Gain", " Output Gain", \
-! 				 " Line1 Input", " Line2 Input", " Line3 Input", " Digital 1", " Digital 2", " Digital 3", \
-! 				 " Phone Input", " Phone Output", " Video Card Volume", " Radio Card Volume", " Monitor Volume"}
-  #endif
-      char *names[] = SOUND_DEVICE_NAMES;
-+ #ifndef __FreeBSD__
-      struct mixer_info mixer_info;
-+ #endif
-  
-      if ((mixer_fd = open(value("mixerdev"), O_RDWR)) == -1) {
-  	printf("error: cannot open mixer device %s\n", value("mixerdev"));
-***************
-*** 921,932 ****
-  	exit(1);
-      }
-  
-      if (ioctl(mixer_fd, SOUND_MIXER_INFO, &mixer_info) == -1) {
-  	printf("error: cannot get mixer info off mixer\n");
-  	exit(1);
-      }
-- 
-      printf("%s (%s) [", mixer_info.name, mixer_info.id);
-      for (count = 0; count < SOUND_MIXER_NRDEVICES; count++) {
-  	if ((1 << count) & devmask) {
-  	    strcpy(mixer[nchannels].name, names[count]);
---- 925,940 ----
-  	exit(1);
-      }
-  
-+ #ifdef __FreeBSD__
-+     printf("[");
-+ #else
-      if (ioctl(mixer_fd, SOUND_MIXER_INFO, &mixer_info) == -1) {
-  	printf("error: cannot get mixer info off mixer\n");
-  	exit(1);
-      }
-      printf("%s (%s) [", mixer_info.name, mixer_info.id);
-+ #endif
-+ 
-      for (count = 0; count < SOUND_MIXER_NRDEVICES; count++) {
-  	if ((1 << count) & devmask) {
-  	    strcpy(mixer[nchannels].name, names[count]);
-***************
-*** 946,951 ****
---- 954,960 ----
-  	    printf("0");
-  	}
-      }
-+ 
-      printf("]\n");
-  }
-  
-***************
-*** 953,971 ****
-  {
-      int i;
-      int left, right, foo;
-      int retry = 3;
-      int stat = 1;
-      struct mixer_info mixer_info;
-      static int modify_counter;
--     static Mixer old_mix[SOUND_MIXER_NRDEVICES];
-  
-      /* check for possible failure here - happens with older kernels */
-      if (ioctl(mixer_fd, SOUND_MIXER_INFO, &mixer_info)) {
-  	while (retry-- && stat)
-  	    stat = ioctl(mixer_fd, SOUND_MIXER_INFO, &mixer_info);
-      }
-  
-!     if (mixer_info.modify_counter != modify_counter) {
-  	i = 0;
-  	/* this happens if mixer was changed by another program,
-  	 * so we need to update the values.  We do not know, under OSS,
---- 962,987 ----
-  {
-      int i;
-      int left, right, foo;
-+     char doupdate = 0;
-+     static Mixer old_mix[SOUND_MIXER_NRDEVICES];
-+ #ifndef __FreeBSD__
-      int retry = 3;
-      int stat = 1;
-      struct mixer_info mixer_info;
-      static int modify_counter;
-  
-      /* check for possible failure here - happens with older kernels */
-      if (ioctl(mixer_fd, SOUND_MIXER_INFO, &mixer_info)) {
-  	while (retry-- && stat)
-  	    stat = ioctl(mixer_fd, SOUND_MIXER_INFO, &mixer_info);
-      }
-+     doupdate = mixer_info.modify_counter != modify_counter;
-+ #else
-+     /* clearly something better would be nice, but hey, it works! */
-+     doupdate = 1;
-+ #endif
-  
-!     if (doupdate) {
-  	i = 0;
-  	/* this happens if mixer was changed by another program,
-  	 * so we need to update the values.  We do not know, under OSS,
-***************
-*** 1022,1028 ****
---- 1038,1046 ----
-  	    }
-  	}
-      }
-+ #ifndef __FreeBSD__
-      modify_counter = mixer_info.modify_counter;
-+ #endif
-      memcpy(old_mix, mixer, sizeof(mixer));
-  }
-  
diff -ruN wmix.orig/files/patch-ac wmix/files/patch-ac
--- wmix.orig/files/patch-ac	Wed Jul 14 16:26:11 2004
+++ wmix/files/patch-ac	Thu Jan  1 03:00:00 1970
@@ -1,29 +0,0 @@
-*** config.c.orig	Sun Apr  1 22:43:30 2001
---- config.c	Sun Apr  1 22:43:51 2001
-***************
-*** 135,141 ****
-  	free((struct var *) vars);
-  	vars = vp;
-      }
-!     if (vars)
-  	for (new = vars; new->v_next;)
-  	    if (!strcmp(new->v_next->v_name, name)) {
-  		vp = new->v_next->v_next;
---- 135,141 ----
-  	free((struct var *) vars);
-  	vars = vp;
-      }
-!     if (vars) {
-  	for (new = vars; new->v_next;)
-  	    if (!strcmp(new->v_next->v_name, name)) {
-  		vp = new->v_next->v_next;
-***************
-*** 143,148 ****
---- 143,149 ----
-  		new->v_next = vp;
-  	    } else
-  		new = new->v_next;
-+     }
-  }
-  
-  char *vcopy(char *str)
diff -ruN wmix.orig/files/patch-mixer-oss.c wmix/files/patch-mixer-oss.c
--- wmix.orig/files/patch-mixer-oss.c	Thu Jan  1 03:00:00 1970
+++ wmix/files/patch-mixer-oss.c	Wed Jul 14 18:07:40 2004
@@ -0,0 +1,69 @@
+--- mixer-oss.c.orig	Wed Jul 14 18:00:14 2004
++++ mixer-oss.c	Wed Jul 14 17:58:50 2004
+@@ -94,7 +94,9 @@
+ 
+ static bool get_mixer_state(void)
+ {
++#if 0
+     struct mixer_info m_info;
++#endif
+     int dev_lr_volume, dev_left_volume, dev_right_volume;
+     float left, right;
+     int srcmask;
+@@ -103,14 +105,16 @@
+     /* to really keep track of updates */
+     static MixerChannel oldmixer[SOUND_MIXER_NRDEVICES];
+ 
++#if 0
+     ioctl(mixer_fd, SOUND_MIXER_INFO, &m_info);
+ 
++   
+     if (m_info.modify_counter == prev_modify_counter)
+ 	/*
+ 	 * Mixer state has not changed
+ 	 */
+ 	return false;
+-
++#endif
+     /* Mixer state was changed by another program, so we need
+      * to update. As OSS cannot tell us specifically which
+      * channels changed, we read all of them in.
+@@ -157,7 +161,7 @@
+ 	}
+ 	mixer[ch].is_recording = ((1 << mixer[ch].dev) & srcmask) != 0;
+     }
+-    prev_modify_counter = m_info.modify_counter;
++    /* prev_modify_counter = m_info.modify_counter; */
+     /* check if this was due to OSS stupidity or if we really changed */
+     if (!memcmp(&mixer, &oldmixer, sizeof(mixer))) {
+ 	memcpy(&oldmixer, &mixer, sizeof(mixer));
+@@ -224,7 +228,9 @@
+ void mixer_init(const char *mixer_device, bool verbose, const char * exclude[])
+ {
+     int devmask, srcmask, recmask, stmask;
++#if 0
+     struct mixer_info m_info;
++#endif
+     int count;
+     int mask;
+ 
+@@ -256,15 +262,19 @@
+ 	exit(EXIT_FAILURE);
+     }
+ 
++#if 0
+     if (ioctl(mixer_fd, SOUND_MIXER_INFO, &m_info) == -1) {
+ 	fputs("error: could not read mixer info\n", stderr);
++	perror("ioctl");
+ 	exit(EXIT_FAILURE);
+     }
+ 
++    
+     if (verbose) {
+ 	printf("%s (%s)\n", m_info.name, m_info.id);
+ 	puts("Supported channels:");
+     }
++#endif
+     for (count = 0; count < SOUND_MIXER_NRDEVICES; count++) {
+ 	mask = 1 << count;
+ 	if ((mask & devmask) && (!is_exclude((short_names[count]),exclude))) {
diff -ruN wmix.orig/files/patch-wmix.c wmix/files/patch-wmix.c
--- wmix.orig/files/patch-wmix.c	Thu Jan  1 03:00:00 1970
+++ wmix/files/patch-wmix.c	Wed Jul 14 18:15:55 2004
@@ -0,0 +1,10 @@
+--- wmix.c.orig	Wed Jul 14 18:15:17 2004
++++ wmix.c	Wed Jul 14 18:15:26 2004
+@@ -24,7 +24,6 @@
+ #include <string.h>
+ #include <signal.h>
+ #include <string.h>
+-#include <getopt.h>
+ #include <unistd.h>
+ 
+ #include <X11/X.h>


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list