From owner-freebsd-ports Mon Aug 24 04:40:10 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA13230 for freebsd-ports-outgoing; Mon, 24 Aug 1998 04:40:10 -0700 (PDT) (envelope-from owner-freebsd-ports@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id EAA13161 for ; Mon, 24 Aug 1998 04:40:05 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id EAA24359; Mon, 24 Aug 1998 04:40:01 -0700 (PDT) Received: (from nobody@localhost) by hub.freebsd.org (8.8.8/8.8.8) id EAA12425; Mon, 24 Aug 1998 04:32:02 -0700 (PDT) (envelope-from nobody) Message-Id: <199808241132.EAA12425@hub.freebsd.org> Date: Mon, 24 Aug 1998 04:32:02 -0700 (PDT) From: jsutton@webnet.com.au To: freebsd-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: www-1.0 Subject: ports/7735: new port: mp3encode - mpeg audio file encoder Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 7735 >Category: ports >Synopsis: new port: mp3encode - mpeg audio file encoder >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Aug 24 04:40:00 PDT 1998 >Last-Modified: >Originator: Joel Sutton >Organization: >Release: 2.2.6-R >Environment: FreeBSD solsbury-hill 2.2.6-RELEASE FreeBSD 2.2.6-RELEASE #0: Tue May 26 07:49:45 EST 1998 jsutton@solsbury-hill:/usr/src/sys/compile/NETATALK i386 >Description: I noticed another was submitted a while ago but I thought it might be nice for people to have a choice. This port does Layers 1-3 also. Thanks muchly, Joel... >How-To-Repeat: >Fix: #!/bin/sh # This is a shell archive (produced by GNU sharutils 4.1.4). # To extract the files from this archive, save it to some FILE, remove # everything before the `!/bin/sh' line above, then type `sh FILE'. # # Made on 1998-08-24 20:57 EST by . # Source directory was `/usr/home/jsutton/todo'. # # Existing files will *not* be overwritten unless `-c' is specified. # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 55 (null) -rw-rw-r-- # 46 (null) -rw-r--r-- # 1423 (null) -rw-r--r-- # 760 (null) -rw-r--r-- # 382 (null) -rw-rw-r-- # 7588 (null) -rw-rw-r-- # 680 (null) -rw-rw-r-- # 953 (null) -rw-rw-r-- # 1320 (null) -rw-r--r-- # touch -am 1231235999 $$.touch >/dev/null 2>&1 if test ! -f 1231235999 && test -f $$.touch; then shar_touch=touch else shar_touch=: echo echo 'WARNING: not restoring timestamps. Consider getting and' echo "installing GNU \`touch', distributed in GNU File Utilities..." echo fi rm -f 1231235999 $$.touch # # ============= mp3encode/files/md5 ============== if test ! -d 'mp3encode'; then echo 'x - creating directory mp3encode' mkr 'mp3encode' fi if test ! -d 'mp3encode/files'; then echo 'x - creating directory mp3encode/files' mkdir 'mp3encode/files' fi if test -f 'mp3encode/files/md5' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/files/md5 (file already exists)' else echo 'x - extracting mp3encode/files/md5 (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/files/md5' && MD5 (dist10.tar.gz) = 62cee8daa6041b8a2d0a9a1ef18163b4 SHAR_EOF $shar_touch -am 0802162898 'mp3encode/files/md5' && chmod 0664 'mp3encode/files/md5' || echo 'restore of mp3encode/files/md5 failed' shar_count="`wc -c < 'mp3encode/files/md5'`" test 55 -eq "$shar_count" || echo "mp3encode/files/md5: original size 55, current size $shar_count" fi # ============= mp3encode/pkg/COMMENT ============== if test ! -d 'mp3encode/pkg'; then echo 'x - creating directory mp3encode/pkg' mkdir 'mp3encode/pkg' fi if test -f 'mp3encode/pkg/COMMENT' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/pkg/COMMENT (file already exists)' else echo 'x - extracting mp3encode/pkg/COMMENT (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/pkg/COMMENT' && MPEG layer I, II and III audio file encoder. SHAR_EOF $shar_touch -am 0521151798 'mp3encode/pkg/COMMENT' && chmod 0644 'mp3encode/pkg/COMMENT' || echo 'restore of mp3encode/pkg/COMMENT failed' shar_count="`wc -c < 'mp3encode/pkg/COMMENT'`" test 46 -eq "$shar_count" || echo "mp3encode/pkg/COMMENT: original size 46, current size $shar_count" fi # ============= mp3encode/pkg/DESCR ============== if test -f 'mp3encode/pkg/DESCR' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/pkg/DESCR (file already exists)' else echo 'x - extracting mp3encode/pkg/DESCR (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/pkg/DESCR' && INTRODUCTION ============ mp3encode is a package for encoding MPEG layer I, II and III audio files. This is the reference implementation so don't expect spectacular performance. X Driving encode is pretty simple although it may take some practice to work out an optimal compression rate. AIFF files are the only type of files that seem to work with this version so you may need to install a port like "sox" to convert your file types. I use the "nas" port to record and edit all of my audio files but so long as you have a valid AIFF file it shouldn't matter what you use. X Although the source code includes a decoder I have decided not to port it because we already have a couple of top class mpeg decoders in the ports collection. X HINTS & TIPS ============ Physcoacoustic model 2 is the only supported model in layer III encoding. A bit-rate of 128Kbps is adequate for most forms of music but you may need to turn down the compression to 160Kbps if the music is particularly atmospheric. X Vocal spoken recordings are best encoded using a 32Kbps bit-rate with layer II (layer III makes you sound like a Dalek under digital water) with a 32kHz sample rate in mono. Using this method I have managed to get about 5 minutes of AM Radio quality audio into around 1 MB. X MISC ==== If anyone finds any bugs in this software please let me know and include patches to fix them. X Share and enjoy, X Joel... jsutton@webnet.com.au SHAR_EOF $shar_touch -am 0805205698 'mp3encode/pkg/DESCR' && chmod 0644 'mp3encode/pkg/DESCR' || echo 'restore of mp3encode/pkg/DESCR failed' shar_count="`wc -c < 'mp3encode/pkg/DESCR'`" test 1423 -eq "$shar_count" || echo "mp3encode/pkg/DESCR: original size 1423, current size $shar_count" fi # ============= mp3encode/pkg/PLIST ============== if test -f 'mp3encode/pkg/PLIST' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/pkg/PLIST (file already exists)' else echo 'x - extracting mp3encode/pkg/PLIST (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/pkg/PLIST' && bin/encode lib/mp3encode/1cb0 lib/mp3encode/1cb1 lib/mp3encode/1cb2 lib/mp3encode/1cb4 lib/mp3encode/1cb5 lib/mp3encode/1cb6 lib/mp3encode/1th0 lib/mp3encode/1th1 lib/mp3encode/1th2 lib/mp3encode/1th4 lib/mp3encode/1th5 lib/mp3encode/1th6 lib/mp3encode/2cb0 lib/mp3encode/2cb1 lib/mp3encode/2cb2 lib/mp3encode/2cb4 lib/mp3encode/2cb5 lib/mp3encode/2cb6 lib/mp3encode/2th0 lib/mp3encode/2th1 lib/mp3encode/2th2 lib/mp3encode/2th4 lib/mp3encode/2th5 lib/mp3encode/2th6 lib/mp3encode/absthr_0 lib/mp3encode/absthr_1 lib/mp3encode/absthr_2 lib/mp3encode/alloc_0 lib/mp3encode/alloc_1 lib/mp3encode/alloc_2 lib/mp3encode/alloc_3 lib/mp3encode/alloc_4 lib/mp3encode/dewindow lib/mp3encode/enwindow lib/mp3encode/huffcode lib/mp3encode/huffdec lib/mp3encode/psy_data SHAR_EOF $shar_touch -am 0705105198 'mp3encode/pkg/PLIST' && chmod 0644 'mp3encode/pkg/PLIST' || echo 'restore of mp3encode/pkg/PLIST failed' shar_count="`wc -c < 'mp3encode/pkg/PLIST'`" test 760 -eq "$shar_count" || echo "mp3encode/pkg/PLIST: original size 760, current size $shar_count" fi # ============= mp3encode/patches/patch-aa ============== if test ! -d 'mp3encode/patches'; then echo 'x - creating directory mp3encode/patches' mkdir 'mp3encode/patches' fi if test -f 'mp3encode/patches/patch-aa' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/patches/patch-aa (file already exists)' else echo 'x - extracting mp3encode/patches/patch-aa (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/patches/patch-aa' && *** Makefile.in.orig Wed May 20 22:00:23 1998 --- Makefile.in Wed May 20 22:07:53 1998 *************** *** 40,46 **** X X NINT_SWITCH = @NINTSW@ X ! CC_SWITCHES = -g -O -DUNIX -DBS_FORMAT=BINARY $(NINT_SWITCH) -DNDEBUG X X PGM = encode X --- 40,46 ---- X X NINT_SWITCH = @NINTSW@ X ! CC_SWITCHES = -g -O3 -DUNIX -DBS_FORMAT=BINARY $(NINT_SWITCH) -DNDEBUG X X PGM = encode X SHAR_EOF $shar_touch -am 0521141198 'mp3encode/patches/patch-aa' && chmod 0664 'mp3encode/patches/patch-aa' || echo 'restore of mp3encode/patches/patch-aa failed' shar_count="`wc -c < 'mp3encode/patches/patch-aa'`" test 382 -eq "$shar_count" || echo "mp3encode/patches/patch-aa: original size 382, current size $shar_count" fi # ============= mp3encode/patches/patch-ab ============== if test -f 'mp3encode/patches/patch-ab' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/patches/patch-ab (file already exists)' else echo 'x - extracting mp3encode/patches/patch-ab (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/patches/patch-ab' && *** musicin.c.orig Wed May 20 22:09:24 1998 --- musicin.c Wed May 20 22:15:02 1998 *************** *** 161,167 **** X X do { X printf("Enter PCM input file name : "); ! gets(original_file_name); X if (original_file_name[0] == NULL_CHAR) X printf("PCM input file name is required.\n"); X } while (original_file_name[0] == NULL_CHAR); --- 161,167 ---- X X do { X printf("Enter PCM input file name : "); ! fgets(original_file_name,255,stdin); X if (original_file_name[0] == NULL_CHAR) X printf("PCM input file name is required.\n"); X } while (original_file_name[0] == NULL_CHAR); *************** *** 182,188 **** X original_file_name, DFLT_EXT); X #endif X ! gets(encoded_file_name); X X if (encoded_file_name[0] == NULL_CHAR) { X #ifdef MS_DOS --- 182,188 ---- X original_file_name, DFLT_EXT); X #endif X ! fgets(encoded_file_name,255,stdin); X X if (encoded_file_name[0] == NULL_CHAR) { X #ifdef MS_DOS *************** *** 227,233 **** X else { /* Not using Audio IFF sound file headers. */ X X printf("What is the sampling frequency? <44100>[Hz]: "); ! gets(t); X freq = atol(t); X switch (freq) { X case 48000 : info->sampling_frequency = 1; --- 227,233 ---- X else { /* Not using Audio IFF sound file headers. */ X X printf("What is the sampling frequency? <44100>[Hz]: "); ! fgets(t,255,stdin); X freq = atol(t); X switch (freq) { X case 48000 : info->sampling_frequency = 1; *************** *** 268,274 **** X X printf("Which layer do you want to use?\n"); X printf("Available: Layer (1), Layer (<2>), Layer (3): "); ! gets(t); X switch(*t){ X case '1': info->lay = 1; printf(">>> Using Layer %s\n",t); break; X case '2': info->lay = 2; printf(">>> Using Layer %s\n",t); break; --- 268,274 ---- X X printf("Which layer do you want to use?\n"); X printf("Available: Layer (1), Layer (<2>), Layer (3): "); ! fgets(t,255,stdin); X switch(*t){ X case '1': info->lay = 1; printf(">>> Using Layer %s\n",t); break; X case '2': info->lay = 2; printf(">>> Using Layer %s\n",t); break; *************** *** 279,285 **** X printf("Which mode do you want?\n"); X printf("Available: ()tereo, (j)oint stereo, "); X printf("(d)ual channel, s(i)ngle Channel: "); ! gets(t); X switch(*t){ X case 's': X case 'S': --- 279,285 ---- X printf("Which mode do you want?\n"); X printf("Available: ()tereo, (j)oint stereo, "); X printf("(d)ual channel, s(i)ngle Channel: "); ! fgets(t,255,stdin); X switch(*t){ X case 's': X case 'S': *************** *** 308,314 **** X } X X printf("Which psychoacoustic model do you want to use? <1>: "); ! gets(t); X model = atoi(t); X if (model > 2 || model < 1) { X printf(">>> Default model 1 selected\n"); --- 308,314 ---- X } X X printf("Which psychoacoustic model do you want to use? <1>: "); ! fgets(t,255,stdin); X model = atoi(t); X if (model > 2 || model < 1) { X printf(">>> Default model 1 selected\n"); *************** *** 322,328 **** X /* set default bitrate to highest allowed, which is index 14 */ X brt = bitrate[info->version][info->lay-1][14]; X printf( "What is the total bitrate? <%u>[kbps]: ", brt ); ! gets( t ); X brt = atoi( t ); X if ( brt == 0 ) X j = 15; --- 322,328 ---- X /* set default bitrate to highest allowed, which is index 14 */ X brt = bitrate[info->version][info->lay-1][14]; X printf( "What is the total bitrate? <%u>[kbps]: ", brt ); ! fgets(t,255,stdin); X brt = atoi( t ); X if ( brt == 0 ) X j = 15; *************** *** 348,354 **** X X printf("What type of de-emphasis should the decoder use?\n"); X printf("Available: ()one, (5)0/15 microseconds, (c)citt j.17: "); ! gets(t); X if (*t != 'n' && *t != '5' && *t != 'c') { X printf(">>> Using default no de-emphasis\n"); X info->emphasis = 0; --- 348,354 ---- X X printf("What type of de-emphasis should the decoder use?\n"); X printf("Available: ()one, (5)0/15 microseconds, (c)citt j.17: "); ! fgets(t,255,stdin); X if (*t != 'n' && *t != '5' && *t != 'c') { X printf(">>> Using default no de-emphasis\n"); X info->emphasis = 0; *************** *** 363,369 **** X /* Start 2. Part changes for CD Ver 3.2; jsp; 22-Aug-1991 */ X X printf("Do you want to set the private bit? (y/): "); ! gets(t); X if (*t == 'y' || *t == 'Y') info->extension = 1; X else info->extension = 0; X if(info->extension) printf(">>> Private bit set\n"); --- 363,369 ---- X /* Start 2. Part changes for CD Ver 3.2; jsp; 22-Aug-1991 */ X X printf("Do you want to set the private bit? (y/): "); ! fgets(t,255,stdin); X if (*t == 'y' || *t == 'Y') info->extension = 1; X else info->extension = 0; X if(info->extension) printf(">>> Private bit set\n"); *************** *** 372,399 **** X /* End changes for CD Ver 3.2; jsp; 22-Aug-1991 */ X X printf("Do you want error protection? (y/): "); ! gets(t); X if (*t == 'y' || *t == 'Y') info->error_protection = TRUE; X else info->error_protection = FALSE; X if(info->error_protection) printf(">>> Error protection used\n"); X else printf(">>> Error protection not used\n"); X X printf("Is the material copyrighted? (y/): "); ! gets(t); X if (*t == 'y' || *t == 'Y') info->copyright = 1; X else info->copyright = 0; X if(info->copyright) printf(">>> Copyrighted material\n"); X else printf(">>> Material not copyrighted\n"); X X printf("Is this the original? (y/): "); ! gets(t); X if (*t == 'y' || *t == 'Y') info->original = 1; X else info->original = 0; X if(info->original) printf(">>> Original material\n"); X else printf(">>> Material not original\n"); X X printf("Do you wish to exit (last chance before encoding)? (y/): "); ! gets(t); X if (*t == 'y' || *t == 'Y') exit(0); X } X --- 372,399 ---- X /* End changes for CD Ver 3.2; jsp; 22-Aug-1991 */ X X printf("Do you want error protection? (y/): "); ! fgets(t,255,stdin); X if (*t == 'y' || *t == 'Y') info->error_protection = TRUE; X else info->error_protection = FALSE; X if(info->error_protection) printf(">>> Error protection used\n"); X else printf(">>> Error protection not used\n"); X X printf("Is the material copyrighted? (y/): "); ! fgets(t,255,stdin); X if (*t == 'y' || *t == 'Y') info->copyright = 1; X else info->copyright = 0; X if(info->copyright) printf(">>> Copyrighted material\n"); X else printf(">>> Material not copyrighted\n"); X X printf("Is this the original? (y/): "); ! fgets(t,255,stdin); X if (*t == 'y' || *t == 'Y') info->original = 1; X else info->original = 0; X if(info->original) printf(">>> Original material\n"); X else printf(">>> Material not original\n"); X X printf("Do you wish to exit (last chance before encoding)? (y/): "); ! fgets(t,255,stdin); X if (*t == 'y' || *t == 'Y') exit(0); X } X SHAR_EOF $shar_touch -am 0520221798 'mp3encode/patches/patch-ab' && chmod 0664 'mp3encode/patches/patch-ab' || echo 'restore of mp3encode/patches/patch-ab failed' shar_count="`wc -c < 'mp3encode/patches/patch-ab'`" test 7588 -eq "$shar_count" || echo "mp3encode/patches/patch-ab: original size 7588, current size $shar_count" fi # ============= mp3encode/patches/patch-ac ============== if test -f 'mp3encode/patches/patch-ac' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/patches/patch-ac (file already exists)' else echo 'x - extracting mp3encode/patches/patch-ac (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/patches/patch-ac' && *** common.h.orig Wed Jan 22 20:43:13 1997 --- common.h Thu May 21 14:12:52 1998 *************** *** 93,99 **** X #endif X X #ifdef UNIX ! #define TABLES_PATH "tables" /* to find data files */ X /* name of environment variable holding path of table files */ X #define MPEGTABENV "MPEGTABLES" X #define PATH_SEPARATOR "/" /* how to build paths */ --- 93,99 ---- X #endif X X #ifdef UNIX ! #define TABLES_PATH "ZAP" /* to find data files */ X /* name of environment variable holding path of table files */ X #define MPEGTABENV "MPEGTABLES" X #define PATH_SEPARATOR "/" /* how to build paths */ SHAR_EOF $shar_touch -am 0521141398 'mp3encode/patches/patch-ac' && chmod 0664 'mp3encode/patches/patch-ac' || echo 'restore of mp3encode/patches/patch-ac failed' shar_count="`wc -c < 'mp3encode/patches/patch-ac'`" test 680 -eq "$shar_count" || echo "mp3encode/patches/patch-ac: original size 680, current size $shar_count" fi # ============= mp3encode/patches/patch-ad ============== if test -f 'mp3encode/patches/patch-ad' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/patches/patch-ad (file already exists)' else echo 'x - extracting mp3encode/patches/patch-ad (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/patches/patch-ad' && *** encoder.h.orig Fri Jul 3 20:20:57 1998 --- encoder.h Fri Jul 3 20:21:56 1998 *************** *** 62,68 **** X X #define DFLT_LAY 2 /* default encoding layer is II */ X #define DFLT_MOD 's' /* default mode is stereo */ ! #define DFLT_PSY 1 /* default psych model is 1 */ X #define DFLT_SFQ 44.1 /* default input sampling rate is 44.1 kHz */ X #define DFLT_EMP 'n' /* default de-emphasis is none */ X #define DFLT_EXT ".mpg" /* default output file extension */ --- 62,68 ---- X X #define DFLT_LAY 2 /* default encoding layer is II */ X #define DFLT_MOD 's' /* default mode is stereo */ ! #define DFLT_PSY 2 /* default psych model is 1 */ X #define DFLT_SFQ 44.1 /* default input sampling rate is 44.1 kHz */ X #define DFLT_EMP 'n' /* default de-emphasis is none */ X #define DFLT_EXT ".mpg" /* default output file extension */ SHAR_EOF $shar_touch -am 0703202298 'mp3encode/patches/patch-ad' && chmod 0664 'mp3encode/patches/patch-ad' || echo 'restore of mp3encode/patches/patch-ad failed' shar_count="`wc -c < 'mp3encode/patches/patch-ad'`" test 953 -eq "$shar_count" || echo "mp3encode/patches/patch-ad: original size 953, current size $shar_count" fi # ============= mp3encode/Makefile ============== if test -f 'mp3encode/Makefile' && test X"$1" != X"-c"; then echo 'x - skipping mp3encode/Makefile (file already exists)' else echo 'x - extracting mp3encode/Makefile (text)' sed 's/^X//' << 'SHAR_EOF' > 'mp3encode/Makefile' && # New ports collection makefile for: mp3encode # Version required: 1.10 # Date created: 5th August, 1998 # Whom: Joel Sutton # # $Id$ # X DISTNAME= dist10 PKGNAME= mp3encode-1.10 CATEGORIES= audio MASTER_SITES= ftp://ftp.sunet.se/pub/multimedia/Berkeley/mpeg2/conformance-bitstreams/audio/mpeg2/software/technical_report/ X MAINTAINER= jsutton@webnet.com.au X WRKSRC= ${WRKDIR}/${DISTNAME}/lsf/encoder ALL_TARGET= encode HAS_CONFIGURE= yes USE_GMAKE= yes X # Directories and extra files # TABLE_LIB= ${PREFIX}/lib/mp3encode TABLE_LIB_SED= ${TABLE_LIB:S/\//\\\//g} TABLE_FILES= 1cb0 1cb1 1cb2 1cb4 1cb5 1cb6 1th0 1th1 1th2 1th4 1th5 1th6 2cb0 2cb1 2cb2 2cb4 2cb5 2cb6 2th0 2th1 2th2 2th4 2th5 2th6 absthr_0 absthr_1 absthr_2 alloc_0 alloc_1 alloc_2 alloc_3 alloc_4 dewindow enwindow huffcode huffdec psy_data X post-patch: X @${ECHO_MSG} "===> Specifing table path " X ${SED} "s/ZAP/${TABLE_LIB_SED}/g" < ${WRKSRC}/common.h >${WRKSRC}/common.h.sed X ${CP} -f ${WRKSRC}/common.h.sed ${WRKSRC}/common.h X do-install: X @${ECHO_MSG} "===> Installing binaries" X ${INSTALL_PROGRAM} ${WRKSRC}/encode ${PREFIX}/bin X @${ECHO_MSG} "===> Installing table files" X -${MKDIR} ${TABLE_LIB} X for file in ${TABLE_FILES} ; do \ X ${INSTALL_DATA} ${WRKSRC}/tables/$$file ${TABLE_LIB}/ ;\ X done X X.include SHAR_EOF $shar_touch -am 0805205898 'mp3encode/Makefile' && chmod 0644 'mp3encode/Makefile' || echo 'restore of mp3encode/Makefile failed' shar_count="`wc -c < 'mp3encode/Makefile'`" test 1320 -eq "$shar_count" || echo "mp3encode/Makefile: original size 1320, current size $shar_count" fi exit 0 >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message