freebsd-ports/sysutils/cdrtools-devel/Makefile
Alexander Leidinger 8b437c819a - Add a knob WITH_DVDHACK that builds cdrecord with a third-party patch
allowing to record DVD-R[W]s. [1]
  NOTE: Please don't blame Joerg Schilling or ask for support on the
	cdrtools mailing lists if this doesn't work. Also have a look
	at the output of `cdrecord -version`.
- Append '-rscsi' to PKGNAMESUFFIX when built with WITH_RSCSI (equivalent
  is done when built with WITH_DVDHACK).
- Limit the workaround that disables using mlockall(2) to FreeBSD versions
  where it triggers a panic.

Requested by:	pav [1]
Tested by:	Harold Gutch <logix@foobar.franken.de> [1]
2003-11-17 10:11:20 +00:00

182 lines
5.8 KiB
Makefile

# New ports collection makefile for: cdrtools-devel
# Date created: 28 May 2003
# Whom: marius@alchemy.franken.de
#
# $FreeBSD$
#
PORTNAME?= cdrtools
PORTVERSION?= 2.01a19
#PORTREVISION?= 0
PORTREVISION?= 1
CATEGORIES?= sysutils audio
MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/alpha/ \
ftp://ftp.cs.tu-berlin.de/pub/misc/cdrecord/alpha/
DISTNAME= cdrtools-2.01a19
.if defined(WITH_DVDHACK) && !defined(MKISOFS)
PATCH_SITES= http://people.mandrakesoft.com/~warly/files/cdrtools/archives/
PATCHFILES= cdrtools-2.01a16-dvd.patch.bz2
PATCH_DIST_STRIP= -p1
EXTRA_PATCHES= ${FILESDIR}/extra-patch-drv_mmc.c
.endif
MAINTAINER= marius@alchemy.franken.de
COMMENT?= Cdrecord and other programs to extract and record CDs/CD-R[W]s
CONFLICTS?= cdrtools-[0-9]*
.if defined(MKISOFS)
MAN8= isoinfo.8 mkisofs.8
MLINKS= isoinfo.8 devdump.8 isoinfo.8 isodump.8 isoinfo.8 isovfy.8 \
mkisofs.8 mkhybrid.8
DOCS= README README.compression README.eltorito README.graft_dirs \
README.hfs_boot README.hfs_magic README.hide README.joliet \
README.macosx README.mkhybrid README.prep_boot README.rootinfo \
README.session README.sort README.sparcboot
.else
MAN1= cdda2wav.1 cdrecord.1 readcd.1 scgcheck.1
DOCS= README README.DiskT@2 README.FreeBSD README.WORM README.cdplus \
README.cdrw README.cdtext README.clone README.copy \
README.mkisofs README.multi README.raw README.rscsi \
README.sony README.verify
CDDA2WAVDOCS= FAQ Frontends HOWTOUSE OtherProgs README THANKS TODO
.endif
NO_LATEST_LINK= yes
USE_BZIP2= yes
USE_GMAKE= yes
USE_REINPLACE= yes
MAKE_ENV= CCOM=${CC}
WRKSRC= ${WRKDIR}/${DISTNAME:C/a(.+)$//}
.if defined(MKISOFS)
DOCSSRC= ${WRKSRC}/${PORTNAME}
PKGMESSAGE= ""
.else
DOCSSRC= ${WRKSRC}
PKGMESSAGE= ${WRKDIR}/pkg-message
.if defined(WITH_DVDHACK)
_DVDSUFFIX= -dvd
.endif
.if defined(WITH_RSCSI)
PKGINSTALL= ${PKGDIR}/pkg-install.rscsi
PLIST_SUB= RSCSI=""
_RSCSISUFFIX= -rscsi
.else
PLIST_SUB= RSCSI="@comment "
.endif
.endif
PKGNAMESUFFIX= ${_DVDSUFFIX}${_RSCSISUFFIX}-devel
.include <bsd.port.pre.mk>
pre-everything::
.if !defined(MKISOFS)
@${ECHO_MSG} ""
@${ECHO_MSG} "You may use the following build option(s):"
@${ECHO_MSG} ""
@${ECHO_MSG} "WITH_DVDHACK=yes builds with a third-party patch that enables recording"
@${ECHO_MSG} " of DVD-R[W]s."
@${ECHO_MSG} "WITH_RSCSI=yes builds with rscsi which allows using SCSI-devices over"
@${ECHO_MSG} " the network."
@${ECHO_MSG} " BEWARE: The rscsi binary gets installed suid root as"
@${ECHO_MSG} " this is the preferred method to set it up."
@${ECHO_MSG} ""
.endif
post-extract:
.for i in config.guess config.sub
@${CP} ${PORTSDIR}/Templates/${i} ${WRKSRC}/conf
@${CP} ${PORTSDIR}/Templates/${i} ${WRKSRC}/cdda2wav
.endfor
.if ${MACHINE_ARCH} != "i386" || ${CC} != "cc"
@${LN} -sf ${WRKSRC}/RULES/i386-freebsd-cc.rul \
${WRKSRC}/RULES/${MACHINE_ARCH}-freebsd-${CC}.rul
.endif
post-patch:
.if defined(MKISOFS)
.for i in 45libdeflt 45libedc 45libparanoia 55cdda2wav 55cdrecord 55readcd \
55rscsi 55scgcheck
@${RM} ${WRKSRC}/TARGETS/${i}
.endfor
.else
.for i in 45libfile 45libhfs_iso 45libunls 55mkisofs 55mkisofs!@!diag
@${RM} ${WRKSRC}/TARGETS/${i}
.endfor
.if !defined(WITH_RSCSI)
@${RM} ${WRKSRC}/TARGETS/55rscsi
.endif
.for i in README.rscsi include/deflts.h cdda2wav/cdda2wav.1 \
cdrecord/cdrecord.1 cdrecord/cdrecord.dfl cdrecord/defaults.c \
readcd/readcd.1 rscsi/rscsi.c rscsi/rscsi.dfl scgcheck/scgcheck.1
@${REINPLACE_CMD} -e 's|\/opt\/schily|${PREFIX}|g; \
s|\/usr\/local|${PREFIX}|g; s|\/etc\/default|${PREFIX}\/etc|g; \
s|\/var\/adm\/messages|\/var\/run\/dmesg.boot|g' ${WRKSRC}/${i}
.endfor
@${SED} 's|%%PREFIX%%|${PREFIX}|g' ${PKGDIR}/pkg-message > \
${WRKDIR}/pkg-message
.endif
do-install:
.if defined(MKISOFS)
@${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/OBJ/${ARCH}-freebsd-cc/mkisofs \
${PREFIX}/bin
@${LN} -sf mkisofs ${PREFIX}/bin/mkhybrid
.for i in devdump isodebug isodump isoinfo isovfy
@${INSTALL_PROGRAM} ${WRKSRC}/mkisofs/diag/OBJ/${ARCH}-freebsd-cc/${i} \
${PREFIX}/bin
.endfor
@${INSTALL_MAN} ${WRKSRC}/mkisofs/mkisofs.8 ${PREFIX}/man/man8
@${INSTALL_MAN} ${WRKSRC}/mkisofs/diag/isoinfo.8 ${PREFIX}/man/man8
.else
@${INSTALL_PROGRAM} ${WRKSRC}/cdda2wav/OBJ/${ARCH}-freebsd-cc/cdda2wav \
${PREFIX}/bin
@${LN} -sf cdda2wav ${PREFIX}/bin/list_audio_tracks
@${INSTALL_PROGRAM} ${WRKSRC}/cdrecord/OBJ/${ARCH}-freebsd-cc/cdrecord \
${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/readcd/OBJ/${ARCH}-freebsd-cc/readcd \
${PREFIX}/bin
.if defined(WITH_RSCSI)
@${INSTALL_PROGRAM} ${WRKSRC}/rscsi/OBJ/${ARCH}-freebsd-cc/rscsi \
${PREFIX}/sbin
@${CHMOD} u+s ${PREFIX}/sbin/rscsi
.endif
@${INSTALL_PROGRAM} ${WRKSRC}/scgcheck/OBJ/${ARCH}-freebsd-cc/scgcheck \
${PREFIX}/bin
@${INSTALL_MAN} ${WRKSRC}/cdda2wav/cdda2wav.1 ${PREFIX}/man/man1
@${INSTALL_MAN} ${WRKSRC}/cdrecord/cdrecord.1 ${PREFIX}/man/man1
@${INSTALL_MAN} ${WRKSRC}/readcd/readcd.1 ${PREFIX}/man/man1
@${INSTALL_MAN} ${WRKSRC}/scgcheck/scgcheck.1 ${PREFIX}/man/man1
@${INSTALL_DATA} ${WRKSRC}/cdrecord/cdrecord.dfl \
${PREFIX}/etc/cdrecord.sample
.if !exists(${PREFIX}/etc/cdrecord)
@${INSTALL_DATA} ${WRKSRC}/cdrecord/cdrecord.dfl ${PREFIX}/etc/cdrecord
.endif
.if defined(WITH_RSCSI)
@${INSTALL_DATA} ${WRKSRC}/rscsi/rscsi.dfl ${PREFIX}/etc/rscsi.sample
.if !exists(${PREFIX}/etc/rscsi)
@${INSTALL_DATA} ${WRKSRC}/rscsi/rscsi.dfl ${PREFIX}/etc/rscsi
.endif
.endif
.endif
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
.for i in ${DOCS}
@${INSTALL_DATA} ${DOCSSRC}/${i} ${DOCSDIR}
.endfor
.if !defined(MKISOFS)
@${MKDIR} ${DOCSDIR}/cdda2wav
.for i in ${CDDA2WAVDOCS}
@${INSTALL_DATA} ${DOCSSRC}/cdda2wav/${i} ${DOCSDIR}/cdda2wav
.endfor
.endif
.endif
post-install:
-@if [ -f ${PKGINSTALL} ]; then ${SETENV} PKG_PREFIX=${PREFIX} \
${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; fi
@if [ -f ${WRKDIR}/pkg-message ]; then ${CAT} ${WRKDIR}/pkg-message; fi
.include <bsd.port.post.mk>