pkgsrc/sysutils/cdrtools/Makefile
wiz 0abbe4e2bb Update to 3.01a07:
All:

-	The file COPYING has been reworded to be more obvious with
	explaining work limits.

-	A workaround for a bug in llvm-gcc-4.2 has been introduced in
	inc/avoffset.c. The llvm-gcc-4.2 bug caused an endless loop at an
	unexpected place.

-	New target "htmlxn" to only rebuild html versions of man pages
	only in case there was a change

-	The CSW packaging definitions in the schily makefilesystem was
	enhanced to permit referencing files in the package definition directory

-	include/schily/sigset.h added new macros: blocked_sigs(),
	block_sigs()

-	include/schily/fcntl.h now includes O_SEARCH for POSIX.1-2008 compliance.

-	Schily autoconf now tests for the size of mode_t, uid_t, gid_t, pid_t,
	dev_t, major_t, minor_t

-	Schily autoconf now defines a promoted type for mode_t that can be
	used together with varargs. This is needed as mode_t is smaller than
	int on some systems.

-	New autoconf tests for getdelim() and strncasecmp()

-	Added a workaround for a auto-dependency creation bug in the HP-UX
	c-compiler that resulted in wrong dependency files for all files
	in libshcily/stdio/ and for these files prevented an automated
	recompilation in case that an include file was changed.

-	Added links for:

	amd64-freebsd-cc.rul
	amd64-freebsd-gcc.rul

	amd64-openbsd-cc.rul
	amd64-openbsd-gcc.rul

	x86_64-darwin-cc.rul
	x86_64-darwin-gcc.rul
	x86_64-darwin-cc64.rul
	x86_64-darwin-gcc64.rul
	x86_64-darwin-cc32.rul
	x86_64-darwin-gcc32.rul

-	RULES/rules.loc now makes $(PTARGET) to depend on $(ARCHDIR) to
	support make -j 2

-	New include files include/schily/inttypes.h and include/schily/stdint.h

-	The script conf/makeinc is no longer confused by OpenBSD
	that has man.7 and mandoc.7 and both match on man*


Libschily:

-	New functions strstr() and wcsstr()

-	New libschily::fgetaline() and libschily::getaline() implement the
	functionality of the POSIX violating "getline()" from POSIX.1-2008.

-	New file libschily/abspath.c

-	New file libschily/resolvepath.c

-	New file libschily/mkdirs.c

-	An openat() emulation was added to libschily for platforms that
	miss openat().

-	An fchdir() emulation was added to libschily for platforms that
	miss fchdir()

-	libschily/at-defs.h new support file for internals from the *at()
	emulation

-	libschily/lxchdir.c new file to support chdir() to long
	path names

-	libschily/procnameat.c new file to support *at() functions in case
	that a newer /proc file system implementation is available

-	libschily/savewd.c new file to support to save the current working
	directory regardless of whether fchdir() is present or not.

-	libschily/wdabort.c new file with abort functions that are needed
	in libschily for the case that no system fchdir is available and
	an attempt to emulate *at() functions fails

-	New functions strcasecmp() and strncasecmp() for libschily.

-	New functions diropen() dirrdopen() dirclose() for libschily.
	These functions are needed in order to emulate fchdir() on platforms
	that do not support fchdir().

-	file_raise(NULL, FALSE) now also affects files that have been
	opened before the file_raise() call.


Libdeflt:

-	The function defltcntl() in libdeflt is now working and allows to
	select a case insensitive mode.

-	New function defltsect() in libdeflt allows to create sub-sections
	in configuration files. These subsections need to be named:
	"[section-name]" and the '[' must be at the beginning of a line.

Libfind:

-	libfind/walk.c now uses O_SEARCH to open directories

Cdrecord:

-	cdrecord man page corrected some small typos in the EXAMPLES section.

-	cdrecord has been converted to be able to run completely root-less
	and suid-root-less and with no script that calls pfexec(1). This
	works on OpenSolaris ONNV_140 or later because the functionality
	of pfexec(1) has been integrated into the kernel.

	To enable this feature. edit the file /etc/security/exec_attr and add:

	Basic Solaris User:solaris:cmd:::/usr/bin/cdrecord:privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr
	or
	Basic Solaris User:solaris:cmd:::/opt/schily/bin/cdrecord:privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr

	depending on where you install cdrecord.
	No special shell is needed anymore.


Cdda2wav (Maintained/enhanced by J

-	cdda2wav has been converted to be able to run completely root-less
	and suid-root-less and with no script that calls pfexec(1). This
	works on OpenSolaris ONNV_140 or later because the functionality
	of pfexec(1) has been integrated into the kernel.

	To enable this feature. edit the file /etc/security/exec_attr and add:

	Basic Solaris User:solaris:cmd:::/usr/bin/cdda2wav:privs=file_dac_read,sys_devices,proc_priocntl,net_privaddr
	or
	Basic Solaris User:solaris:cmd:::/opt/schily/bin/cdda2wav:privs=file_dac_read,sys_devices,proc_priocntl,net_privaddr

	depending on where you install cdda2wav.
	No special shell is needed anymore.


Readcd:

-	readcd has been converted to be able to run completely root-less
	and suid-root-less and with no script that calls pfexec(1). This
	works on OpenSolaris ONNV_140 or later because the functionality
	of pfexec(1) has been integrated into the kernel.

	To enable this feature. edit the file /etc/security/exec_attr and add:

	Basic Solaris User:solaris:cmd:::/usr/bin/readcd:privs=file_dac_read,sys_devices,net_privaddr
	or
	Basic Solaris User:solaris:cmd:::/opt/schily/bin/readcd:privs=file_dac_read,sys_devices,net_privaddr

	depending on where you install readcd.
	No special shell is needed anymore.
2012-03-07 14:54:44 +00:00

144 lines
4.8 KiB
Makefile

# $NetBSD: Makefile,v 1.86 2012/03/07 14:54:44 wiz Exp $
DISTNAME= cdrtools-3.01a07
PKGNAME= ${DISTNAME:S/a/alpha/:S/-pre/pre/}
CATEGORIES= sysutils
#MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/ \
# http://ftp.berlios.de/pub/cdrecord/
MASTER_SITES= ftp://ftp.berlios.de/pub/cdrecord/alpha/ \
http://ftp.berlios.de/pub/cdrecord/alpha/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= wiz@NetBSD.org
HOMEPAGE= http://cdrecord.berlios.de/old/private/cdrecord.html
COMMENT= Software for creating ISO9660 images and writing CD/DVD/Blu-ray
#LICENSE= CDDL.Schily.txt AND gnu-gpl-v2 AND gnu-lgpl-v2.1
CONFLICTS= mkisofs-[0-9]* cdrtools-ossdvd-[0-9]* cdrecord-[0-9]* cdrkit-[0-9]*
PKG_INSTALLATION_TYPES= overwrite pkgviews
PKG_DESTDIR_SUPPORT= user-destdir
WRKSRC= ${WRKDIR}/${DISTNAME:C/a[0-9]*//}
.include "../../mk/bsd.prefs.mk"
USE_TOOLS+= gm4 gmake tbl
CFLAGS.NetBSD+= -DUSE_GETRAWPARTITION
LDFLAGS.NetBSD+= -lutil
# avoid picking up a bad ${ARCH} during the build
MAKE_ENV+= ARCH=""
MAKE_ENV+= MAKEPROG="gmake"
MAKE_ENV+= COPTX=${CFLAGS:Q}
MAKE_ENV+= LDOPTX=${LDFLAGS:Q}
MAKE_ENV+= INS_BASE=${PREFIX:Q}
MAKE_FLAGS+= GMAKE_NOWARN=true
# do we want to compile shared libraries?
# needs changes in the install target and PLIST
#MAKE_ENV+= LINKMODE=dynamic
# Map PKGSRC_COMPILER to CCOM used by cdrtools build system.
ccmap.gcc= gcc
MAKE_FLAGS+= CCOM=${ccmap.${PKGSRC_COMPILER}:Ucc}
# allow us to override the default /etc/default/cdrecord by patching
# the documentation appropriately. Additionally, we also provide a
# MESSAGE stating the reasons we do this, as required by the license.
CDRECORD_CONF?= ${PKG_SYSCONFDIR}/cdrecord.conf
.if ${CDRECORD_CONF} != "/etc/default/cdrecord"
MESSAGE_SRC+= MESSAGE.cdrecord.conf
MESSAGE_SUBST+= PKGNAME_NOREV=${PKGNAME_NOREV:Q}
MESSAGE_SUBST+= CDRECORD_CONF=${CDRECORD_CONF:Q}
.endif
CONF_FILES+= share/examples/cdrtools/cdrecord ${CDRECORD_CONF}
INSTALLATION_DIRS= bin lib/siconv ${PKGMANDIR}/man1 ${PKGMANDIR}/man8 \
share/doc/cdrtools/cdda2wav \
share/doc/cdrtools/cdrecord \
share/doc/cdrtools/mkisofs \
share/examples/cdrtools
SUBST_CLASSES+= fix
SUBST_STAGE.fix= post-patch
SUBST_FILES.fix= btcflash/btcflash.1
SUBST_FILES.fix+= cdrecord/cdrecord.1
SUBST_FILES.fix+= libcdrdeflt/cdrdeflt.c
SUBST_FILES.fix+= mkisofs/diag/isoinfo.8
SUBST_FILES.fix+= readcd/readcd.1
SUBST_SED.fix= -e "s,/etc/default/cdrecord,${CDRECORD_CONF},g"
SUBST_MESSAGE.fix= Fixing paths.
SUBST_CLASSES+= oss
SUBST_STAGE.oss= post-patch
SUBST_FILES.oss= cdda2wav/local.cnf.in
SUBST_SED.oss= -e "s,/dev/dsp,${DEVOSSSOUND},g"
SUBST_MESSAGE.oss= Fixing OSS sound device path.
SUBST_CLASSES+= ins_base
SUBST_STAGE.ins_base= pre-configure
SUBST_FILES.ins_base= DEFAULTS/Defaults.*
SUBST_SED.ins_base= -e "/^INS_BASE=/d"
SUBST_MESSAGE.ins_base= Fixing INS_BASE.
do-configure:
cd ${WRKSRC}/RULES; \
for suffix in netbsd-cc.rul netbsd-gcc.rul; do \
if [ ! -f ${MACHINE}-$$suffix ]; then \
ln -sf i386-$$suffix ${MACHINE}-$$suffix; \
fi; \
done; \
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} config
post-build:
cd ${WRKSRC}; \
for manpage in cdda2wav/cdda2wav.1 mkisofs/mkisofs.8; do \
tbl $${manpage} > $${manpage}.tmp; \
mv -f $${manpage}.tmp $${manpage}; \
done
do-install:
for program in btcflash cdda2wav cdrecord mkisofs \
readcd scgcheck scgskeleton; do \
cd ${WRKSRC}/$${program}; \
${INSTALL_PROGRAM} OBJ/*/$${program} \
${DESTDIR}${PREFIX}/bin; \
done
for program in cdda2mp3 cdda2ogg; do \
${INSTALL_SCRIPT} ${WRKSRC}/cdda2wav/$${program} \
${DESTDIR}${PREFIX}/bin; \
${INSTALL_MAN} ${WRKSRC}/cdda2wav/$${program}.1 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1; \
done
for program in btcflash cdda2wav cdrecord \
readcd scgcheck; do \
${INSTALL_MAN} ${WRKSRC}/$${program}/$${program}.1 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1; \
done
for program in mkisofs; do \
${INSTALL_MAN} ${WRKSRC}/$${program}/$${program}.8 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man8; \
done
cd ${WRKSRC}/mkisofs/diag; \
for f in devdump isodebug isodump isoinfo isovfy; do \
${INSTALL_PROGRAM} OBJ/*/$$f ${DESTDIR}${PREFIX}/bin; \
${INSTALL_MAN} $$f.8 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/$$f.8; \
done
${INSTALL_DATA} ${WRKSRC}/libsiconv/tables/[cik]* \
${DESTDIR}${PREFIX}/lib/siconv
${RM} ${DESTDIR}${PREFIX}/lib/siconv/*mk
${INSTALL_DATA} ${WRKSRC}/cdda2wav/README* \
${DESTDIR}${PREFIX}/share/doc/cdrtools/cdda2wav
${INSTALL_DATA} ${WRKSRC}/cdrecord/README* \
${DESTDIR}${PREFIX}/share/doc/cdrtools/cdrecord
${INSTALL_DATA} ${WRKSRC}/mkisofs/README* \
${DESTDIR}${PREFIX}/share/doc/cdrtools/mkisofs
${INSTALL_DATA} ${WRKSRC}/cdrecord/cdrecord.dfl \
${DESTDIR}${PREFIX}/share/examples/cdrtools/cdrecord
.include "../../mk/oss.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"