ports/116411: New port: audio/asunder: a GTK+ CD ripper

Fraser Tweedale frase at frase.id.au
Mon Sep 17 03:50:07 UTC 2007


>Number:         116411
>Category:       ports
>Synopsis:       New port: audio/asunder: a GTK+ CD ripper
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 17 03:50:06 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Fraser Tweedale
>Release:        FreeBSD 6.2-RELEASE-p7 i386
>Organization:
>Environment:
System: FreeBSD atomskbsd 6.2-RELEASE-p7 FreeBSD 6.2-RELEASE-p7 #9: Mon Aug 27 15:11:17 EST 2007 Fraser at atomskbsd:/usr/obj/usr/src/sys/ATOMSKBSD i386
>Description:
Asunder is a lightweight GTK+ CD ripper with a nice interface and some nifty features.
>How-To-Repeat:
>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	audio/asunder
#	audio/asunder/Makefile
#	audio/asunder/files
#	audio/asunder/files/patch-src-main.c
#	audio/asunder/distinfo
#	audio/asunder/pkg-descr
#	audio/asunder/pkg-plist
#
echo c - audio/asunder
mkdir -p audio/asunder > /dev/null 2>&1
echo x - audio/asunder/Makefile
sed 's/^X//' >audio/asunder/Makefile << 'END-of-audio/asunder/Makefile'
X# New ports collection makefile for:	asunder
X# Date created:				14 September 2007
X# Whom:					frase at frase.id.au
X#
X# $FreeBSD$
X
XPORTNAME=	asunder
XPORTVERSION=	0.8.1
XCATEGORIES=	audio
XMASTER_SITES=	http://littlesvr.ca/asunder/releases/
X
XMAINTAINER=	frase at frase.id.au
XCOMMENT=	A lightweight GTK+ CD ripper
X
XLIB_DEPENDS=	cddb.4:${PORTSDIR}/audio/libcddb
XRUN_DEPENDS=	${LOCALBASE}/bin/cdparanoia:${PORTSDIR}/audio/cdparanoia
X
XGNU_CONFIGURE=	yes
XUSE_XLIB=	yes
XUSE_GNOME=	gtk20
X
X.include <bsd.port.mk>
END-of-audio/asunder/Makefile
echo c - audio/asunder/files
mkdir -p audio/asunder/files > /dev/null 2>&1
echo x - audio/asunder/files/patch-src-main.c
sed 's/^X//' >audio/asunder/files/patch-src-main.c << 'END-of-audio/asunder/files/patch-src-main.c'
X--- ../../tags/asunder-0.8.1/src/main.c	Fri Sep 14 10:35:12 2007
X+++ src/main.c	Fri Sep 14 14:32:54 2007
X@@ -22,7 +22,7 @@
X #include <sys/stat.h>
X #include <fcntl.h>
X #include <sys/ioctl.h>
X-#include <linux/cdrom.h>
X+#include <sys/cdio.h>
X #include <unistd.h>
X #include <stdlib.h>
X #include <string.h>
X@@ -210,8 +210,8 @@
X     static bool alreadyKnowGood = false; /* check when program just started */
X     static bool alreadyCleared = true; /* no need to clear when program just started */
X     
X-    status = ioctl(fd, CDROM_DISC_STATUS, CDSL_CURRENT);
X-    if (status == CDS_AUDIO || status == CDS_MIXED)
X+    status = ioctl(fd, CDIOREADTOCHEADER);
X+    if (status >= 0)
X     {
X         if (!alreadyKnowGood)
X         {
X@@ -308,7 +308,7 @@
X     //~ {
X         //~ ioctl(fd, CDROMCLOSETRAY, CDSL_CURRENT);
X     //~ } else {
X-            ioctl(fd, CDROMEJECT, CDSL_CURRENT);
X+            ioctl(fd, CDIOCEJECT);
X     //~ }
X     
X     close(fd);
X@@ -367,8 +367,8 @@
X {
X     int fd;
X     int status;
X-    struct cdrom_tochdr th;
X-    struct cdrom_tocentry te;
X+    struct ioc_toc_header th;
X+    struct ioc_read_toc_single_entry te;
X     int i;
X     
X     cddb_disc_t * disc = NULL;
X@@ -385,15 +385,15 @@
X     }
X 
X     // read disc status info
X-    status = ioctl(fd, CDROM_DISC_STATUS, CDSL_CURRENT);
X-    if ((status == CDS_AUDIO) || (status == CDS_MIXED))
X+    status = ioctl(fd, CDIOREADTOCHEADER);
X+    if (status >= 0)
X     {
X         // see if we can read the disc's table of contents (TOC).
X-        if (ioctl(fd, CDROMREADTOCHDR, &th) == 0)
X+        if (ioctl(fd, CDIOREADTOCHEADER, &th) == 0)
X         {
X #ifdef DEBUG
X-            printf("starting track: %d\n", th.cdth_trk0);
X-            printf("ending track: %d\n", th.cdth_trk1);
X+            printf("starting track: %d\n", th.starting_track);
X+            printf("ending track: %d\n", th.ending_track);
X #endif
X             disc = cddb_disc_new();
X             if (disc == NULL)
X@@ -402,13 +402,13 @@
X                 exit(-1);
X             }
X             
X-            te.cdte_format = CDROM_LBA;
X-            for (i=th.cdth_trk0; i<=th.cdth_trk1; i++)
X+            te.address_format = CD_LBA_FORMAT;
X+            for (i=th.starting_track; i<=th.ending_track; i++)
X             {
X-                te.cdte_track = i;
X-                if (ioctl(fd, CDROMREADTOCENTRY, &te) == 0)
X+                te.track = i;
X+                if (ioctl(fd, CDIOREADTOCENTRY, &te) == 0)
X                 {
X-                    if (te.cdte_ctrl & CDROM_DATA_TRACK)
X+                    if (te.entry.control & 0x04)
X                     {
X                         // track is a DATA track. make sure its "rip" box is not checked by default
X                         track_format[i] = FALSE;
X@@ -423,17 +423,17 @@
X                         exit(-1);
X                     }
X                 
X-                    cddb_track_set_frame_offset(track, te.cdte_addr.lba+SECONDS_TO_FRAMES(2));
X+                    cddb_track_set_frame_offset(track, ntohl(te.entry.addr.lba)+SECONDS_TO_FRAMES(2));
X                     snprintf(trackname, 9, "Track %d", i);
X                     cddb_track_set_title(track, trackname);
X                     cddb_track_set_artist(track, "Unknown Artist");
X                     cddb_disc_add_track(disc, track);
X                 }
X             }
X-            te.cdte_track = CDROM_LEADOUT;
X-            if (ioctl(fd, CDROMREADTOCENTRY, &te) == 0)
X+            te.track = 0xAA;
X+            if (ioctl(fd, CDIOREADTOCENTRY, &te) == 0)
X             {
X-                cddb_disc_set_length(disc, (te.cdte_addr.lba+SECONDS_TO_FRAMES(2))/SECONDS_TO_FRAMES(1));
X+                cddb_disc_set_length(disc, (ntohl(te.entry.addr.lba)+SECONDS_TO_FRAMES(2))/SECONDS_TO_FRAMES(1));
X             }
X         }
X     }
END-of-audio/asunder/files/patch-src-main.c
echo x - audio/asunder/distinfo
sed 's/^X//' >audio/asunder/distinfo << 'END-of-audio/asunder/distinfo'
XMD5 (asunder-0.8.1.tar.gz) = 75cbd3c99db2bc977b53e39946f8ea86
XSHA256 (asunder-0.8.1.tar.gz) = e1d785a4fa65a3f3785be00c001135e90a531b7de45ccadce80159b130b11f3b
XSIZE (asunder-0.8.1.tar.gz) = 169935
END-of-audio/asunder/distinfo
echo x - audio/asunder/pkg-descr
sed 's/^X//' >audio/asunder/pkg-descr << 'END-of-audio/asunder/pkg-descr'
XAsunder is a graphical Audio CD ripper and encoder. You can use 
Xit to save tracks from an Audio CD as WAV, MP3, OGG, and/or FLAC.
X
XWWW: http://littlesvr.ca/asunder/
END-of-audio/asunder/pkg-descr
echo x - audio/asunder/pkg-plist
sed 's/^X//' >audio/asunder/pkg-plist << 'END-of-audio/asunder/pkg-plist'
Xbin/asunder
Xshare/applications/asunder.desktop
Xshare/pixmaps/asunder.png
END-of-audio/asunder/pkg-plist
exit

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



More information about the freebsd-ports-bugs mailing list