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
21 BUILDRUN_DEPENDS= libao:primary:standard
22 libmad:single:standard
23 libvorbis:primary:standard
26 USES= cpe gmake pkgconfig c++:single
28 CPE_VENDOR= andreas_mueller
29 FPC_EQUIVALENT= sysutils/cdrdao
32 CONFIGURE_ARGS= --with-gcdmaster=no
33 --with-pcctsbin={{PREFIX}}/bin
34 --with-pcctsinc={{PREFIX}}/include/pccts
35 --with-posix-threads=no
36 CONFIGURE_ENV= AO_LIBS=-lao
38 VORBISFILE_LIBS=-lvorbisfile
42 VAR_OPSYS[freebsd]= CONFIGURE_ARGS=--with-scglib
43 VAR_OPSYS[sunos]= CONFIGURE_ARGS=--with-scglib
46 VAR_OPSYS[dragonfly]= CONFIGURE_ARGS=--with-scglib
47 VAR_OPSYS[midnightbsd]= CONFIGURE_ARGS=--with-scglib
50 .for i in 45libdeflt 45libedc 45libfile 45libhfs_iso 45libparanoia 45libunls \
51 45librscg 55cdda2wav 55cdrecord 55cmd 55mkisofs 55mkisofs!@!diag \
52 55readcd 55scgcheck 55scgskeleton 55rscsi 85man
53 ${RM} ${WRKSRC}/scsilib/TARGETS/${i}
55 .for i in cdrdao.man main.cc
56 ${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/dao/${i}
58 ${REINPLACE_CMD} -E -e 's|(^CDRDAO_DATA_DIR.+=).+|\1 ${PREFIX}/share/cdrdao|' \
59 ${WRKSRC}/dao/Makefile.in
60 .for i in toc2cddb.1 toc2cue.1
61 ${REINPLACE_CMD} -e 's|1\.2\.2|1.2.5|g' ${WRKSRC}/utils/${i}
65 ${INSTALL_PROGRAM} ${WRKSRC}/dao/cdrdao ${STAGEDIR}${PREFIX}/bin
66 ${INSTALL_MAN} ${WRKSRC}/dao/cdrdao.man \
67 ${STAGEDIR}${MANPREFIX}/man/man1/cdrdao.1
68 .for f in cue2toc toc2cddb toc2cue
69 ${INSTALL_PROGRAM} ${WRKSRC}/utils/${f} ${STAGEDIR}${PREFIX}/bin
70 ${INSTALL_MAN} ${WRKSRC}/utils/${f}.1 ${STAGEDIR}${MANPREFIX}/man/man1/
72 ${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2mp3 ${STAGEDIR}${PREFIX}/bin
73 ${MKDIR} ${STAGEDIR}${PREFIX}/share/cdrdao
74 ${INSTALL_DATA} ${WRKSRC}/dao/cdrdao.drivers \
75 ${STAGEDIR}${PREFIX}/share/cdrdao/drivers
77 [FILE:231:descriptions/desc.single]
78 Cdrdao records audio or data CD-R[W]s in disc-at-once (DAO) mode based on
79 textual description of the CD contents (toc-file).
81 Among others, cdrdao can handle the bin/cue format commonly used for VCDs
82 or disks with subchannel data.
86 d19b67c853c5dba2406afaab6cd788e77f35eebe634cac4679528477c7be01b6 870084 cdrdao-1.2.5.tar.bz2
89 [FILE:143:manifests/plist.single]
104 [FILE:746:patches/patch-configure]
105 --- configure.orig 2023-02-03 14:28:39 UTC
107 @@ -11410,7 +11410,7 @@ case "$host" in
108 scsilib_objs="ScsiIf-linux.o sg_err.o"
112 + *-freebsd*|*-dragonfly*|*-midnight*)
114 scsilib_objs="ScsiIf-freebsd-cam.o"
116 @@ -11448,7 +11448,7 @@ case "$host" in
121 + *-freebsd*|*-dragonfly*|*-midnight*)
122 if test "$use_pthreads" = yes; then
123 LDFLAGS="-pthread $LDFLAGS"
125 @@ -11465,7 +11465,7 @@ printf "%s\n" "#define _P1003_1B_VISIBLE
129 - *-linux* | *-freebsd* | *-solaris*)
130 + *-linux* | *-freebsd* | *-dragonfly* | *-solaris* | *-midnight*)
131 sound_if_obj=SoundIF-ao.o
136 [FILE:303:patches/patch-dao_GenericMMC.cc]
137 --- dao/GenericMMC.cc.orig 2023-02-03 14:46:06 UTC
138 +++ dao/GenericMMC.cc
139 @@ -2075,7 +2075,7 @@ CdRawToc *GenericMMC::getRawToc(int sess
143 - dataLen = ((reqData[0] << 8) | reqData[1]) + 2;
144 + dataLen = (dataLen + 1) & ~1;
146 log_message(4, "Raw toc data len: %d", dataLen);
150 [FILE:561:patches/patch-dao_ScsiIf-freebsd-cam.cc]
151 --- dao/ScsiIf-freebsd-cam.cc.orig 2023-01-25 14:30:35 UTC
152 +++ dao/ScsiIf-freebsd-cam.cc
157 +#ifdef __DragonFly__
158 +#include <bus/cam/scsi/scsi_message.h>
160 #include <cam/scsi/scsi_message.h>
165 @@ -220,6 +224,12 @@ int ScsiIf::inquiry()
166 for (i = 3; i >= 0 && revision_[i] == ' '; i--)
169 + if (vendor_[0] == 0)
170 + strncpy(vendor_, "UNKNOWN", 8);
172 + if (product_[0] == 0)
173 + strncpy(product_, "UNKNOWN", 8);
180 [FILE:292:patches/patch-dao_ScsiIf-lib.cc]
181 --- dao/ScsiIf-lib.cc.orig 2021-03-15 09:13:15 UTC
182 +++ dao/ScsiIf-lib.cc
183 @@ -288,6 +288,12 @@ int ScsiIf::inquiry()
187 + if (vendor_[0] == 0)
188 + strncpy(vendor_, "UNKNOWN", 8);
190 + if (product_[0] == 0)
191 + strncpy(product_, "UNKNOWN", 8);
198 [FILE:510:patches/patch-dao_ScsiIf-linux.cc]
199 --- dao/ScsiIf-linux.cc.orig 2023-02-03 14:46:06 UTC
200 +++ dao/ScsiIf-linux.cc
202 #include <asm/param.h>
203 #include <scsi/scsi.h>
205 +#include <sys/stat.h>
209 @@ -272,7 +273,13 @@ int ScsiIf::inquiry()
210 for (i = 3; i >= 0 && revision_[i] == ' '; i--) {
215 + if (vendor_[0] == 0)
216 + strncpy(vendor_, "UNKNOWN", 8);
218 + if (product_[0] == 0)
219 + strncpy(product_, "UNKNOWN", 8);
226 [FILE:3580:patches/patch-dao_ScsiIf-netbsd.cc]
227 --- dao/ScsiIf-netbsd.cc.orig 2021-03-15 09:13:15 UTC
228 +++ dao/ScsiIf-netbsd.cc
234 -/* can't include trackdb/util.h */
235 -extern void message(int level, const char *fmt, ...);
238 #include "decodeSense.cc"
240 @@ -91,7 +89,7 @@ int ScsiIf::init()
242 if (impl_->name_ == NULL) return 1;
243 if ((impl_->fd_ = open(impl_->name_, O_RDWR, 0)) < 0) {
244 - message(-2, "init: %s", strerror(errno));
245 + log_message(-2, "init: %s", strerror(errno));
248 if (inquiry()) return 2;
249 @@ -193,29 +191,29 @@ void ScsiIf::printError()
250 p += snprintf(p, s + sizeof(s) - p, ", BUF=%p", impl_->screq_.databuf);
251 p += snprintf(p, s + sizeof(s) - p, ", LEN=%lu", impl_->screq_.datalen);
252 p += snprintf(p, s + sizeof(s) - p, ", TO=%lu", impl_->screq_.timeout);
254 + log_message(-2, s);
256 if (impl_->error_ != NULL) {
257 - message(-2, impl_->error_);
258 + log_message(-2, impl_->error_);
259 } else switch (impl_->screq_.retsts) {
260 case SCCMD_OK: switch (impl_->screq_.status) {
261 - case 0x00: message(-2, "GOOD"); break;
262 - case 0x02: message(-2, "CHECK CONDITION"); break;
263 - case 0x04: message(-2, "CONDITION MET"); break;
264 - case 0x08: message(-2, "BUSY"); break;
265 - case 0x10: message(-2, "INTERMEDIATE"); break;
266 - case 0x14: message(-2, "INTERMEDIATE, CONDITION MET"); break;
267 - case 0x18: message(-2, "RESERVATION CONFLICT"); break;
268 - case 0x22: message(-2, "COMMAND TERMINATED"); break;
269 - case 0x28: message(-2, "QUEUE FULL"); break;
270 - default: message(-2, "undefined status");
271 + case 0x00: log_message(-2, "GOOD"); break;
272 + case 0x02: log_message(-2, "CHECK CONDITION"); break;
273 + case 0x04: log_message(-2, "CONDITION MET"); break;
274 + case 0x08: log_message(-2, "BUSY"); break;
275 + case 0x10: log_message(-2, "INTERMEDIATE"); break;
276 + case 0x14: log_message(-2, "INTERMEDIATE, CONDITION MET"); break;
277 + case 0x18: log_message(-2, "RESERVATION CONFLICT"); break;
278 + case 0x22: log_message(-2, "COMMAND TERMINATED"); break;
279 + case 0x28: log_message(-2, "QUEUE FULL"); break;
280 + default: log_message(-2, "undefined status");
282 - case SCCMD_TIMEOUT: message(-2, "timeout"); break;
283 - case SCCMD_BUSY: message(-2, "busy"); break;
284 + case SCCMD_TIMEOUT: log_message(-2, "timeout"); break;
285 + case SCCMD_BUSY: log_message(-2, "busy"); break;
286 case SCCMD_SENSE: decodeSense(impl_->screq_.sense,
287 impl_->screq_.senselen_used); break;
288 - case SCCMD_UNKNOWN: message(-2, "unknown error"); break;
289 - default: message(-2, "undefined retsts"); break;
290 + case SCCMD_UNKNOWN: log_message(-2, "unknown error"); break;
291 + default: log_message(-2, "undefined retsts"); break;
295 @@ -259,7 +257,7 @@ int ScsiIf::inquiry()
296 return inq(impl_->fd_, vendor_, product_, revision_);
299 -ScsiIf::ScanData *ScsiIf::scan(int *len)
300 +ScsiIf::ScanData *ScsiIf::scan(int *len, char *devpath)
304 @@ -289,6 +287,9 @@ ScsiIf::ScanData *ScsiIf::scan(int *len)
305 strcat(s, dp->d_name);
306 if ((fd = open(s, O_RDWR, 0)) >= 0) {
307 if (ioctl(fd, SCIOCIDENTIFY, &saddr) >= 0) {
309 + scanData[*len].dev = s;
311 switch (saddr.type) {
313 scanData[*len].bus = saddr.addr.scsi.scbus;
314 @@ -305,6 +306,7 @@ ScsiIf::ScanData *ScsiIf::scan(int *len)
316 scanData[*len].lun = -1;
319 if (inq(fd, scanData[*len].vendor,
320 scanData[*len].product,
321 scanData[*len].revision) == 0) (*len)++;
324 [FILE:291:patches/patch-dao_ScsiIf-nt.cc]
325 --- dao/ScsiIf-nt.cc.orig 2021-03-15 09:13:15 UTC
327 @@ -332,6 +332,12 @@ int ScsiIf::inquiry()
331 + if (vendor_[0] == 0)
332 + strncpy(vendor_, "UNKNOWN", 8);
334 + if (product_[0] == 0)
335 + strncpy(product_, "UNKNOWN", 8);
342 [FILE:666:patches/patch-dao_cdrdao.man]
343 --- dao/cdrdao.man.orig 2023-02-03 14:46:06 UTC
345 @@ -798,13 +798,9 @@ following locations. The files will be r
350 +1. %%PREFIX%%/etc/cdrdao.conf
352 -2. /etc/defaults/cdrdao
354 -3. /etc/default/cdrdao
360 Command line options will overwrite the loaded settings.
361 @@ -886,4 +882,4 @@ resources may not be released. Use ipcs(
365 -.BR gcdmaster "(1), "cdrecord "(1), "cdda2wav "(1), "cdparanoia "(1), " sox "(1), "ipcs "(8), " ipcrm (8)
366 +.BR gcdmaster "(1), "cdrecord "(1), "cdda2wav "(1), "cdparanoia "(1), " sox "(1), "ipcs "(1), " ipcrm (1)
369 [FILE:514:patches/patch-dao_main.cc]
370 --- dao/main.cc.orig 2023-02-03 14:46:06 UTC
372 @@ -2450,11 +2450,7 @@ int main(int argc, char **argv)
374 Settings* settings = new Settings;
376 - settingsPath = "/etc/cdrdao.conf";
377 - if (settings->read(settingsPath) == 0)
378 - log_message(3, "Read settings from \"%s\".", settingsPath);
380 - settingsPath = "/etc/defaults/cdrdao";
381 + settingsPath = "%%PREFIX%%/etc/defaults/cdrdao";
382 if (settings->read(settingsPath) == 0)
383 log_message(3, "Read settings from \"%s\".", settingsPath);
387 [FILE:375:patches/patch-gcdmaster_SampleDisplay.cc]
388 --- gcdmaster/SampleDisplay.cc.orig 2023-02-03 14:46:06 UTC
389 +++ gcdmaster/SampleDisplay.cc
390 @@ -905,8 +905,6 @@ void SampleDisplay::updateSamples()
395 - std::cout << "null !!" << std::endl;
397 if (0 && (gint) di < sampleEndX_) {
398 pos = sampleBuf[len - 1].left() * halfHeight;
401 [FILE:656:patches/patch-gcdmaster_SoundIF-solaris.cc]
402 --- gcdmaster/SoundIF-solaris.cc.orig 2023-02-03 14:46:06 UTC
403 +++ gcdmaster/SoundIF-solaris.cc
405 * Sound interface for Solaris. Thanks to Tobias Oetiker <oetiker@ee.ethz.ch>.
408 +#include <sys/types.h>
409 #include <sys/audioio.h>
412 @@ -196,7 +197,7 @@ int SoundIFImpl::setupDevice()
413 auinf.play.sample_rate=44100;
414 auinf.play.channels=2;
415 auinf.play.precision=16;
416 - auinf.play.encoding=AUDIO_ENCODING_LINEAR;
417 + auinf.play.encoding=AUDIO_ENCODING_SLINEAR_BE;
419 if (ioctl(dspFd_, AUDIO_SETINFO, &auinf) < 0) {
420 log_message(-1, _("Cannot setup audio interface: %s"), strerror(errno));
423 [FILE:304:patches/patch-trackdb_FormatOgg.cc]
424 --- trackdb/FormatOgg.cc.orig 2021-03-15 09:13:15 UTC
425 +++ trackdb/FormatOgg.cc
426 @@ -84,6 +84,7 @@ FormatSupport::Status FormatOgg::oggInit
427 return FS_WRONG_FORMAT;
430 + memset(&outFormat_, 0, sizeof(outFormat_));
431 outFormat_.bits = 16;
432 outFormat_.rate = 44100;
433 outFormat_.channels = 2;