Date: Mon, 17 Sep 2007 13:21:39 +1000 (EST) From: Fraser Tweedale <frase@frase.id.au> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/116411: New port: audio/asunder: a GTK+ CD ripper Message-ID: <200709170321.l8H3Ld0T068444@mail.frase.id.au> Resent-Message-ID: <200709170350.l8H3o6oB021788@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709170321.l8H3Ld0T068444>