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