From e0b61cd0ff96142ca57f92abb03b1aa912631804 Mon Sep 17 00:00:00 2001
From: Marius Strobl <marius@FreeBSD.org>
Date: Wed, 11 Aug 2004 20:38:53 +0000
Subject: 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
---
 sysutils/cdrtools-devel/Makefile                   |  2 +-
 sysutils/cdrtools-devel/distinfo                   |  4 +-
 .../cdrtools-devel/files/patch-RULES::rules.cnf    | 12 ------
 .../files/patch-cdda2wav::interface.c              | 44 ----------------------
 .../files/patch-libparanoia::paranoia.c            | 11 ++++++
 5 files changed, 14 insertions(+), 59 deletions(-)
 delete mode 100644 sysutils/cdrtools-devel/files/patch-RULES::rules.cnf
 create mode 100644 sysutils/cdrtools-devel/files/patch-libparanoia::paranoia.c

(limited to 'sysutils')

diff --git a/sysutils/cdrtools-devel/Makefile b/sysutils/cdrtools-devel/Makefile
index efe8c795323e..bf9736036a8e 100644
--- a/sysutils/cdrtools-devel/Makefile
+++ b/sysutils/cdrtools-devel/Makefile
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	cdrtools
-PORTVERSION=	2.01a34
+PORTVERSION=	2.01a36
 CATEGORIES=	sysutils audio
 MASTER_SITES=	ftp://ftp.berlios.de/pub/cdrecord/alpha/ \
 		ftp://ftp.cs.tu-berlin.de/pub/misc/cdrecord/alpha/
diff --git a/sysutils/cdrtools-devel/distinfo b/sysutils/cdrtools-devel/distinfo
index 3434404a478e..64cc99a934d5 100644
--- a/sysutils/cdrtools-devel/distinfo
+++ b/sysutils/cdrtools-devel/distinfo
@@ -1,2 +1,2 @@
-MD5 (cdrtools-2.01a34.tar.bz2) = e6591871e0c6e91ffa0eb23158189743
-SIZE (cdrtools-2.01a34.tar.bz2) = 1396922
+MD5 (cdrtools-2.01a36.tar.bz2) = bae98192bf486c74b793bcff5a8c5d57
+SIZE (cdrtools-2.01a36.tar.bz2) = 1405467
diff --git a/sysutils/cdrtools-devel/files/patch-RULES::rules.cnf b/sysutils/cdrtools-devel/files/patch-RULES::rules.cnf
deleted file mode 100644
index f7148061bd95..000000000000
--- a/sysutils/cdrtools-devel/files/patch-RULES::rules.cnf
+++ /dev/null
@@ -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))
diff --git a/sysutils/cdrtools-devel/files/patch-cdda2wav::interface.c b/sysutils/cdrtools-devel/files/patch-cdda2wav::interface.c
index 0e0f7f7c46ab..3183cc7116cc 100644
--- a/sysutils/cdrtools-devel/files/patch-cdda2wav::interface.c
+++ b/sysutils/cdrtools-devel/files/patch-cdda2wav::interface.c
@@ -17,47 +17,3 @@
  	if (!S_ISCHR(statstruct->st_mode)) {
  	    fprintf(stderr, "%s is not a char device\n",pdev_name);
  	    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");
diff --git a/sysutils/cdrtools-devel/files/patch-libparanoia::paranoia.c b/sysutils/cdrtools-devel/files/patch-libparanoia::paranoia.c
new file mode 100644
index 000000000000..1893c3626574
--- /dev/null
+++ b/sysutils/cdrtools-devel/files/patch-libparanoia::paranoia.c
@@ -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))))
+ 
-- 
cgit debian/1.2.3+git2.25.1-1-2-gaceb0