aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysutils/dvd+rw-tools/Makefile14
-rw-r--r--sysutils/dvd+rw-tools/distinfo5
-rw-r--r--sysutils/dvd+rw-tools/files/patch-growisofs.c95
-rw-r--r--sysutils/dvd+rw-tools/files/patch-mp.h12
4 files changed, 98 insertions, 28 deletions
diff --git a/sysutils/dvd+rw-tools/Makefile b/sysutils/dvd+rw-tools/Makefile
index f83eeb8d3d90..50d206e3da81 100644
--- a/sysutils/dvd+rw-tools/Makefile
+++ b/sysutils/dvd+rw-tools/Makefile
@@ -5,8 +5,7 @@
# $FreeBSD$
PORTNAME= dvd+rw-tools
-PORTVERSION= 6.0
-PORTREVISION= 2
+PORTVERSION= 6.1
CATEGORIES= sysutils
MASTER_SITES= http://www.franksworld.org/dist/dvd+rw/ \
http://www.pkix.net/mirror/fy.chalmers.se/ \
@@ -17,16 +16,13 @@ COMMENT= DVD burning software
RUN_DEPENDS= ${LOCALBASE}/bin/mkisofs:${PORTSDIR}/sysutils/cdrtools
-USE_REINPLACE= yes
-USE_GMAKE= yes
-
MAN1= growisofs.1
BIN_FILES= growisofs dvd+rw-format dvd+rw-booktype dvd+rw-mediainfo dvd-ram-control
PLIST_FILES= ${BIN_FILES:S|^|bin/|}
PORTDOCS= index.html
post-patch:
- ${REINPLACE_CMD} -E \
+ @${REINPLACE_CMD} -E \
-e 's/-D_THREAS_SAFE/-D_THREAD_SAFE/' \
-e 's/-D_THREAD_SAFE/-D_THREAD_SAFE ${PTHREAD_CFLAGS}/' \
-e 's/-pthread/${PTHREAD_LIBS}/' \
@@ -38,9 +34,11 @@ do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${i} ${PREFIX}/bin
.endfor
${INSTALL_MAN} ${WRKSRC}/growisofs.1 ${MANPREFIX}/man/man1/
+
+post-install:
.if !defined(NOPORTDOCS)
- ${MKDIR} ${DOCSDIR}
- ${INSTALL_MAN} ${WRKSRC}/index.html ${DOCSDIR}/
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_MAN} ${WRKSRC}/index.html ${DOCSDIR}
.endif
.include <bsd.port.mk>
diff --git a/sysutils/dvd+rw-tools/distinfo b/sysutils/dvd+rw-tools/distinfo
index 5790adea80ef..fa51ae8ecf05 100644
--- a/sysutils/dvd+rw-tools/distinfo
+++ b/sysutils/dvd+rw-tools/distinfo
@@ -1,3 +1,2 @@
-MD5 (dvd+rw-tools-6.0.tar.gz) = 0c2b8afa027b93b84005ccd1c06fbd54
-SHA256 (dvd+rw-tools-6.0.tar.gz) = 17cdb64c5daa0ee553984a397434a8ed63a25fae5807b39613fec8df382e4729
-SIZE (dvd+rw-tools-6.0.tar.gz) = 118804
+MD5 (dvd+rw-tools-6.1.tar.gz) = d6bad594e55a2e0d7cf76ce452fce399
+SIZE (dvd+rw-tools-6.1.tar.gz) = 121425
diff --git a/sysutils/dvd+rw-tools/files/patch-growisofs.c b/sysutils/dvd+rw-tools/files/patch-growisofs.c
index 5b89815d6611..48ca6107791c 100644
--- a/sysutils/dvd+rw-tools/files/patch-growisofs.c
+++ b/sysutils/dvd+rw-tools/files/patch-growisofs.c
@@ -1,12 +1,85 @@
---- growisofs.c_old Mon Jan 16 06:09:41 2006
-+++ growisofs.c Mon Jan 16 12:02:04 2006
-@@ -2194,7 +2194,9 @@
- nice(-20);
- /* I'd rather do it right after I allocate ring buffer and fire off
- * threads, but I'll be running without extra privileges by then:-( */
-+#if !defined(__FreeBSD__) || __FreeBSD__ >= 5
- mlockall(MCL_CURRENT|MCL_FUTURE);
-+#endif
- #endif
+--- growisofs.c_old 2006-01-26 22:16:54.000000000 +0100
++++ growisofs.c 2006-02-15 00:00:44.000000000 +0100
+@@ -355,12 +355,17 @@
+ * - Treat only x73xx OPC errors as fatal;
+ * - Fix typo in -speed scaling code;
+ * - permit tracksize to be not divisible by 32KB in DAO mode;
++ * 6.1.1: (by Nicolas Boichat, Bacula project)
++ * - Allow session to cross 4GB boundary regardless of medium type
++ * (don't need to have a DL media)
++ * - Add a -F option (used instead of -M or -Z), which displays next_session
++ * offset and capacity (free space = next_session - capacity).
+ */
+ #define PRINT_VERSION(cmd) do { \
+ char *s=strrchr((cmd),'/'); \
+ s ? s++ : (s=(cmd)); \
+ printf ("* %.*sgrowisofs by <appro@fy.chalmers.se>,"\
+- " version 6.1,\n",(int)(s-(cmd)),(cmd)); \
++ " version 6.1.1,\n",(int)(s-(cmd)),(cmd)); \
+ } while (0)
+
+ #define _LARGEFILE_SOURCE
+@@ -2329,6 +2334,18 @@
+ else in_device = argv[++i];
+ dev_found = 'Z';
+ }
++ else if (argv[i][1] == 'F')
++ { if (len > 2) in_device = argv[i]+2;
++ else in_device = argv[++i];
++ dev_found = 'F';
++ dry_run = 1; /* NEVER write anything with -F */
++ }
++ else if (!strncmp(opt,"-free-space",11))
++ { if (len > 11) in_device = opt+11;
++ else in_device = argv[++i];
++ dev_found = 'F';
++ dry_run = 1; /* NEVER write anything with -F */
++ }
+ else if (!strcmp(opt,"-poor-man"))
+ { if (poor_man<0) poor_man = 1;
+ continue;
+@@ -2542,7 +2559,9 @@
+ fprintf (stderr," you most likely want to use -Z option.\n"),
+ exit (FATAL_START(errno));
- mkisofs_argv = malloc ((argc+3)*sizeof(char *));
+- if (dev_found == 'M')
++ if ((dev_found == 'M') ||
++ ((dev_found == 'F') && !(mmc_profile&0x10000)) && (saved_descriptors[0].type[0] || saved_descriptors[0].type[1] || saved_descriptors[0].type[2]))
++ /* -F : The medium is not blank, there is a fs on it (the_buffer[0,1 or 2] != 0), so compute next_session. */
+ { if (memcmp (saved_descriptors[0].type,"\1CD001",6))
+ fprintf (stderr,":-( %s doesn't look like isofs...\n",
+ in_device), exit(FATAL_START(EMEDIUMTYPE));
+@@ -2565,7 +2584,7 @@
+ exit(FATAL_START(EINVAL));
+ }
+ else if (next_session > (0x200000-0x5000)) /* 4GB/2K-40MB/2K */
+- if ((mmc_profile&0xFFFF)!=0x2B || !no_4gb_check)
++ if (!no_4gb_check)
+ fprintf (stderr,":-( next session would cross 4GB "
+ "boundary, aborting...\n"),
+ exit (FATAL_START(ENOSPC));
+@@ -2608,7 +2627,7 @@
+ exit (FATAL_START(EINVAL));
+
+ if (imgfd<0)
+- { if (mkisofs_argc==1)
++ { if ((mkisofs_argc==1) && (dev_found != 'F'))
+ fprintf (stderr,"%s: no mkisofs options specified, "
+ "aborting...\n",argv[0]),
+ exit (FATAL_START(EINVAL));
+@@ -2880,6 +2899,15 @@
+ }
+ }
+
++ if (dev_found == 'F') {
++ off64_t capacity = 0;
++ printf("next_session=%lld\n", next_session*CD_BLOCK);
++ if (ioctl_handle!=INVALID_HANDLE)
++ capacity = get_capacity (ioctl_handle);
++ printf("capacity=%lld\n", capacity);
++ exit(0);
++ }
++
+ if (imgfd>=0)
+ { quiet--;
+ if (builtin_dd (imgfd,out_fd,next_session*CD_BLOCK) < 0)
diff --git a/sysutils/dvd+rw-tools/files/patch-mp.h b/sysutils/dvd+rw-tools/files/patch-mp.h
index c9e4569be9f3..d9f5dad46cc9 100644
--- a/sysutils/dvd+rw-tools/files/patch-mp.h
+++ b/sysutils/dvd+rw-tools/files/patch-mp.h
@@ -1,12 +1,12 @@
---- mp.h.orig Mon Jan 16 11:34:56 2006
-+++ mp.h Thu Jan 19 20:22:30 2006
-@@ -39,7 +39,9 @@
- pthread_attr_t attr;
+--- mp.h.orig Wed May 10 16:01:28 2006
++++ mp.h Wed May 10 16:06:04 2006
+@@ -40,7 +40,9 @@
if (pthread_attr_init(&attr)==0 &&
-+#if !defined(__FreeBSD__) || __FreeBSD__ >= 5
+ pthread_attr_setstacksize(&attr,64*1024)==0 &&
++#if !defined(__FreeBSD__) || __FreeBSD_version >= 500000
pthread_attr_setscope(&attr,PTHREAD_SCOPE_SYSTEM)==0 &&
-+#endif /* FreeBSD 4 does not support PTHREAD_SCOPE_SYSTEM */
++#endif /* FreeBSD 4 does not support PTHREAD_SCOPE_SYSTEM */
pthread_create(&h,&attr,(void *(*)(void *))func,arg)==0 )
return (void *)h;