freebsd-ports/sysutils/cdrdao/Makefile
Marius Strobl 8105b98597 - Update to 1.2.0. [1]
<snip>
  Cdrdao changes:
   o  SECURITY FIX: cdrdao now gives up its root privileges after setting
      up real-time scheduling, as well as before saving settings through
      the --save option. This fixes a potential local root exploit when
      cdrdao is installed with the +s chmod flag. Using --save now also
      forces an early exit after the settings are saved.
   o  Added MP3 and Ogg Vorbis file support (through respectively the
      libmad and libvorbis libraries). cdrdao will decode the MP3 and
      Ogg files into temporary WAV files that will be deleted upon exit
      (unless the new option --keep is used). The directory used to
      store those temporary WAV files can be specified with the --tmpdir
      option (default is /tmp).
   o  Improved native CUE file support: replaced old incomplete existing
      parser with the one from Matthias Czapla's excellent
      cue2toc. Added support for cutting binary files.
   o  Added --rspeed option to manually set the device reading speed. Be
      warned not all devices support this.
   o  Packaged scsilib library upgraded from cdrtools 2.01 (previously
      was from 2.01a31).
   o  Added --no-mode2-mixed option. Don't read a MODE2 disk as
      MODE2_FORM_MIXED, only read MODE2_FORM1 or MODE2_FORM2 (Matthieu
      Castet).
   o  Added help for little-known drive-info command.

   GCDMaster changes:
   o  MP3 and Ogg Vorbis support: you can drag and drop .mp3, .m3u and
      .ogg files from Nautilus into the sample display window.
   o  Switched to gtkmm24 API. Improved file browsers.
   o  CUE files support.
   o  Sound output now uses libao library.
   o  Added 'Select All' item in menu.
   o  Added 'Eject' button to progress dialog.
   o  Bug fixes (sample selection weirdness, couldn't close window during
      play, problems with gcdmaster command-line argument, crashes with
      multiple project windows, drive status not reported correctly).
  <snip>

  Note that the FreeBSD ports doesn't install cdrdao setuid root so you are
  not vulnerable by default.
- Fix building on FreeBSD 7.
- Turn on the usage of mlockall(2) again as it no longer causes negative side
  effects on FreeBSD >= 502113.

Requested by:	will [1]
Approved by:	portmgr (linimon)
Security:	http://vuxml.freebsd.org/d51a7e6e-c546-11d9-9aed-000e0c2e438a.html
2005-08-12 16:20:44 +00:00

156 lines
5.1 KiB
Makefile

# New ports collection makefile for: cdrdao
# Date created: 7 April 1999
# Whom: futatuki
#
# $FreeBSD$
#
PORTNAME?= cdrdao
PORTVERSION= 1.2.0
PORTREVISION?= 0
CATEGORIES= sysutils audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED}
MASTER_SITE_SUBDIR= cdrdao
DISTNAME= cdrdao-${PORTVERSION}
MAINTAINER= marius@FreeBSD.org
COMMENT?= Record CD-R[W]s in disk-at-once mode
BUILD_DEPENDS= ${LOCALBASE}/bin/antlr:${PORTSDIR}/devel/pccts \
${LOCALBASE}/bin/dlg:${PORTSDIR}/devel/pccts
USE_GMAKE= yes
USE_REINPLACE= yes
GNU_CONFIGURE= yes
MP3OGG_LIB_DEPENDS= ao.3:${PORTSDIR}/audio/libao \
mad.2:${PORTSDIR}/audio/libmad \
vorbis.3:${PORTSDIR}/audio/libvorbis
.if ${PORTNAME} == "gcdmaster"
USE_GCC= 3.4
USE_GNOME= gnomehier pkgconfig
LIB_DEPENDS= ${MP3OGG_LIB_DEPENDS} \
gnomeuimm-2.6.1:${PORTSDIR}/x11-toolkits/libgnomeuimm26
RUN_DEPENDS= ${LOCALBASE}/bin/cdrdao:${PORTSDIR}/sysutils/cdrdao \
${LOCALBASE}/share/mime/packages/freedesktop.org.xml:${PORTSDIR}/misc/shared-mime-info
MAN1= gcdmaster.1
CONFIGURE_ARGS= --without-lame
.else
MAN1= cdrdao.1 cue2toc.1
CONFIGURE_ARGS= --without-xdao
.if defined(WITH_TOC2MP3)
LIB_DEPENDS= mp3lame.0:${PORTSDIR}/audio/lame
CONFIGURE_ARGS+= --with-lame-include=${LOCALBASE}/include \
--with-lame-lib=${LOCALBASE}/lib
PLIST_SUB+= TOC2MP3=""
.else
CONFIGURE_ARGS+= --without-lame
PLIST_SUB+= TOC2MP3="@comment "
.endif
.if !defined(WITHOUT_MP3OGG)
USE_GNOME= pkgconfig
LIB_DEPENDS+= ${MP3OGG_LIB_DEPENDS}
.else
CONFIGURE_ARGS+= --without-mp3-support --without-ogg-support
.endif
.endif
CONFIGURE_ARGS+= --with-pcctsbin=${LOCALBASE}/bin \
--with-pcctsinc=${LOCALBASE}/include/pccts \
--without-posix-threads
#CONFIGURE_ARGS+= --without-scglib
CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL}
MAKE_ENV= LANG=C
.include <bsd.port.pre.mk>
pre-everything::
.if ${PORTNAME} != "gcdmaster" && \
(!defined(WITH_TOC2MP3) || !defined(WITHOUT_MP3OGG))
@${ECHO_MSG} ""
@${ECHO_MSG} "You may use the following build option(s):"
@${ECHO_MSG} ""
.if !defined(WITH_TOC2MP3)
@${ECHO_MSG} "WITH_TOC2MP3=yes builds with toc2mp3 (requires audio/lame)"
.endif
.if !defined(WITHOUT_MP3OGG)
@${ECHO_MSG} "WITHOUT_MP3OGG=yes builds without support for decoding MP3 and Ogg Vorbis"
@${ECHO_MSG} " files (not required unless using sysutils/gcdmaster;"
@${ECHO_MSG} " disabling saves a couple of dependencies)"
.endif
@${ECHO_MSG} ""
.endif
post-extract:
.if ${ARCH} != "i386" || ${CC} != "cc"
@${LN} -sf ${WRKSRC}/scsilib/RULES/i386-freebsd-cc.rul \
${WRKSRC}/scsilib/RULES/${ARCH}-freebsd-${CC}.rul
.endif
post-patch:
.for i in 45libdeflt 45libedc 45libfile 45libhfs_iso 45libparanoia 45libunls \
45librscg 55cdda2wav 55cdrecord 55cmd 55mkisofs 55mkisofs!@!diag \
55readcd 55scgcheck 55scgskeleton 55rscsi 85man
@${RM} ${WRKSRC}/scsilib/TARGETS/${i}
.endfor
.if ${PORTNAME} == "gcdmaster"
@${REINPLACE_CMD} -E -e 's|(^SUBDIRS.+) utils|\1|' ${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -E -e 's|(^gladedir.+=).+|\1 ${DATADIR}|' \
${WRKSRC}/xdao/Makefile.in
@${REINPLACE_CMD} -E -e \
's|(SET_CDRDAO_PATH.+path=)(cdrdao)|\1${LOCALBASE}\/bin\/\2|g' \
${WRKSRC}/xdao/Settings.cc
@${REINPLACE_CMD} -E -e \
's|(icon-filename=).+(gcdmaster-doc.png)|\1${X11BASE}\/share\/gnome\/mime-info\/\2|g' \
${WRKSRC}/xdao/gcdmaster.keys
.else
.for i in cdrdao.man main.cc
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/dao/${i}
.endfor
@${REINPLACE_CMD} -E -e 's|(^CDRDAO_DATA_DIR.+=).+|\1 ${DATADIR}|' \
${WRKSRC}/dao/Makefile.in
.endif
do-install:
.if ${PORTNAME} == "gcdmaster"
@${INSTALL_PROGRAM} ${WRKSRC}/xdao/gcdmaster ${PREFIX}/bin
@${INSTALL_MAN} ${WRKSRC}/xdao/gcdmaster.man \
${PREFIX}/man/man1/gcdmaster.1
@${INSTALL_DATA} ${WRKSRC}/xdao/gcdmaster-doc.png \
${X11BASE}/share/gnome/pixmaps/document-icons
@${INSTALL_DATA} ${WRKSRC}/xdao/gcdmaster.applications \
${X11BASE}/share/gnome/application-registry
@${INSTALL_DATA} ${WRKSRC}/xdao/gcdmaster.desktop \
${X11BASE}/share/gnome/applications
@${INSTALL_DATA} ${WRKSRC}/xdao/gcdmaster.keys \
${X11BASE}/share/gnome/mime-info
@${INSTALL_DATA} ${WRKSRC}/xdao/gcdmaster.mime \
${X11BASE}/share/gnome/mime-info
@${INSTALL_DATA} ${WRKSRC}/xdao/gcdmaster.png \
${X11BASE}/share/gnome/pixmaps
@${INSTALL_DATA} ${WRKSRC}/xdao/gcdmaster.xml \
${X11BASE}/share/mime/packages
@${MKDIR} ${DATADIR}
@${INSTALL_DATA} ${WRKSRC}/xdao/glade/ProjectChooser.glade ${DATADIR}
.else
@${INSTALL_PROGRAM} ${WRKSRC}/dao/cdrdao ${PREFIX}/bin
@${INSTALL_MAN} ${WRKSRC}/dao/cdrdao.man ${PREFIX}/man/man1/cdrdao.1
@${INSTALL_PROGRAM} ${WRKSRC}/utils/cue2toc ${PREFIX}/bin
@${INSTALL_MAN} ${WRKSRC}/utils/cue2toc.1 ${PREFIX}/man/man1
@${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2cddb ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2cue ${PREFIX}/bin
@${MKDIR} ${DATADIR}
@${INSTALL_DATA} ${WRKSRC}/dao/cdrdao.drivers ${DATADIR}/drivers
.if defined(WITH_TOC2MP3)
@${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2mp3 ${PREFIX}/bin
.endif
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
.for i in CREDITS ChangeLog README README.PlexDAE
@${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR}
.endfor
.endif
.endif
.include <bsd.port.post.mk>