1 # Created by: Dirk Froemberg <dirk@FreeBSD.org>
4 ###########################################################################
5 # This makefile was contributed by Marius Strobl.
6 ###########################################################################
7 # The contents of this file are subject to the terms of the
8 # Common Development and Distribution License, Version 1.0 only
9 # (the "License"). You may not use this file except in compliance
12 # See the file CDDL.Schily.txt in this distribution for details.
14 # When distributing Covered Code, include this CDDL HEADER in each
15 # file and include the License file CDDL.Schily.txt from this distribution.
16 ###########################################################################
17 # The file CDDL.Schily.txt can be found in the original cdrtools tarball,
18 # which is mirrored at ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/.
19 ###########################################################################
24 CATEGORIES= sysutils audio
25 MASTER_SITES= SF/${PORTNAME}
27 PATCH_SITES= ${MASTER_SITES}
28 PATCHFILES= cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch
31 MAINTAINER= marius@FreeBSD.org
32 COMMENT= CD/DVD/BluRay and ISO-9660 image creation and extraction tools
34 LICENSE= BSD2CLAUSE CDDL GPLv2 LGPL21
37 CONFLICTS= cdrkit-* cdrtools-devel-* cjk-cdrtools-*
39 DOCS= README.FreeBSD README.mkisofs
40 CDDA2WAVDOCS= FAQ Frontends HOWTOUSE OtherProgs README THANKS TODO
41 CDRECORDDOCS= README README.ATAPI README.DiskT@2 README.WORM README.audio \
42 README.cdplus README.cdrw README.cdtext README.clone \
43 README.copy README.multi README.raw README.rscsi README.sony \
45 MKISOFSDOCS= README README.compression README.eltorito README.graft_dirs \
46 README.hfs_boot README.hfs_magic README.hide README.joliet \
47 README.macosx README.mkhybrid README.prep_boot README.rootinfo \
48 README.session README.sort README.sparcboot README.sunx86boot
49 SICONVTABLES= cp10000 cp10006 cp10007 cp10029 cp10079 cp10081 cp1250 \
50 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 \
51 cp437 cp737 cp775 cp850 cp852 cp855 cp857 cp860 cp861 \
52 cp862 cp863 cp864 cp865 cp866 cp869 cp874 iso8859-1 \
53 iso8859-10 iso8859-11 iso8859-13 iso8859-14 iso8859-15 \
54 iso8859-16 iso8859-2 iso8859-3 iso8859-4 iso8859-5 \
55 iso8859-6 iso8859-7 iso8859-8 iso8859-9 koi8-r koi8-u
58 #CFLAGS+= -DSOURCE_MODIFIED
59 SUB_FILES= pkg-message
62 OPTIONS_DEFINE= CDDA2MP3 CDDA2OGG DOCS NLS RSCSI
64 CDDA2MP3_DESC= Build cdda2mp3 (requires audio/lame)
65 CDDA2OGG_DESC= Build cdda2ogg (requires audio/vorbis-tools)
66 RSCSI_DESC= Build rscsi suid root remote SCSI access daemon
68 .include <bsd.port.options.mk>
70 .if ${PORT_OPTIONS:MCDDA2MP3}
71 PLIST_SUB+= CDDA2MP3=""
72 RUN_DEPENDS+= lame:audio/lame
74 PLIST_SUB+= CDDA2MP3="@comment "
76 .if ${PORT_OPTIONS:MCDDA2OGG}
77 PLIST_SUB+= CDDA2OGG=""
78 RUN_DEPENDS+= oggenc:audio/vorbis-tools
80 PLIST_SUB+= CDDA2OGG="@comment "
82 .if ${PORT_OPTIONS:MRSCSI}
83 PKGINSTALL= ${PKGDIR}/pkg-install.rscsi
87 PLIST_SUB+= RSCSI="@comment "
90 MAKE_ENV= CCOM=cc GMAKE_NOWARN=true INS_BASE=${LOCALBASE} \
91 INS_RBASE=${LOCALBASE}
92 CDRTLSTARGET= ${ARCH}-${OPSYS:tl}-cc
93 CDRTLSXARCH!= ${UNAME} -m
95 .if exists(/usr/include/iconv.h)
98 .if exists(${LOCALBASE}/lib/libiconv.a) || \
99 exists(${LOCALBASE}/lib/libintl.a) || ${PORT_OPTIONS:MNLS}
100 MAKE_ENV+= DEFOSINCDIRS=${LOCALBASE}/include LDPATH=-L${LOCALBASE}/lib
105 .for i in config.guess config.sub
106 .for j in autoconf conf cdda2wav
107 @${CP} -fp ${PORTSDIR}/Templates/${i} ${WRKSRC}/${j}
110 .if ${CDRTLSXARCH} != "i386"
111 @${LN} -sf ${WRKSRC}/RULES/i386-freebsd-cc.rul \
112 ${WRKSRC}/RULES/${CDRTLSXARCH}-${OPSYS:tl}-cc.rul
116 @${RM} ${WRKSRC}/TARGETS/55scgskeleton ${WRKSRC}/TARGETS/85man
117 .if !${PORT_OPTIONS:MRSCSI}
118 @${RM} ${WRKSRC}/TARGETS/55rscsi
120 .for i in btcflash/btcflash.1 cdda2wav/cdda2mp3 cdda2wav/cdda2ogg \
121 cdda2wav/cdda2ogg.1 cdda2wav/cdda2wav.1 cdrecord/README.rscsi \
122 cdrecord/cdrecord.1 cdrecord/cdrecord.dfl include/schily/deflts.h \
123 libcdrdeflt/cdrdeflt.c librscg/scsi-remote.c readcd/readcd.1 \
124 rscsi/rscsi.1 rscsi/rscsi.c rscsi/rscsi.dfl scgcheck/scgcheck.1
125 @${REINPLACE_CMD} -e 's|\/opt\/schily|${PREFIX}|g; \
126 s|\/usr\/local|${PREFIX}|g; s|\/etc\/default|${PREFIX}\/etc|g; \
127 s|\/var\/adm\/messages|\/var\/run\/dmesg.boot|g; \
128 s|^CDDA2WAV=|&${PREFIX}\/bin\/|g; \
129 s|^MP_CODER=|&${LOCALBASE}\/bin\/|g' ${WRKSRC}/${i}
131 @${MV} -f ${WRKSRC}/libparanoia/cdda_paranoia.h \
132 ${WRKSRC}/libparanoia/js_cdda_paranoia.h
133 .for i in cdda2wav/cdda2wav.c cdda2wav/global.h libparanoia/gap.c \
134 libparanoia/overlap.c libparanoia/p_block.c libparanoia/paranoia.c
135 @${REINPLACE_CMD} -e 's|cdda_paranoia\.h|js_cdda_paranoia.h|g' \
138 # @${REINPLACE_CMD} -E -e \
139 # 's|#define.+INSERT_YOUR_EMAIL_ADDRESS_HERE|& "${MAINTAINER}"|' \
140 # ${WRKSRC}/cdrecord/cdrecord.c
143 ${INSTALL_PROGRAM} ${WRKSRC}/btcflash/OBJ/${CDRTLSTARGET}/btcflash \
144 ${STAGEDIR}${PREFIX}/bin
145 .if ${PORT_OPTIONS:MCDDA2MP3}
146 ${INSTALL_SCRIPT} ${WRKSRC}/cdda2wav/cdda2mp3 ${STAGEDIR}${PREFIX}/bin
147 ${INSTALL_MAN} ${WRKSRC}/cdda2wav/cdda2ogg.1 \
148 ${STAGEDIR}${PREFIX}/man/man1/cdda2mp3.1
150 .if ${PORT_OPTIONS:MCDDA2OGG}
151 ${INSTALL_SCRIPT} ${WRKSRC}/cdda2wav/cdda2ogg ${STAGEDIR}${PREFIX}/bin
152 ${INSTALL_MAN} ${WRKSRC}/cdda2wav/cdda2ogg.1 \
153 ${STAGEDIR}${PREFIX}/man/man1
155 ${INSTALL_PROGRAM} ${WRKSRC}/cdda2wav/OBJ/${CDRTLSTARGET}/cdda2wav \
156 ${STAGEDIR}${PREFIX}/bin
157 ${LN} -sf cdda2wav ${STAGEDIR}${PREFIX}/bin/list_audio_tracks
158 ${INSTALL_PROGRAM} ${WRKSRC}/cdrecord/OBJ/${CDRTLSTARGET}/cdrecord \
159 ${STAGEDIR}${PREFIX}/bin
160 .for i in devdump isodebug isodump isoinfo isovfy
161 ${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/diag/OBJ/${CDRTLSTARGET}/${i} \
162 ${STAGEDIR}${PREFIX}/bin
164 ${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/OBJ/${CDRTLSTARGET}/mkisofs \
165 ${STAGEDIR}${PREFIX}/bin
166 ${LN} -sf mkisofs ${STAGEDIR}${PREFIX}/bin/mkhybrid
167 ${INSTALL_PROGRAM} ${WRKSRC}/readcd/OBJ/${CDRTLSTARGET}/readcd \
168 ${STAGEDIR}${PREFIX}/bin
169 .if ${PORT_OPTIONS:MRSCSI}
170 ${INSTALL_PROGRAM} ${WRKSRC}/rscsi/OBJ/${CDRTLSTARGET}/rscsi \
171 ${STAGEDIR}${PREFIX}/sbin
173 ${INSTALL_PROGRAM} ${WRKSRC}/scgcheck/OBJ/${CDRTLSTARGET}/scgcheck \
174 ${STAGEDIR}${PREFIX}/bin
175 ${INSTALL_MAN} ${WRKSRC}/btcflash/btcflash.1 \
176 ${STAGEDIR}${PREFIX}/man/man1
177 ${INSTALL_MAN} ${WRKSRC}/cdda2wav/cdda2wav.1 \
178 ${STAGEDIR}${PREFIX}/man/man1
179 ${INSTALL_MAN} ${WRKSRC}/cdrecord/cdrecord.1 \
180 ${STAGEDIR}${PREFIX}/man/man1
181 ${INSTALL_MAN} ${WRKSRC}/readcd/readcd.1 ${STAGEDIR}${PREFIX}/man/man1
182 .if ${PORT_OPTIONS:MRSCSI}
183 @${INSTALL_MAN} ${WRKSRC}/rscsi/rscsi.1 ${STAGEDIR}${PREFIX}/man/man1
185 ${INSTALL_MAN} ${WRKSRC}/scgcheck/scgcheck.1 \
186 ${STAGEDIR}${PREFIX}/man/man1
187 ${INSTALL_MAN} ${WRKSRC}/mkisofs/mkisofs.8 ${STAGEDIR}${PREFIX}/man/man8
188 ${INSTALL_MAN} ${WRKSRC}/mkisofs/diag/isoinfo.8 \
189 ${STAGEDIR}${PREFIX}/man/man8
190 ${INSTALL_DATA} ${WRKSRC}/cdrecord/cdrecord.dfl \
191 ${STAGEDIR}${PREFIX}/etc/cdrecord.sample
192 .if !exists(${STAGEDIR}${PREFIX}/etc/cdrecord)
193 ${INSTALL_DATA} ${WRKSRC}/cdrecord/cdrecord.dfl \
194 ${STAGEDIR}${PREFIX}/etc/cdrecord
196 ${MKDIR} ${STAGEDIR}${PREFIX}/lib/siconv
197 .for i in ${SICONVTABLES}
198 ${INSTALL_DATA} ${WRKSRC}/libsiconv/tables/${i} \
199 ${STAGEDIR}${PREFIX}/lib/siconv
201 .if ${PORT_OPTIONS:MRSCSI}
202 ${INSTALL_DATA} ${WRKSRC}/rscsi/rscsi.dfl \
203 ${STAGEDIR}${PREFIX}/etc/rscsi.sample
204 .if !exists(${STAGEDIR}${PREFIX}/etc/rscsi)
205 ${INSTALL_DATA} ${WRKSRC}/rscsi/rscsi.dfl ${STAGEDIR}${PREFIX}/etc/rscsi
208 ${MKDIR} ${STAGEDIR}${DOCSDIR}
210 ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
212 ${MKDIR} ${STAGEDIR}${DOCSDIR}/cdda2wav
213 .for i in ${CDDA2WAVDOCS}
214 ${INSTALL_DATA} ${WRKSRC}/cdda2wav/${i} ${STAGEDIR}${DOCSDIR}/cdda2wav
216 ${MKDIR} ${STAGEDIR}${DOCSDIR}/cdrecord
217 .for i in ${CDRECORDDOCS}
218 ${INSTALL_DATA} ${WRKSRC}/cdrecord/${i} ${STAGEDIR}${DOCSDIR}/cdrecord
220 ${MKDIR} ${STAGEDIR}${DOCSDIR}/mkisofs
221 .for i in ${MKISOFSDOCS}
222 ${INSTALL_DATA} ${WRKSRC}/mkisofs/${i} ${STAGEDIR}${DOCSDIR}/mkisofs
225 .include <bsd.port.mk>