aboutsummaryrefslogtreecommitdiff
path: root/sysutils/cdrdao
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2017-04-23 18:22:01 +0000
committerMarius Strobl <marius@FreeBSD.org>2017-04-23 18:22:01 +0000
commit1aec207a3ab1e7e137b39a31a136799580b76a3c (patch)
treefff78a145c03f2ac09ebc3286aabad000720b1b4 /sysutils/cdrdao
parentc1c26700f63eab9aeaf7bb03ce23165f92af7ff1 (diff)
downloadports-1aec207a3ab1e7e137b39a31a136799580b76a3c.tar.gz
ports-1aec207a3ab1e7e137b39a31a136799580b76a3c.zip
- Fix build on armv6 and mips and most likely also on aarc64 and mips64. [1]
- Let's see whether specifying USE_CXXSTD=c++11 stops the flood of pkg-fallout SPAM regarding gcdmaster caused by the update of devel/libsigc++20 to 2.10.0 in r437480. PR: 217074 [1] Submitted by: mmel (partially) [1]
Notes
Notes: svn path=/head/; revision=439255
Diffstat (limited to 'sysutils/cdrdao')
-rw-r--r--sysutils/cdrdao/Makefile24
-rw-r--r--sysutils/cdrdao/files/patch-dao_CdrDriver.cc11
-rw-r--r--sysutils/cdrdao/files/patch-dao_CdrDriver.h11
-rw-r--r--sysutils/cdrdao/files/patch-scsilib_include_mconfig.h17
-rw-r--r--sysutils/cdrdao/files/patch-scsilib_libschily_format.c28
5 files changed, 77 insertions, 14 deletions
diff --git a/sysutils/cdrdao/Makefile b/sysutils/cdrdao/Makefile
index f54668ba81fc..df6ae589ad90 100644
--- a/sysutils/cdrdao/Makefile
+++ b/sysutils/cdrdao/Makefile
@@ -13,8 +13,9 @@ COMMENT?= Record CD-R[W]s in disk-at-once mode
LICENSE= GPLv2
-USES= alias gmake tar:bzip2
GNU_CONFIGURE= yes
+USE_CXXSTD= c++11
+USES= alias gmake tar:bzip2
MP3OGG_LIB_DEPENDS= libao.so:audio/libao \
libmad.so:audio/libmad \
@@ -67,20 +68,15 @@ CONFIGURE_ARGS+= --with-mp3-support=no --with-ogg-support=no
CONFIGURE_ARGS+= --without-pcctsbin --without-pcctsinc \
--with-posix-threads=no --with-scglib
MAKE_ENV= CCOM=cc
-SCSILIBTARGET= ${ARCH:S/powerpc64/powerpc/}-freebsd-cc
-
-BROKEN_aarch64= Fails to install: gmake: p: Command not found
-BROKEN_armv6= Fails to install: gmake: p: Command not found
-BROKEN_mips= Fails to install: gmake: p: Command not found
-BROKEN_mips64= Fails to install: gmake: p: Command not found
+SCSILIBXARCH!= ${UNAME} -m
.include <bsd.port.pre.mk>
post-extract:
@(cd ${WRKSRC}/scsilib/RULES && ${CP} os-freebsd.id os-dragonfly.id)
-.if ${SCSILIBTARGET} != "i386-freebsd-cc"
+.if ${SCSILIBXARCH} != "i386"
@${LN} -sf ${WRKSRC}/scsilib/RULES/i386-freebsd-cc.rul \
- ${WRKSRC}/scsilib/RULES/${SCSILIBTARGET}.rul
+ ${WRKSRC}/scsilib/RULES/${SCSILIBXARCH}-${OPSYS:tl}-cc.rul
.endif
post-patch:
@@ -89,12 +85,12 @@ post-patch:
55readcd 55scgcheck 55scgskeleton 55rscsi 85man
@${RM} ${WRKSRC}/scsilib/TARGETS/${i}
.endfor
-.for i in include/schily.h libschily/fexec.c
- @${REINPLACE_CMD} -e 's|fexecve|js_fexecve|g' ${WRKSRC}/scsilib/${i}
+.for i in include/schily.h libscg/scsitransp.c libschily/fexec.c \
+ libschily/stdio/fgetline.c
+ @${REINPLACE_CMD} -E -e 's|fexecve|js_fexecve|g; \
+ s|^getline|js_getline|g;s|([^f_])getline|\1js_getline|g' \
+ ${WRKSRC}/scsilib/${i}
.endfor
- @${REINPLACE_CMD} -e 's|int getline|int get_line|g' ${WRKSRC}/scsilib/include/schily.h
- @${REINPLACE_CMD} -e 's|(getline|(get_line|g' ${WRKSRC}/scsilib/libscg/scsitransp.c
- @${REINPLACE_CMD} -e 's|^getline|get_line|g' ${WRKSRC}/scsilib/libschily/stdio/fgetline.c
.if ${PORTNAME} == "gcdmaster"
@${REINPLACE_CMD} -E -e 's|(^SUBDIRS.+) utils|\1|' ${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -E -e 's|(^gladedir.+=).+|\1 ${DATADIR}|' \
diff --git a/sysutils/cdrdao/files/patch-dao_CdrDriver.cc b/sysutils/cdrdao/files/patch-dao_CdrDriver.cc
new file mode 100644
index 000000000000..0ee7918fdcf9
--- /dev/null
+++ b/sysutils/cdrdao/files/patch-dao_CdrDriver.cc
@@ -0,0 +1,11 @@
+--- dao/CdrDriver.cc.orig 2009-09-12 16:21:25 UTC
++++ dao/CdrDriver.cc
+@@ -495,7 +495,7 @@ unsigned char CdrDriver::syncPattern[12]
+ 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0
+ };
+
+-char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 };
++unsigned char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 };
+
+
+ /* Maps a string to the corresponding driver option value
diff --git a/sysutils/cdrdao/files/patch-dao_CdrDriver.h b/sysutils/cdrdao/files/patch-dao_CdrDriver.h
new file mode 100644
index 000000000000..183df07c45f6
--- /dev/null
+++ b/sysutils/cdrdao/files/patch-dao_CdrDriver.h
@@ -0,0 +1,11 @@
+--- dao/CdrDriver.h.orig 2009-02-21 10:27:31 UTC
++++ dao/CdrDriver.h
+@@ -440,7 +440,7 @@ protected:
+ bool fullBurn_;
+
+ static unsigned char syncPattern[12];
+- static char REMOTE_MSG_SYNC_[4];
++ static unsigned char REMOTE_MSG_SYNC_[4];
+
+ static int speed2Mult(int);
+ static int mult2Speed(int);
diff --git a/sysutils/cdrdao/files/patch-scsilib_include_mconfig.h b/sysutils/cdrdao/files/patch-scsilib_include_mconfig.h
new file mode 100644
index 000000000000..cd44b872edac
--- /dev/null
+++ b/sysutils/cdrdao/files/patch-scsilib_include_mconfig.h
@@ -0,0 +1,17 @@
+--- scsilib/include/mconfig.h.orig 2009-10-05 11:58:21 UTC
++++ scsilib/include/mconfig.h
+@@ -72,12 +72,12 @@ extern "C" {
+ * Types/Keywords
+ */
+
+-#if defined(__x86_64__) || defined(__ia64__) || defined(__powerpc64__) || defined(__s390x__) || defined(__sparc64__)
++#if defined(__aarch64__) || defined(__ia64__) || defined(__mips_n64) || defined(__powerpc64__) || defined(__s390x__) || defined(__sparc64__) || defined(__x86_64__)
+ #define SIZEOF_LONG_INT 8
+ #define SIZEOF_CHAR_P 8
+ #define SIZEOF_UNSIGNED_LONG_INT 8
+ #define SIZEOF_UNSIGNED_CHAR_P 8
+-#elif defined(__i386__) || defined(__powerpc__) || defined(__s390__) || defined(__sparc__)
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) || defined(__powerpc__) || defined(__s390__) || defined(__sparc__)
+ #define SIZEOF_LONG_INT 4
+ #define SIZEOF_CHAR_P 4
+ #define SIZEOF_UNSIGNED_LONG_INT 4
diff --git a/sysutils/cdrdao/files/patch-scsilib_libschily_format.c b/sysutils/cdrdao/files/patch-scsilib_libschily_format.c
new file mode 100644
index 000000000000..fe4617417dd5
--- /dev/null
+++ b/sysutils/cdrdao/files/patch-scsilib_libschily_format.c
@@ -0,0 +1,28 @@
+--- scsilib/libschily/format.c.orig 2003-10-18 13:26:50 UTC
++++ scsilib/libschily/format.c
+@@ -166,6 +166,7 @@ format(fun, farg, fmt, args)
+ Ulong res;
+ char *rfmt;
+ f_args fa;
++ va_list vl;
+
+ fa.outf = fun;
+ fa.farg = farg;
+@@ -432,6 +433,7 @@ format(fun, farg, fmt, args)
+ case 'r': /* recursive printf */
+ case 'R': /* recursive printf */
+ rfmt = va_arg(args, char *);
++ va_copy(vl, args);
+ /*
+ * I don't know any portable way to get an arbitrary
+ * C object from a var arg list so I use a
+@@ -446,7 +448,8 @@ format(fun, farg, fmt, args)
+ * It would be nice to have something like
+ * __va_arg_list() in stdarg.h
+ */
+- count += format(fun, farg, rfmt, __va_arg_list(args));
++ count += format(fun, farg, rfmt, vl);
++ va_end(vl);
+ continue;
+
+ case 'n':