1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-05 06:27:37 +00:00

sysutils/cdrdao: Update to 1.2.5

Convert to options helpers and clean up.
Take maintainership.

https://github.com/cdrdao/cdrdao/releases/tag/rel_1_2_5
This commit is contained in:
Jason E. Hale 2023-06-25 16:02:32 -04:00
parent 8b109070f7
commit 9942fda7e4
12 changed files with 79 additions and 278 deletions

View File

@ -1,103 +1,54 @@
PORTNAME= cdrdao
PORTVERSION= 1.2.4
PORTREVISION= 5
DISTVERSION= 1_2_5
CATEGORIES= sysutils audio
MASTER_SITES= SF/cdrdao
DISTNAME= cdrdao-${PORTVERSION}
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/rel_${DISTVERSION}/ \
SF/${PORTNAME}/rel_${DISTVERSION}
DISTNAME= ${PORTNAME}-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT?= Record CD-R[W]s in disk-at-once mode
MAINTAINER= jhale@FreeBSD.org
COMMENT= Record CD-R[W]s in disk-at-once mode
WWW= http://cdrdao.sourceforge.net/
LICENSE= GPLv2
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
USES= alias compiler:c++11-lang gmake tar:bzip2
GNU_CONFIGURE= yes
USES= alias autoreconf compiler:c++11-lang gmake iconv localbase tar:bzip2
USE_CXXSTD= c++11
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-gcdmaster=no \
--without-pcctsbin \
--without-pcctsinc \
--with-posix-threads=no \
--with-scglib
OPTIONS_DEFINE= DOCS TOC2MP3 MP3OGG
OPTIONS_DEFAULT= MP3OGG
OPTIONS_SUB= yes
MP3OGG_DESC= Build with MP3/Ogg support (for sysutils/gcdmaster)
TOC2MP3_DESC= Build with toc2mp3 (requires audio/lame)
.include <bsd.port.options.mk>
CONFIGURE_ARGS+= --with-gcdmaster=no
.if ${PORT_OPTIONS:MTOC2MP3}
LIB_DEPENDS+= libmp3lame.so:audio/lame
CONFIGURE_ARGS+= --disable-lame-test \
--with-lame-include=${LOCALBASE}/include \
--with-lame-lib=${LOCALBASE}/lib
PLIST_SUB+= TOC2MP3=""
.else
CONFIGURE_ARGS+= --with-lame=no
PLIST_SUB+= TOC2MP3="@comment "
.endif
.if ${PORT_OPTIONS:MMP3OGG}
USES+= pkgconfig
LIB_DEPENDS+= libao.so:audio/libao \
MP3OGG_LIB_DEPENDS= libao.so:audio/libao \
libmad.so:audio/libmad \
libvorbis.so:audio/libvorbis
CONFIGURE_ENV+= AO_CFLAGS=-I${LOCALBASE}/include \
AO_LIBS="-L${LOCALBASE}/lib -lao" \
MAD_CFLAGS=-I${LOCALBASE}/include \
MAD_LIBS="-L${LOCALBASE}/lib -lmad" \
VORBISFILE_CFLAGS=-I${LOCALBASE}/include \
VORBISFILE_LIBS="-L${LOCALBASE}/lib -lvorbisfile"
.else
CONFIGURE_ARGS+= --with-mp3-support=no --with-ogg-support=no
.endif
MP3OGG_USES= pkgconfig
MP3OGG_CONFIGURE_OFF= --with-mp3-support=no --with-ogg-support=no
.include <bsd.port.pre.mk>
CONFIGURE_ARGS+= --without-pcctsbin --without-pcctsinc \
--with-posix-threads=no --with-scglib
MAKE_ENV+= CCOM=cc
SCSILIBXARCH!= ${UNAME} -m
post-extract:
@(cd ${WRKSRC}/scsilib/RULES && ${CP} -p os-freebsd.id os-dragonfly.id)
.if ${SCSILIBXARCH} != "i386"
@${LN} -sf ${WRKSRC}/scsilib/RULES/i386-freebsd-cc.rul \
${WRKSRC}/scsilib/RULES/${SCSILIBXARCH}-${OPSYS:tl}-cc.rul
.endif
TOC2MP3_DESC= Build with toc2mp3 (requires audio/lame)
TOC2MP3_LIB_DEPENDS= libmp3lame.so:audio/lame
TOC2MP3_CONFIGURE_OFF= --with-lame=no
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
.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
.for i in toc2cddb.1 toc2cue.1
@${REINPLACE_CMD} -e 's|1\.2\.2|${PORTVERSION}|g' ${WRKSRC}/utils/${i}
.endfor
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/dao/cdrdao ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/dao/cdrdao.man \
${STAGEDIR}${PREFIX}/man/man1/cdrdao.1
${INSTALL_PROGRAM} ${WRKSRC}/utils/cue2toc ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/utils/cue2toc.1 ${STAGEDIR}${PREFIX}/man/man1
${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2cddb ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/utils/toc2cddb.1 ${STAGEDIR}${PREFIX}/man/man1
${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2cue ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/utils/toc2cue.1 ${STAGEDIR}${PREFIX}/man/man1
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKSRC}/dao/cdrdao.drivers \
${STAGEDIR}${DATADIR}/drivers
do-install-TOC2MP3-on:
${INSTALL_PROGRAM} ${WRKSRC}/utils/toc2mp3 ${STAGEDIR}${PREFIX}/bin
do-install-DOCS-on:
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for i in CREDITS ChangeLog README README.PlexDAE
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
.endfor
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1528148639
SHA256 (cdrdao-1.2.4.tar.bz2) = 358d9cb83370ceaecdc60564cbf14c2ea2636eac60a966e2461c011ba09853b4
SIZE (cdrdao-1.2.4.tar.bz2) = 1442181
TIMESTAMP = 1687630406
SHA256 (cdrdao-1.2.5.tar.bz2) = d19b67c853c5dba2406afaab6cd788e77f35eebe634cac4679528477c7be01b6
SIZE (cdrdao-1.2.5.tar.bz2) = 870084

View File

@ -1,46 +0,0 @@
--- configure.orig 2022-05-08 06:17:09 UTC
+++ configure
@@ -7601,12 +7601,12 @@ if test -n "$MAD_CFLAGS"; then
pkg_cv_MAD_CFLAGS="$MAD_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mad >= 0.10\""; } >&5
- ($PKG_CONFIG --exists --print-errors "mad >= 0.10") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libmad >= 0.10\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libmad >= 0.10") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_MAD_CFLAGS=`$PKG_CONFIG --cflags "mad >= 0.10" 2>/dev/null`
+ pkg_cv_MAD_CFLAGS=`$PKG_CONFIG --cflags "libmad >= 0.10" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -7618,12 +7618,12 @@ if test -n "$MAD_LIBS"; then
pkg_cv_MAD_LIBS="$MAD_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mad >= 0.10\""; } >&5
- ($PKG_CONFIG --exists --print-errors "mad >= 0.10") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libmad >= 0.10\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libmad >= 0.10") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_MAD_LIBS=`$PKG_CONFIG --libs "mad >= 0.10" 2>/dev/null`
+ pkg_cv_MAD_LIBS=`$PKG_CONFIG --libs "libmad >= 0.10" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -7644,9 +7644,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- MAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mad >= 0.10" 2>&1`
+ MAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libmad >= 0.10" 2>&1`
else
- MAD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mad >= 0.10" 2>&1`
+ MAD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libmad >= 0.10" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$MAD_PKG_ERRORS" >&5

View File

@ -0,0 +1,48 @@
Remove redundant check for libao which causes it to always be required even if
mp3 and ogg support are disabled.
Temporarily support either mad.pc or libmad.pc to prevent breakage with future
versions of libmad. After libmad 0.16.3, new upstream renamed the pkgconfig
file to mad.pc [1], assumingly to conform to what we and most of the Linux
packagers decided upon almost 9 years ago [2], as the original libmad never
had a pkgconfig file.
[1] https://codeberg.org/tenacityteam/libmad/commit/486e615d4d8aab5b426d8b82b7dfa9867f0b2146
[2] https://cgit.freebsd.org/ports/commit/audio/libmad?id=d52971d56c7520e7b8af206bc70e05cceed295a5
--- configure.ac.orig 2023-02-03 14:46:06 UTC
+++ configure.ac
@@ -314,8 +314,10 @@ dnl Check for libao
esac
dnl Check for libao
+if test "$with_mp3_support" = yes || test "$with_ogg_support" = yes || test "$en_gcdmaster" = yes; then
PKG_CHECK_MODULES(AO, ao >= 0.8, [AC_DEFINE(HAVE_AO,1,"")],
[echo "gcdmaster, MP3 and Ogg support disabled"; en_gcdmaster=no; with_ogg_support=no; with_mp3_support=no])
+fi
dnl Check for OGG support
if test "$with_ogg_support" = yes; then
@@ -326,7 +328,8 @@ if test "$with_mp3_support" = yes; then
dnl Check for MP3 support
if test "$with_mp3_support" = yes; then
PKG_CHECK_MODULES(MAD, mad >= 0.10, [],
- [echo "libMAD detection via pkg-config failed"; with_mp3_support=no])
+ [PKG_CHECK_MODULES(MAD, libmad >= 0.10, [],
+ [echo "libMAD detection via pkg-config failed"; with_mp3_support=no])])
if test "$with_mp3_support" = no; then
AC_CHECK_LIB(mad, mad_stream_init, [AC_CHECK_HEADER([mad.h])])
if test "$ac_cv_lib_mad_mad_stream_init" = yes; then
@@ -339,12 +342,6 @@ if test "$with_mp3_support" = yes; then
echo "MP3 support disabled"; with_mp3_support=no
fi
fi
-fi
-
-dnl Check for libao support
-if test "$with_mp3_support" = yes || test "$with_ogg_support" = yes || test "$en_gcdmaster" = yes; then
-PKG_CHECK_MODULES(AO, ao >= 0.8, [AC_DEFINE(HAVE_AO,1,"")],
- [echo "Building of gcdmaster disabled"; en_gcdmaster=no])
fi
if test "$with_ogg_support" = yes; then

View File

@ -1,6 +1,6 @@
--- dao/main.cc.orig 2018-05-16 10:46:39 UTC
--- dao/main.cc.orig 2023-02-03 14:46:06 UTC
+++ dao/main.cc
@@ -2330,15 +2330,7 @@ int main(int argc, char **argv)
@@ -2450,11 +2450,7 @@ int main(int argc, char **argv)
Settings* settings = new Settings;
@ -9,10 +9,6 @@
- log_message(3, "Read settings from \"%s\".", settingsPath);
-
- settingsPath = "/etc/defaults/cdrdao";
- if (settings->read(settingsPath) == 0)
- log_message(3, "Read settings from \"%s\".", settingsPath);
-
- settingsPath = "/etc/default/cdrdao";
+ settingsPath = "%%PREFIX%%/etc/cdrdao.conf";
if (settings->read(settingsPath) == 0)
log_message(3, "Read settings from \"%s\".", settingsPath);

View File

@ -1,34 +0,0 @@
--- scsilib/RULES/i386-freebsd-cc.rul.orig 2002-10-15 20:43:39 UTC
+++ scsilib/RULES/i386-freebsd-cc.rul
@@ -24,7 +24,8 @@ include $(SRCROOT)/$(RULESDIR)/rules.prg
###########################################################################
CPPFLAGS= $(CPPOPTS) $(CPPOPTX)
-CFLAGS= $(COPTS) $(CWARNOPTS) $(COPTOPT) $(GCCOPTOPT) $(COPTX)
+XCFLAGS:= $(CFLAGS)
+CFLAGS= $(COPTS) $(CWARNOPTS) $(XCFLAGS) $(GCCOPTOPT) $(COPTX)
CPPOPTS= -I. -I$(ARCHDIR) -I$(OINCSDIR) $(INCDIRS:%=-I%) $(OSDEFS)
COPTS=
@@ -57,14 +58,14 @@ LNDYNLIB= @$(SYMLINK) $(TARGET) $(PTARGET_BASE).so
FLOAT_OPTIONS=
-CC= @echo " ==> COMPILING \"$@\""; gcc
-LDCC= @echo " ==> LINKING \"$@\""; gcc
-DYNLD= @echo " ==> LINKING dynamic library \"$@\""; gcc
-RANLIB= @echo " ==> RANDOMIZING ARCHIVE \"$@\""; ranlib
+CCCOM= $(CC)
+LDCC= $(CCCOM)
+DYNLD= $(CCCOM)
+RANLIB= ranlib
ARFLAGS= cr
-LORDER= lorder
-TSORT= tsort
+LORDER= echo
+TSORT= cat
RMDEP= :
-MKDEP= @echo " ==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); gcc -M
+MKDEP= $(CCCOM) -M
MKDEP_OUT=

View File

@ -1,11 +0,0 @@
--- scsilib/inc/avoffset.c.orig 2018-05-16 10:46:58 UTC
+++ scsilib/inc/avoffset.c
@@ -61,7 +61,7 @@ main(ac, av)
{
int stdir;
#ifdef HAVE_SCANSTACK
- register struct frame *fp;
+ volatile struct frame *fp;
register int i = 0;
register int o = 0;

View File

@ -1,20 +0,0 @@
--- scsilib/inc/getfp.c.orig 2003-07-12 23:10:47 UTC
+++ scsilib/inc/getfp.c
@@ -56,7 +56,7 @@
EXPORT void **___fpoff __PR((char *cp));
-EXPORT void **
+EXPORT __noinline void **
getfp()
{
long **dummy[1];
@@ -73,7 +73,7 @@ getfp()
* We need this function to fool GCCs check for returning addresses
* from outside the functions local address space.
*/
-EXPORT void **
+EXPORT __noinline void **
___fpoff(cp)
char *cp;
{

View File

@ -1,17 +0,0 @@
--- scsilib/include/mconfig.h.orig 2018-05-16 10:46:58 UTC
+++ scsilib/include/mconfig.h
@@ -72,12 +72,12 @@ extern "C" {
* Types/Keywords
*/
-#if defined(__x86_64__) || defined(__ia64__) || defined(__powerpc64__) || defined(__s390x__) || defined(__sparc64__)
+#if defined(__aarch64__) || defined(__ia64__) || defined(__mips_n64) || defined(__powerpc64__) || (defined(__riscv) && (__riscv_xlen == 64)) || defined(__s390x__) || defined(__sparc64__) || defined(__x86_64__)
#define SIZEOF_LONG_INT 8
#define SIZEOF_CHAR_P 8
#define SIZEOF_UNSIGNED_LONG_INT 8
#define SIZEOF_UNSIGNED_CHAR_P 8
-#elif defined(__i386__) || defined(__powerpc__) || defined(__s390__) || defined(__sparc__)
+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) || defined(__powerpc__) || (defined(__riscv) && (__riscv_xlen == 32)) || defined(__s390__) || defined(__sparc__)
#define SIZEOF_LONG_INT 4
#define SIZEOF_CHAR_P 4
#define SIZEOF_UNSIGNED_LONG_INT 4

View File

@ -1,28 +0,0 @@
--- scsilib/libschily/format.c.orig 2003-10-18 13:26:50 UTC
+++ scsilib/libschily/format.c
@@ -166,6 +166,7 @@ format(fun, farg, fmt, args)
Ulong res;
char *rfmt;
f_args fa;
+ va_list vl;
fa.outf = fun;
fa.farg = farg;
@@ -432,6 +433,7 @@ format(fun, farg, fmt, args)
case 'r': /* recursive printf */
case 'R': /* recursive printf */
rfmt = va_arg(args, char *);
+ va_copy(vl, args);
/*
* I don't know any portable way to get an arbitrary
* C object from a var arg list so I use a
@@ -446,7 +448,8 @@ format(fun, farg, fmt, args)
* It would be nice to have something like
* __va_arg_list() in stdarg.h
*/
- count += format(fun, farg, rfmt, __va_arg_list(args));
+ count += format(fun, farg, rfmt, vl);
+ va_end(vl);
continue;
case 'n':

View File

@ -1,28 +0,0 @@
--- scsilib/libschily/getfp.c.orig 2003-07-12 23:10:47 UTC
+++ scsilib/libschily/getfp.c
@@ -23,6 +23,7 @@
#include <mconfig.h>
#include <standard.h>
#include <schily.h>
+#include <sys/cdefs.h>
#ifndef IS_AVOFFSET
/*
@@ -56,7 +57,7 @@
EXPORT void **___fpoff __PR((char *cp));
-EXPORT void **
+EXPORT __noinline void **
getfp()
{
long **dummy[1];
@@ -73,7 +74,7 @@ getfp()
* We need this function to fool GCCs check for returning addresses
* from outside the functions local address space.
*/
-EXPORT void **
+EXPORT __noinline void **
___fpoff(cp)
char *cp;
{

View File

@ -1,10 +0,0 @@
--- trackdb/FormatMp3.cc.orig 2018-05-15 13:30:52 UTC
+++ trackdb/FormatMp3.cc
@@ -111,6 +111,7 @@ FormatSupport::Status FormatMp3::madInit
// Initialize libao for WAV output;
ao_sample_format out_format;
+ memset(&out_format, 0, sizeof(out_format));
out_format.bits = 16;
out_format.rate = 44100;
out_format.channels = 2;