1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Tool to write CD-Rs in Disk-At-Once Mode
8 HOMEPAGE= https://cdrdao.sourceforge.net
9 CONTACT= Michael_Reim[kraileth@elderlinux.org]
12 SITES[main]= SF/cdrdao/rel_1_2_5
13 DISTFILE[1]= cdrdao-1.2.5.tar.bz2:main
15 SPKGS[standard]= single
17 OPTIONS_AVAILABLE= none
18 OPTIONS_STANDARD= none
20 BUILD_DEPENDS= libvorbis:dev:standard
22 BUILDRUN_DEPENDS= libao:primary:standard
23 libmad:single:standard
24 libvorbis:primary:standard
27 USES= cpe gmake pkgconfig c++:single
29 CPE_VENDOR= andreas_mueller
30 FPC_EQUIVALENT= sysutils/cdrdao
33 CONFIGURE_ARGS= --with-gcdmaster=no
34 --with-pcctsbin={{PREFIX}}/bin
35 --with-pcctsinc={{PREFIX}}/include/pccts
36 --with-posix-threads=no
37 CONFIGURE_ENV= AO_LIBS=-lao
39 VORBISFILE_LIBS=-lvorbisfile
43 VAR_OPSYS[freebsd]= CONFIGURE_ARGS=--with-scglib
44 VAR_OPSYS[sunos]= CONFIGURE_ARGS=--with-scglib
47 VAR_OPSYS[dragonfly]= CONFIGURE_ARGS=--with-scglib
48 VAR_OPSYS[midnightbsd]= CONFIGURE_ARGS=--with-scglib
51 .for i in 45libdeflt 45libedc 45libfile 45libhfs_iso 45libparanoia 45libunls \
52 45librscg 55cdda2wav 55cdrecord 55cmd 55mkisofs 55mkisofs!@!diag \
53 55readcd 55scgcheck 55scgskeleton 55rscsi 85man
54 ${RM} ${WRKSRC}/scsilib/TARGETS/${i}
56 .for i in cdrdao.man main.cc
57 ${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/dao/${i}
59 ${REINPLACE_CMD} -E -e 's|(^CDRDAO_DATA_DIR.+=).+|\1 ${PREFIX}/share/cdrdao|' \
60 ${WRKSRC}/dao/Makefile.in
61 .for i in toc2cddb.1 toc2cue.1
62 ${REINPLACE_CMD} -e 's|1\.2\.2|1.2.5|g' ${WRKSRC}/utils/${i}
66 ${INSTALL_PROGRAM} ${WRKSRC}/dao/cdrdao ${STAGEDIR}${PREFIX}/bin
67 ${INSTALL_MAN} ${WRKSRC}/dao/cdrdao.man \
68 ${STAGEDIR}${MANPREFIX}/man/man1/cdrdao.1
69 .for f in cue2toc toc2cddb toc2cue
70 ${INSTALL_PROGRAM} ${WRKSRC}/utils/${f} ${STAGEDIR}${PREFIX}/bin
71 ${INSTALL_MAN} ${WRKSRC}/utils/${f}.1 ${STAGEDIR}${MANPREFIX}/man/man1/
73 ${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2mp3 ${STAGEDIR}${PREFIX}/bin
74 ${MKDIR} ${STAGEDIR}${PREFIX}/share/cdrdao
75 ${INSTALL_DATA} ${WRKSRC}/dao/cdrdao.drivers \
76 ${STAGEDIR}${PREFIX}/share/cdrdao/drivers
78 [FILE:231:descriptions/desc.single]
79 Cdrdao records audio or data CD-R[W]s in disc-at-once (DAO) mode based on
80 textual description of the CD contents (toc-file).
82 Among others, cdrdao can handle the bin/cue format commonly used for VCDs
83 or disks with subchannel data.
87 d19b67c853c5dba2406afaab6cd788e77f35eebe634cac4679528477c7be01b6 870084 cdrdao-1.2.5.tar.bz2
90 [FILE:143:manifests/plist.single]
105 [FILE:746:patches/patch-configure]
106 --- configure.orig 2023-02-03 14:28:39 UTC
108 @@ -11410,7 +11410,7 @@ case "$host" in
109 scsilib_objs="ScsiIf-linux.o sg_err.o"
113 + *-freebsd*|*-dragonfly*|*-midnight*)
115 scsilib_objs="ScsiIf-freebsd-cam.o"
117 @@ -11448,7 +11448,7 @@ case "$host" in
122 + *-freebsd*|*-dragonfly*|*-midnight*)
123 if test "$use_pthreads" = yes; then
124 LDFLAGS="-pthread $LDFLAGS"
126 @@ -11465,7 +11465,7 @@ printf "%s\n" "#define _P1003_1B_VISIBLE
130 - *-linux* | *-freebsd* | *-solaris*)
131 + *-linux* | *-freebsd* | *-dragonfly* | *-solaris* | *-midnight*)
132 sound_if_obj=SoundIF-ao.o
137 [FILE:303:patches/patch-dao_GenericMMC.cc]
138 --- dao/GenericMMC.cc.orig 2023-02-03 14:46:06 UTC
139 +++ dao/GenericMMC.cc
140 @@ -2075,7 +2075,7 @@ CdRawToc *GenericMMC::getRawToc(int sess
144 - dataLen = ((reqData[0] << 8) | reqData[1]) + 2;
145 + dataLen = (dataLen + 1) & ~1;
147 log_message(4, "Raw toc data len: %d", dataLen);
151 [FILE:561:patches/patch-dao_ScsiIf-freebsd-cam.cc]
152 --- dao/ScsiIf-freebsd-cam.cc.orig 2023-01-25 14:30:35 UTC
153 +++ dao/ScsiIf-freebsd-cam.cc
158 +#ifdef __DragonFly__
159 +#include <bus/cam/scsi/scsi_message.h>
161 #include <cam/scsi/scsi_message.h>
166 @@ -220,6 +224,12 @@ int ScsiIf::inquiry()
167 for (i = 3; i >= 0 && revision_[i] == ' '; i--)
170 + if (vendor_[0] == 0)
171 + strncpy(vendor_, "UNKNOWN", 8);
173 + if (product_[0] == 0)
174 + strncpy(product_, "UNKNOWN", 8);
181 [FILE:292:patches/patch-dao_ScsiIf-lib.cc]
182 --- dao/ScsiIf-lib.cc.orig 2021-03-15 09:13:15 UTC
183 +++ dao/ScsiIf-lib.cc
184 @@ -288,6 +288,12 @@ int ScsiIf::inquiry()
188 + if (vendor_[0] == 0)
189 + strncpy(vendor_, "UNKNOWN", 8);
191 + if (product_[0] == 0)
192 + strncpy(product_, "UNKNOWN", 8);
199 [FILE:510:patches/patch-dao_ScsiIf-linux.cc]
200 --- dao/ScsiIf-linux.cc.orig 2023-02-03 14:46:06 UTC
201 +++ dao/ScsiIf-linux.cc
203 #include <asm/param.h>
204 #include <scsi/scsi.h>
206 +#include <sys/stat.h>
210 @@ -272,7 +273,13 @@ int ScsiIf::inquiry()
211 for (i = 3; i >= 0 && revision_[i] == ' '; i--) {
216 + if (vendor_[0] == 0)
217 + strncpy(vendor_, "UNKNOWN", 8);
219 + if (product_[0] == 0)
220 + strncpy(product_, "UNKNOWN", 8);
227 [FILE:3580:patches/patch-dao_ScsiIf-netbsd.cc]
228 --- dao/ScsiIf-netbsd.cc.orig 2021-03-15 09:13:15 UTC
229 +++ dao/ScsiIf-netbsd.cc
235 -/* can't include trackdb/util.h */
236 -extern void message(int level, const char *fmt, ...);
239 #include "decodeSense.cc"
241 @@ -91,7 +89,7 @@ int ScsiIf::init()
243 if (impl_->name_ == NULL) return 1;
244 if ((impl_->fd_ = open(impl_->name_, O_RDWR, 0)) < 0) {
245 - message(-2, "init: %s", strerror(errno));
246 + log_message(-2, "init: %s", strerror(errno));
249 if (inquiry()) return 2;
250 @@ -193,29 +191,29 @@ void ScsiIf::printError()
251 p += snprintf(p, s + sizeof(s) - p, ", BUF=%p", impl_->screq_.databuf);
252 p += snprintf(p, s + sizeof(s) - p, ", LEN=%lu", impl_->screq_.datalen);
253 p += snprintf(p, s + sizeof(s) - p, ", TO=%lu", impl_->screq_.timeout);
255 + log_message(-2, s);
257 if (impl_->error_ != NULL) {
258 - message(-2, impl_->error_);
259 + log_message(-2, impl_->error_);
260 } else switch (impl_->screq_.retsts) {
261 case SCCMD_OK: switch (impl_->screq_.status) {
262 - case 0x00: message(-2, "GOOD"); break;
263 - case 0x02: message(-2, "CHECK CONDITION"); break;
264 - case 0x04: message(-2, "CONDITION MET"); break;
265 - case 0x08: message(-2, "BUSY"); break;
266 - case 0x10: message(-2, "INTERMEDIATE"); break;
267 - case 0x14: message(-2, "INTERMEDIATE, CONDITION MET"); break;
268 - case 0x18: message(-2, "RESERVATION CONFLICT"); break;
269 - case 0x22: message(-2, "COMMAND TERMINATED"); break;
270 - case 0x28: message(-2, "QUEUE FULL"); break;
271 - default: message(-2, "undefined status");
272 + case 0x00: log_message(-2, "GOOD"); break;
273 + case 0x02: log_message(-2, "CHECK CONDITION"); break;
274 + case 0x04: log_message(-2, "CONDITION MET"); break;
275 + case 0x08: log_message(-2, "BUSY"); break;
276 + case 0x10: log_message(-2, "INTERMEDIATE"); break;
277 + case 0x14: log_message(-2, "INTERMEDIATE, CONDITION MET"); break;
278 + case 0x18: log_message(-2, "RESERVATION CONFLICT"); break;
279 + case 0x22: log_message(-2, "COMMAND TERMINATED"); break;
280 + case 0x28: log_message(-2, "QUEUE FULL"); break;
281 + default: log_message(-2, "undefined status");
283 - case SCCMD_TIMEOUT: message(-2, "timeout"); break;
284 - case SCCMD_BUSY: message(-2, "busy"); break;
285 + case SCCMD_TIMEOUT: log_message(-2, "timeout"); break;
286 + case SCCMD_BUSY: log_message(-2, "busy"); break;
287 case SCCMD_SENSE: decodeSense(impl_->screq_.sense,
288 impl_->screq_.senselen_used); break;
289 - case SCCMD_UNKNOWN: message(-2, "unknown error"); break;
290 - default: message(-2, "undefined retsts"); break;
291 + case SCCMD_UNKNOWN: log_message(-2, "unknown error"); break;
292 + default: log_message(-2, "undefined retsts"); break;
296 @@ -259,7 +257,7 @@ int ScsiIf::inquiry()
297 return inq(impl_->fd_, vendor_, product_, revision_);
300 -ScsiIf::ScanData *ScsiIf::scan(int *len)
301 +ScsiIf::ScanData *ScsiIf::scan(int *len, char *devpath)
305 @@ -289,6 +287,9 @@ ScsiIf::ScanData *ScsiIf::scan(int *len)
306 strcat(s, dp->d_name);
307 if ((fd = open(s, O_RDWR, 0)) >= 0) {
308 if (ioctl(fd, SCIOCIDENTIFY, &saddr) >= 0) {
310 + scanData[*len].dev = s;
312 switch (saddr.type) {
314 scanData[*len].bus = saddr.addr.scsi.scbus;
315 @@ -305,6 +306,7 @@ ScsiIf::ScanData *ScsiIf::scan(int *len)
317 scanData[*len].lun = -1;
320 if (inq(fd, scanData[*len].vendor,
321 scanData[*len].product,
322 scanData[*len].revision) == 0) (*len)++;
325 [FILE:291:patches/patch-dao_ScsiIf-nt.cc]
326 --- dao/ScsiIf-nt.cc.orig 2021-03-15 09:13:15 UTC
328 @@ -332,6 +332,12 @@ int ScsiIf::inquiry()
332 + if (vendor_[0] == 0)
333 + strncpy(vendor_, "UNKNOWN", 8);
335 + if (product_[0] == 0)
336 + strncpy(product_, "UNKNOWN", 8);
343 [FILE:666:patches/patch-dao_cdrdao.man]
344 --- dao/cdrdao.man.orig 2023-02-03 14:46:06 UTC
346 @@ -798,13 +798,9 @@ following locations. The files will be r
351 +1. %%PREFIX%%/etc/cdrdao.conf
353 -2. /etc/defaults/cdrdao
355 -3. /etc/default/cdrdao
361 Command line options will overwrite the loaded settings.
362 @@ -886,4 +882,4 @@ resources may not be released. Use ipcs(
366 -.BR gcdmaster "(1), "cdrecord "(1), "cdda2wav "(1), "cdparanoia "(1), " sox "(1), "ipcs "(8), " ipcrm (8)
367 +.BR gcdmaster "(1), "cdrecord "(1), "cdda2wav "(1), "cdparanoia "(1), " sox "(1), "ipcs "(1), " ipcrm (1)
370 [FILE:514:patches/patch-dao_main.cc]
371 --- dao/main.cc.orig 2023-02-03 14:46:06 UTC
373 @@ -2450,11 +2450,7 @@ int main(int argc, char **argv)
375 Settings* settings = new Settings;
377 - settingsPath = "/etc/cdrdao.conf";
378 - if (settings->read(settingsPath) == 0)
379 - log_message(3, "Read settings from \"%s\".", settingsPath);
381 - settingsPath = "/etc/defaults/cdrdao";
382 + settingsPath = "%%PREFIX%%/etc/defaults/cdrdao";
383 if (settings->read(settingsPath) == 0)
384 log_message(3, "Read settings from \"%s\".", settingsPath);
388 [FILE:375:patches/patch-gcdmaster_SampleDisplay.cc]
389 --- gcdmaster/SampleDisplay.cc.orig 2023-02-03 14:46:06 UTC
390 +++ gcdmaster/SampleDisplay.cc
391 @@ -905,8 +905,6 @@ void SampleDisplay::updateSamples()
396 - std::cout << "null !!" << std::endl;
398 if (0 && (gint) di < sampleEndX_) {
399 pos = sampleBuf[len - 1].left() * halfHeight;
402 [FILE:656:patches/patch-gcdmaster_SoundIF-solaris.cc]
403 --- gcdmaster/SoundIF-solaris.cc.orig 2023-02-03 14:46:06 UTC
404 +++ gcdmaster/SoundIF-solaris.cc
406 * Sound interface for Solaris. Thanks to Tobias Oetiker <oetiker@ee.ethz.ch>.
409 +#include <sys/types.h>
410 #include <sys/audioio.h>
413 @@ -196,7 +197,7 @@ int SoundIFImpl::setupDevice()
414 auinf.play.sample_rate=44100;
415 auinf.play.channels=2;
416 auinf.play.precision=16;
417 - auinf.play.encoding=AUDIO_ENCODING_LINEAR;
418 + auinf.play.encoding=AUDIO_ENCODING_SLINEAR_BE;
420 if (ioctl(dspFd_, AUDIO_SETINFO, &auinf) < 0) {
421 log_message(-1, _("Cannot setup audio interface: %s"), strerror(errno));
424 [FILE:304:patches/patch-trackdb_FormatOgg.cc]
425 --- trackdb/FormatOgg.cc.orig 2021-03-15 09:13:15 UTC
426 +++ trackdb/FormatOgg.cc
427 @@ -84,6 +84,7 @@ FormatSupport::Status FormatOgg::oggInit
428 return FS_WRONG_FORMAT;
431 + memset(&outFormat_, 0, sizeof(outFormat_));
432 outFormat_.bits = 16;
433 outFormat_.rate = 44100;
434 outFormat_.channels = 2;