Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Oct 2005 20:50:43 +0200
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        bug-followup@FreeBSD.org
Cc:        freebsd-multimedia@FreeBSD.org
Subject:   Re: ports/87924: Deprecated port: audio/gramofile
Message-ID:  <20051026185043.GA35025@saturn.kn-bremen.de>
In-Reply-To: <20051025192423.GA9157@saturn.kn-bremen.de>
References:  <20051024135117.1FF236146@k7.mavetju> <20051024172734.GA98392@saturn.kn-bremen.de> <20051025192423.GA9157@saturn.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 25, 2005 at 09:24:23PM +0200, I wrote:
>[...]
>  Anyway, I'm working on an update...

Okay I have now updated the port to 1.6P (P == with perl interface,
it also adds a new filter), and applied the debian patches on top.
Cc'ing -multimedia in case ppl want to test it before its committed
(builds and seems to run on 5.3-i386 and 5.4-amd64 here.)

Removed files: files/patch-aa files/patch-ab
New files: files/patch-20-warning-fixes files/patch-swig
        files/post-patch-Makefile files/post-patch-bplay.c
        files/post-patch-cmf3-swig files/post-patch-playwav.c
        files/post-patch-reclp_main.c

Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/gramofile/Makefile,v
retrieving revision 1.5
diff -u -r1.5 Makefile
--- Makefile	4 Feb 2004 05:18:30 -0000	1.5
+++ Makefile	26 Oct 2005 17:39:21 -0000
@@ -6,18 +6,60 @@
 #
 
 PORTNAME=	gramofile
-PORTVERSION=	1.6
-PORTREVISION=	1
+PORTVERSION=	1.6P
+PORTREVISION=	7
 CATEGORIES=	audio
-MASTER_SITES=	http://panic.et.tudelft.nl/~costar/gramofile/
+MASTER_SITES=	http://www.opensourcepartners.nl/~costar/gramofile/
+
+PATCH_SITES=	${MASTER_SITE_DEBIAN}
+PATCH_SITE_SUBDIR=	pool/main/g/${PORTNAME}
+PATCHFILES=	${PORTNAME}_1.6-7.diff.gz
+PATCH_DIST_STRIP=	-p1
 
 MAINTAINER=	nox@jelal.kn-bremen.de
 COMMENT=	Audio recording and tick/scratch reduction for e.g. vinyl records
 
-ALL_TARGET=	gramofile
+BUILD_DEPENDS=	swig:${PORTSDIR}/devel/swig11
+LIB_DEPENDS=	fftw.2:${PORTSDIR}/math/fftw
+
+.if defined(WITH_SWIGDEPS)
+RUN_DEPENDS+=	${SITE_PERL}/XML/Simple.pm:${PORTSDIR}/textproc/p5-XML-Simple
+RUN_DEPENDS+=	lame:${PORTSDIR}/audio/lame
+RUN_DEPENDS+=	sox:${PORTSDIR}/audio/sox
+.endif
+
+ALL_TARGET=	gramofile perl-swig
 USE_GMAKE=	yes
+USE_PERL5=	yes
+
+.include <bsd.port.pre.mk>
+
+.if ${PERL_LEVEL} < 500600
+PERLCOREDIR=	/usr/libdata/perl/${PERL_VERSION}/mach/CORE
+.else
+PERLCOREDIR=	${LOCALBASE}/lib/perl5/${PERL_VERSION}/mach/CORE
+.endif
+MAKE_ARGS+=	PERLCOREDIR=${PERLCOREDIR}
+
+pre-everything::
+.if !defined(WITH_SWIGDEPS)
+	@${ECHO_MSG} "If you want to use the perl-swig example,"
+	@${ECHO_MSG} "${EXAMPLESDIR}/wav2mp3.pl,"
+	@${ECHO_MSG} "you need additional depenencies.  You can have this port install them by"
+	@${ECHO_MSG} "defining WITH_SWIGDEPS."
+.endif
 
 post-patch:
+	${RM} ${WRKSRC}/debian/20-warning-fixes.dpatch
+	for i in ${WRKSRC}/debian/*.dpatch; do \
+		${PATCH} -d ${WRKSRC} `${SED} -n '/^#PATCHOPTIONS:/{s///;p;q;}' $$i` --forward --quiet <$$i ;\
+	done
+	for i in `${LS} ${FILESDIR}/post-patch-* |${SED} /.orig$$/d`; do \
+		${PATCH} -d ${WRKSRC} --forward --quiet <$$i ;\
+	done
+	${LN} -s ../signpr_cmf3.h ${WRKSRC}/perl-swig
+	${LN} -s ../signpr_cmf3.c ${WRKSRC}/perl-swig
+	${SED} -e 's,/usr/bin/perl,${PERL},' ${WRKSRC}/perl-swig/examples/wav2mp3.pl >${WRKDIR}/wav2mp3.pl
 .for file in bplay.c sndfunc.c
 	@${SED} -e 's,machine/soundcard.h,sys/soundcard.h,' < \
 		${WRKSRC}/bplaysrc/${file} > ${WRKSRC}/bplaysrc/${file}.new
@@ -26,8 +68,13 @@
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/gramofile ${WRKSRC}/bplay_gramo ${PREFIX}/bin
-	${MKDIR} ${PREFIX}/share/doc/gramofile
-	${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/gramofile
+	${INSTALL_DATA} ${WRKSRC}/perl-swig/Gramofile.pm ${SITE_PERL}/${PERL_ARCH}
+	${INSTALL_DATA} ${WRKSRC}/perl-swig/Gramofile.so ${SITE_PERL}/${PERL_ARCH}
+	${MKDIR} ${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
+	${MKDIR} ${EXAMPLESDIR}
+	${INSTALL_DATA} ${WRKSRC}/perl-swig/README ${EXAMPLESDIR}
+	${INSTALL_SCRIPT} ${WRKDIR}/wav2mp3.pl ${EXAMPLESDIR}
 	${LN} -s bplay_gramo ${PREFIX}/bin/brec_gramo
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/audio/gramofile/distinfo,v
retrieving revision 1.2
diff -u -r1.2 distinfo
--- distinfo	31 Mar 2004 03:06:05 -0000	1.2
+++ distinfo	26 Oct 2005 17:34:25 -0000
@@ -1,2 +1,4 @@
-MD5 (gramofile-1.6.tar.gz) = 986c86c6fa17c064bc17c2936cc833e0
-SIZE (gramofile-1.6.tar.gz) = 108596
+MD5 (gramofile-1.6P.tar.gz) = 3b04a9c278626a269ae7b8656a4edd09
+SIZE (gramofile-1.6P.tar.gz) = 117822
+MD5 (gramofile_1.6-7.diff.gz) = 634297336cae62a7c8f6f8c0f99dfdb4
+SIZE (gramofile_1.6-7.diff.gz) = 25428
Index: pkg-descr
===================================================================
RCS file: /home/ncvs/ports/audio/gramofile/pkg-descr,v
retrieving revision 1.2
diff -u -r1.2 pkg-descr
--- pkg-descr	12 Jun 2001 18:41:52 -0000	1.2
+++ pkg-descr	26 Oct 2005 17:34:25 -0000
@@ -1,6 +1,6 @@
-This is version 1.5 of GramoFile, released February 15, 1999. With this
-program you can record audio of (for example) gramophone records, process
-the signal and listen to the results. Because sound files of the
+This is version 1.6P-7 of GramoFile (patches are from the debian package).
+With this program you can record audio of (for example) gramophone records,
+process the signal and listen to the results. Because sound files of the
 .WAV-format are used, it is possible to exchange the files with many other
 programs. Cdrecord(1) can burn CD-Recordables of these, so you can make
 CDs with the music of your favorite records.  The user interface of
@@ -20,4 +20,4 @@
 that will be used during the signal processing to produce one processed
 .wav file for each individual track.
 
-WWW: http://panic.et.tudelft.nl/~costar/gramofile/
+WWW: http://www.opensourcepartners.nl/~costar/gramofile/
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/audio/gramofile/pkg-plist,v
retrieving revision 1.2
diff -u -r1.2 pkg-plist
--- pkg-plist	21 Oct 2003 11:23:58 -0000	1.2
+++ pkg-plist	26 Oct 2005 17:34:25 -0000
@@ -1,5 +1,10 @@
 bin/gramofile
 bin/bplay_gramo
 bin/brec_gramo
+%%SITE_PERL%%/%%PERL_ARCH%%/Gramofile.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/Gramofile.so
 %%DOCSDIR%%/README
 @dirrm %%DOCSDIR%%
+%%EXAMPLESDIR%%/README
+%%EXAMPLESDIR%%/wav2mp3.pl
+@dirrm %%EXAMPLESDIR%%
Index: files/patch-20-warning-fixes
@@ -0,0 +1,171 @@
+# Patch by Tom Harvey <TomHarvey@IndustryFigure.com>
+# Rediffed. [dk]
+# Also changed return type of bplay.c. [dk]
+#PATCHOPTIONS: -p1
+Index: bplaysrc/bplay.c
+@@ -91,7 +91,7 @@
+ extern void cleanupsems(void);
+ 
+ 
+-void main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+ 	
+ 	int recorder = 0;		/* 1 if recording, 0 else */
+@@ -398,6 +398,7 @@
+ 	}
+ 
+ 	finish_curses(0);
++	exit(0);	/* Not reached, but keeps compiler happy. */
+ }
+ 
+ void Usage(void)
+Index: clrscr.c
+@@ -8,6 +8,7 @@
+  */
+ 
+ #include "clrscr.h"
++#include <string.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+ #else
+Index: errorwindow.c
+@@ -11,6 +11,8 @@
+ #include "buttons.h"
+ #include "boxes.h"
+ #include "textwindow.h"
++
++#include <string.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+ #else
+Index: gramofile.c
+@@ -42,7 +42,7 @@
+   exit (0);
+ }
+ 
+-void
++int
+ main (void)
+ {
+   char startdir[250];
+@@ -63,4 +63,5 @@
+   mainmenu (startdir);
+ 
+   finishmenu (0);
++  return 0;
+ }
+Index: mainmenu.c
+@@ -21,6 +21,7 @@
+ #include "tracksplit.h"
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <string.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+ #else
+Index: signpr_cmf.c
+@@ -30,6 +30,7 @@
+ #include "yesnowindow.h"
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <math.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+@@ -88,8 +89,8 @@
+   {
+     " ^: no neat interpolation.              v: broad ticks not filtered out.       ",
+     " ^: less ticks detected.                v: not all of tick interpolated.       ",
+-    " ^: bad following of dynamics.          v: less ticks detected.                ",
+-    " ^: bad following of dynamics.          v: less ticks detected.                ",
++    " ^: bad following of dynamics.          v: fewer ticks detected.               ",
++    " ^: bad following of dynamics.          v: fewer ticks detected.               ",
+     " ^: only strong ticks detected.         v: music-ticks also filtered out.      ",
+     " Discard changes.                                                              ",
+     " Reset default values.                                                         ",
+Index: signpr_cmf2.c
+@@ -32,6 +32,7 @@
+ #include "yesnowindow.h"
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <math.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+@@ -90,9 +91,9 @@
+ 
+   char *helplines[8] =
+   {
+-    " ^: less ticks detected.                v: not all of tick interpolated.       ",
+-    " ^: bad following of dynamics.          v: less ticks detected.                ",
+-    " ^: bad following of dynamics.          v: less ticks detected.                ",
++    " ^: fewer ticks detected.               v: not all of tick interpolated.       ",
++    " ^: bad following of dynamics.          v: fewer ticks detected.               ",
++    " ^: bad following of dynamics.          v: fewer ticks detected.               ",
+     " ^: detected tick length too short      v: detected tick length longer.        ",
+     " ^: only strong ticks detected.         v: music-ticks also filtered out.      ",
+     " Discard changes.                                                              ",
+Index: signpr_doubmed.c
+@@ -19,6 +19,7 @@
+ #endif
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #ifndef SWIG
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+Index: signpr_mean.c
+@@ -19,6 +19,7 @@
+ #endif
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #ifndef SWIG
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+Index: signpr_median.c
+@@ -19,6 +19,7 @@
+ #endif
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #ifndef SWIG
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+Index: signpr_rms.c
+@@ -17,6 +17,7 @@
+ #include "helpline.h"
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <math.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+Index: stringinput.c
+@@ -8,6 +8,7 @@
+  */
+ 
+ #include "stringinput.h"
++#include <string.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+ #else
+Index: tracksplit_parammenu.c
+@@ -16,6 +16,7 @@
+ #include "helpline.h"
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+ #else
+Index: yesnowindow.c
+@@ -11,6 +11,7 @@
+ #include "buttons.h"
+ #include "boxes.h"
+ #include "textwindow.h"
++#include <string.h>
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+ #else
Index: files/patch-swig
@@ -0,0 +1,35 @@
+Index: perl-swig/Makefile
+@@ -6,14 +6,14 @@
+ OBJS := $(patsubst %.c,%.o,$(wildcard *.c))
+ SWIGWRAP := $(patsubst %.c,%_wrap.c,$(wildcard *.c))
+ SWIGOBJS := $(patsubst %.c,%_wrap.o,$(wildcard *.c))
+-PERLCORE = -I/usr/lib/perl5/5.005/i386-linux/CORE 
++PERLCORE = -I${PERLCOREDIR}
+ SHELL = /bin/sh
+ SWIG = swig
+ CC = gcc
+-CFLAGS = -c -Wall -O2 -fpic -DSWIG -DTURBO_MEDIAN -DTURBO_BUFFER -Dbool=char
++CFLAGS = -c -Wall -O2 -fpic -DSWIG -DTURBO_MEDIAN -DTURBO_BUFFER -Dbool=char -DPERL_POLLUTE -I${LOCALBASE}/include
+ LD = ld
+ LDFLAGS = -shared
+-LIBS = -lm -ldl
++LIBS = -lm
+ 
+ swig:: $(LIB)
+ 
+Index: perl-swig/Gramofile.i
+@@ -6,6 +6,7 @@
+ %import signpr_general.i
+ %import signpr_wav.i
+ %import signpr_cmf2.i
++%import signpr_cmf3.i
+ %import signpr_cmf.i
+ %import signpr_copy.i
+ %import signpr_doubmed.i
+Index: perl-swig/signpr_cmf3.i
+@@ -0,0 +1,5 @@
++%module signpr_cmf3
++%{
++#include "signpr_cmf3.h"
++%}
++%include "signpr_cmf3.h"
Index: files/post-patch-Makefile
@@ -0,0 +1,26 @@
+Index: Makefile
+@@ -20,16 +20,16 @@
+ ########## CHOOSE YOUR ARCHITECTURE:    (NOTE: also see bplaysrc/Makefile!)
+ 
+ # For Linux (and maybe others), use these:
+-CFLAGS = -Wall -O2 -funroll-loops -DTURBO_MEDIAN -DTURBO_BUFFER
+-DEPS = $(OBJS) makebplay
+-LIBS = -lncurses -lrfftw -lfftw -lm
+-COPY_A = -a
++#CFLAGS = -Wall -O2 -funroll-loops -DTURBO_MEDIAN -DTURBO_BUFFER
++#DEPS = $(OBJS) makebplay
++#LIBS = -lncurses -lrfftw -lfftw -lm
++#COPY_A = -a
+ 
+ # For FreeBSD (and maybe others), use these:
+-#CFLAGS = -Wall -O2 -DTURBO_MEDIAN -DTURBO_BUFFER
+-#DEPS = $(OBJS) makebplay
+-#LIBS = -lncurses  -lrfftw -lfftw -lm
+-#COPY_A = -p
++CFLAGS += -Wall -DTURBO_MEDIAN -DTURBO_BUFFER -I${LOCALBASE}/include
++DEPS = $(OBJS) makebplay
++LIBS = -L${LOCALBASE}/lib -lncurses  -lrfftw -lfftw -lm
++COPY_A = -p
+ 
+ # For IRIX (and maybe others), use these:
+ #CFLAGS = -Wall -O2 -DTURBO_MEDIAN -DTURBO_BUFFER -DSWAP_ENDIAN -DOLD_CURSES
Index: files/post-patch-bplay.c
@@ -0,0 +1,19 @@
+Index: bplaysrc/bplay.c
+@@ -33,14 +33,16 @@
+ /* Needed for BYTE_ORDER and BIG/LITTLE_ENDIAN macros. */
+ #ifndef _BSD_SOURCE
+ # define _BSD_SOURCE
+-# include <endian.h>
++# include <sys/endian.h>
+ # undef  _BSD_SOURCE
+ #else
+ # include <endian.h>
+ #endif
+ 
+ #include <sys/types.h>
++#ifndef __FreeBSD__
+ #include <byteswap.h>
++#endif
+ 
+ /* Adapted from the byteorder macros in the Linux kernel. */
+ #if BYTE_ORDER == LITTLE_ENDIAN
Index: files/post-patch-cmf3-swig
@@ -0,0 +1,93 @@
+Index: signpr_cmf3.c
+@@ -24,6 +24,7 @@
+ #include "signpr_cmf3.h"
+ #include "signpr_general.h"
+ #include "signpr_l1fit.h"
++#ifndef SWIG
+ #include "errorwindow.h"
+ #include "stringinput.h"
+ #include "buttons.h"
+@@ -31,14 +32,17 @@
+ #include "boxes.h"
+ #include "helpline.h"
+ #include "yesnowindow.h"
++#endif
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <math.h>
++#ifndef SWIG
+ #ifndef OLD_CURSES
+ #include <ncurses.h>
+ #else
+ #include <curses.h>
+ #endif
++#endif
+ 
+ #ifdef DEBUGFILE
+ static FILE *debugf=NULL;
+@@ -88,6 +92,7 @@
+ #define SIGNPR_CMF3_PARAMSCR_HEADERTEXT "CMF IIF [SIXTH ORDER] - Parameters"
+ #endif
+ 
++#ifndef SWIG
+ void
+ cond_median3_param_screen (parampointer_t parampointer)
+ {
+@@ -579,6 +584,7 @@
+   free (threshold1str.string);
+   free (threshold2str.string);
+ }
++#endif /* SWIG */
+ 
+ void
+ init_cond_median3_filter (int filterno, parampointer_t parampointer)
+@@ -886,7 +886,11 @@
+ fillfuncpointer_t cond_median3_gate_pointer = cond_median3_gate;
+ 
+ sample_t
++#ifndef SWIG
+ cond_median3_filter (parampointer_t parampointer)
++#else
++cond_median3_filter (parampointer_t parampointer, int *filter_type)
++#endif
+ {
+   sample_t sample, gate, returnval;
+   /* Length of the fft we'll do to get the smoothed interpolate */
+@@ -901,7 +901,11 @@
+   int toleft, toright, nfreq;
+   signed short maxval;
+ 
++#ifndef SWIG
+   advance_current_pos (&parampointer->buffer, parampointer->filterno);
++#else
++  advance_current_pos (&parampointer->buffer, parampointer->filterno, filter_type);
++#endif
+ 
+   advance_current_pos_custom (&parampointer->buffer4,
+ 			      cond_median3_gate_pointer,
+Index: signpr_cmf3.h
+@@ -23,7 +23,11 @@
+ 
+ void delete_cond_median3_filter (parampointer_t parampointer);
+ 
++#ifndef SWIG
+ sample_t cond_median3_filter (parampointer_t parampointer);
++#else
++sample_t cond_median3_filter (parampointer_t parampointer, int *filter_type);
++#endif
+ 
+ 
+ #endif /* HAVE_SIGNPR_CMF3_H */
+Index: signpr_general.c
+@@ -627,7 +627,11 @@
+ 	break;
+ 
+       case COND_MEDIAN3_FILTER:
++#ifndef SWIG
+ 	return cond_median3_filter (parampointerarray[filterno]);
++#else
++	return cond_median3_filter (parampointerarray[filterno], filter_type);
++#endif
+ 	break;
+ 
+       case EXPERIMENT_FILTER:
Index: files/post-patch-playwav.c
@@ -0,0 +1,10 @@
+Index: playwav.c
+@@ -32,7 +32,7 @@
+ #include <curses.h>
+ #endif
+ 
+-#define BPLAYCMD "/usr/lib/gramofile/bplay_gramo"
++#define BPLAYCMD "bplay_gramo"
+ 
+ void
+ playwav_playit (char *filename, int usebeginendtime, double begintime,
Index: files/post-patch-reclp_main.c
@@ -0,0 +1,10 @@
+Index: reclp_main.c
+@@ -18,7 +18,7 @@
+ #include <curses.h>
+ #endif
+ 
+-#define BRECCMD "/usr/lib/gramofile/brec_gramo"
++#define BRECCMD "brec_gramo"
+ 
+ void
+ record_from_lp (char *startdir)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051026185043.GA35025>