Update to 2.01a36 which replaces the workaround of the FreeBSD port for
non page aligned transfers in libparanoia with a better one that adaptes to the pagesize. For other changes since 2.01a34 see: ftp://ftp.berlios.de/pub/cdrecord/alpha/AN-2.01a35 and ftp://ftp.berlios.de/pub/cdrecord/alpha/AN-2.01a36 Approved by: netchild
This commit is contained in:
parent
513d472f4b
commit
e0b61cd0ff
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=115961
5 changed files with 14 additions and 59 deletions
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
PORTNAME= cdrtools
|
PORTNAME= cdrtools
|
||||||
PORTVERSION= 2.01a34
|
PORTVERSION= 2.01a36
|
||||||
CATEGORIES= sysutils audio
|
CATEGORIES= sysutils audio
|
||||||
MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/alpha/ \
|
MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/alpha/ \
|
||||||
ftp://ftp.cs.tu-berlin.de/pub/misc/cdrecord/alpha/
|
ftp://ftp.cs.tu-berlin.de/pub/misc/cdrecord/alpha/
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
MD5 (cdrtools-2.01a34.tar.bz2) = e6591871e0c6e91ffa0eb23158189743
|
MD5 (cdrtools-2.01a36.tar.bz2) = bae98192bf486c74b793bcff5a8c5d57
|
||||||
SIZE (cdrtools-2.01a34.tar.bz2) = 1396922
|
SIZE (cdrtools-2.01a36.tar.bz2) = 1405467
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
--- RULES/rules.cnf.orig Sun Jan 27 16:11:31 2002
|
|
||||||
+++ RULES/rules.cnf Sun Jun 1 18:58:37 2003
|
|
||||||
@@ -33,8 +33,7 @@
|
|
||||||
#
|
|
||||||
# Hack until the <mach>-<os>-*cc.rul files are updated
|
|
||||||
#
|
|
||||||
-_HCCCOM= $(OARCH:%-gcc=gcc)
|
|
||||||
-HCCCOM= $(_HCCCOM:%-cc=cc)
|
|
||||||
+HCCCOM= $(C_ARCH)
|
|
||||||
|
|
||||||
_CCCOM= $(_UNIQ)$(CCCOM)
|
|
||||||
__CCCOM= $(_CCCOM:$(_UNIQ)=$(HCCCOM))
|
|
|
@ -17,47 +17,3 @@
|
||||||
if (!S_ISCHR(statstruct->st_mode)) {
|
if (!S_ISCHR(statstruct->st_mode)) {
|
||||||
fprintf(stderr, "%s is not a char device\n",pdev_name);
|
fprintf(stderr, "%s is not a char device\n",pdev_name);
|
||||||
exit(SYNTAX_ERROR);
|
exit(SYNTAX_ERROR);
|
||||||
@@ -555,8 +563,25 @@
|
|
||||||
}
|
|
||||||
dontneedgroup();
|
|
||||||
dontneedroot();
|
|
||||||
+#if defined (__FreeBSD__)
|
|
||||||
+ /*
|
|
||||||
+ * i_read_c_block(), used by paranoia_read_limited() for reading the
|
|
||||||
+ * data from the CD, doesn't use a page aligned buffer as required by
|
|
||||||
+ * FreeBSD for SCSI transfers (well, most OS do). Probably this should
|
|
||||||
+ * be dealt with in cdda_read() (called by i_read_c_block() with the
|
|
||||||
+ * unaligned buffer and in turn calls ReadCdRom() to do the actual read)
|
|
||||||
+ * but it seems like overkill to add yet another buffer (would make it
|
|
||||||
+ * 3 or so from do_read() to ReadCdRom() alone). Instead, limit the
|
|
||||||
+ * transfer size via the maximum for the sectors to read at once to a
|
|
||||||
+ * value that lets the data fit into a page (for FreeBSD the code below
|
|
||||||
+ * would set the maximum sectors to 27).
|
|
||||||
+ */
|
|
||||||
+ if (global.nsectors > 26)
|
|
||||||
+ global.nsectors = 26;
|
|
||||||
+#else
|
|
||||||
if (global.nsectors > (unsigned) scg_bufsize(scgp, 3*1024*1024)/CD_FRAMESIZE_RAW)
|
|
||||||
global.nsectors = scg_bufsize(scgp, 3*1024*1024)/CD_FRAMESIZE_RAW;
|
|
||||||
+#endif
|
|
||||||
if (global.overlap >= global.nsectors)
|
|
||||||
global.overlap = global.nsectors-1;
|
|
||||||
|
|
||||||
@@ -593,9 +618,6 @@
|
|
||||||
exit(RACE_ERROR);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
- if (scgp != NULL && global.scsi_verbose) {
|
|
||||||
- scgp->verbose = global.scsi_verbose;
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
@@ -888,6 +910,7 @@
|
|
||||||
FatalError("No memory for SCSI structure.\n");
|
|
||||||
}
|
|
||||||
scgp->silent = 0;
|
|
||||||
+ scgp->verbose = global.scsi_verbose;
|
|
||||||
SetupCookedIoctl( global.dev_name );
|
|
||||||
#else
|
|
||||||
FatalError("Sorry, there is no known method to access the device.\n");
|
|
||||||
|
|
11
sysutils/cdrtools-devel/files/patch-libparanoia::paranoia.c
Normal file
11
sysutils/cdrtools-devel/files/patch-libparanoia::paranoia.c
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- libparanoia/paranoia.c.orig Sun Aug 8 13:47:31 2004
|
||||||
|
+++ libparanoia/paranoia.c Mon Aug 9 17:19:43 2004
|
||||||
|
@@ -1481,7 +1481,7 @@
|
||||||
|
long sofar;
|
||||||
|
long dynoverlap = (p->dynoverlap + CD_FRAMEWORDS - 1) / CD_FRAMEWORDS;
|
||||||
|
long anyflag = 0;
|
||||||
|
- int reduce = 0;
|
||||||
|
+static int reduce = 0;
|
||||||
|
static int pagesize = -1;
|
||||||
|
#define valign(x, a) (((char *)(x)) + ((a) - 1 - ((((UIntptr_t)(x))-1)%(a))))
|
||||||
|
|
Loading…
Reference in a new issue