public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/hardened-dev:uclibc commit in: app-cdr/cdrtools/files/, app-cdr/cdrtools/
@ 2013-10-02 19:02 Anthony G. Basile
  0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2013-10-02 19:02 UTC (permalink / raw
  To: gentoo-commits

commit:     47f24d452aeedd33500516cc43c0206fb5de1790
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  2 19:03:31 2013 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Oct  2 19:03:31 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=47f24d45

app-cdr/cdrtools-3.01_alpha17: fix bug #486782

---
 app-cdr/cdrtools/cdrtools-3.01_alpha17-r99.ebuild  | 159 +++++++++++++++++++++
 .../files/cdrtools-3.01-rename-clone.patch         |  69 +++++++++
 app-cdr/cdrtools/metadata.xml                      |  10 ++
 3 files changed, 238 insertions(+)

diff --git a/app-cdr/cdrtools/cdrtools-3.01_alpha17-r99.ebuild b/app-cdr/cdrtools/cdrtools-3.01_alpha17-r99.ebuild
new file mode 100644
index 0000000..d6d1176
--- /dev/null
+++ b/app-cdr/cdrtools/cdrtools-3.01_alpha17-r99.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/cdrtools-3.01_alpha17.ebuild,v 1.2 2013/09/28 19:50:34 ago Exp $
+
+EAPI=5
+
+inherit fcaps multilib eutils toolchain-funcs flag-o-matic
+
+MY_P="${P/_alpha/a}"
+
+DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord"
+HOMEPAGE="http://cdrecord.berlios.de/private/cdrecord.html"
+SRC_URI="ftp://ftp.berlios.de/pub/cdrecord/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha/')/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1 CDDL-Schily"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="acl nls unicode"
+
+RDEPEND="acl? ( virtual/acl )
+	nls? ( virtual/libintl )
+	!app-cdr/cdrkit"
+DEPEND="${RDEPEND}
+	nls? ( >=sys-devel/gettext-0.18.1.1 )"
+
+S=${WORKDIR}/${P/_alpha[0-9][0-9]}
+
+FILECAPS=(
+	cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord --
+	cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav --
+	cap_dac_override,cap_sys_admin,cap_net_bind_service,cap_sys_rawio+ep usr/bin/readcd
+)
+
+src_prepare() {
+	# Avoid collision with clone() system call, bug #486782
+	epatch "${FILESDIR}"/${PN}-3.01-rename-clone.patch
+
+	# Remove profiled make files.
+	rm -f $(find . -name '*_p.mk') || die "rm profiled"
+
+	# Adjusting hardcoded paths.
+	sed -i -e 's:opt/schily:usr:' \
+		$(find ./ -type f -name \*.[0-9ch] -exec grep -l 'opt/schily' '{}' '+') \
+		|| die "sed opt/schily"
+
+	sed -i -e "s:\(^INSDIR=\t\tshare/doc/\):\1${PF}/:" \
+		$(find ./ -type f -exec grep -l 'INSDIR.\+doc' '{}' '+') \
+		|| die "sed doc"
+
+	# Respect libdir.
+	sed -i -e "s:\(^INSDIR=\t\t\)lib:\1$(get_libdir):" \
+		$(find ./ -type f -exec grep -l '^INSDIR.\+lib\(/siconv\)\?$' '{}' '+') \
+		|| die "sed multilib"
+
+	# Do not install static libraries.
+	sed -i -e 's:include\t\t.*rules.lib::' \
+		$(find ./ -type f -exec grep -l '^include.\+rules\.lib' '{}' '+') \
+		|| die "sed rules"
+
+	# Respect CC/CXX variables.
+	cd "${S}"/RULES
+	local tcCC=$(tc-getCC)
+	local tcCXX=$(tc-getCXX)
+	sed -i -e "/cc-config.sh/s|\$(C_ARCH:%64=%) \$(CCOM_DEF)|${tcCC} ${tcCC}|" \
+		rules1.top || die "sed rules1.top"
+	sed -i -e "/^\(CC\|DYNLD\|LDCC\|MKDEP\)/s|gcc|${tcCC}|" \
+		-e "/^\(CC++\|DYNLDC++\|LDCC++\|MKC++DEP\)/s|g++|${tcCXX}|" \
+		-e "/COPTOPT=/s/-O//" \
+		-e 's/$(GCCOPTOPT)//' \
+		cc-gcc.rul || die "sed cc-gcc.rul"
+	sed -i -e "s|^#CONFFLAGS +=\t-cc=\$(XCC_COM)$|CONFFLAGS +=\t-cc=${tcCC}|g" \
+		rules.cnf || die "sed rules.cnf"
+
+	# Create additional symlinks needed for some archs (armv4l already created)
+	local t
+	for t in armv4tl armv5tel armv7l ppc64 s390x; do
+		ln -s i586-linux-cc.rul ${t}-linux-cc.rul || die
+		ln -s i586-linux-gcc.rul ${t}-linux-gcc.rul || die
+	done
+
+	# Schily make setup.
+	cd "${S}"/DEFAULTS
+	local os="linux"
+	[[ ${CHOST} == *-darwin* ]] && os="mac-os10"
+
+	sed -i \
+		-e "s:/opt/schily:/usr:g" \
+		-e "s:/usr/src/linux/include::g" \
+		-e "s:bin:root:g" \
+		Defaults.${os} || die "sed Schily make setup"
+}
+
+# skip obsolete configure script
+src_configure() { : ; }
+
+src_compile() {
+	if use unicode; then
+		local flags="$(test-flags -finput-charset=ISO-8859-1 -fexec-charset=UTF-8)"
+		if [[ -n ${flags} ]]; then
+			append-flags ${flags}
+		else
+			ewarn "Your compiler does not support the options required to build"
+			ewarn "cdrtools with unicode in USE. unicode flag will be ignored."
+		fi
+	fi
+
+	if ! use filecaps; then
+		CFLAGS="${CFLAGS} -DNO_LINUX_CAPS"
+	fi
+
+	if ! use acl; then
+		CFLAGS="${CFLAGS} -DNO_ACL"
+	fi
+
+	# If not built with -j1, "sometimes" cdda2wav will not be built.
+	emake -j1 CC="$(tc-getCC)" CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" \
+		LDOPTX="${LDFLAGS}" \
+		INS_BASE="${ED}/usr" INS_RBASE="${ED}" LINKMODE="dynamic" \
+		RUNPATH="" GMAKE_NOWARN="true"
+}
+
+src_install() {
+	# If not built with -j1, "sometimes" manpages are not installed.
+	emake -j1 CC="$(tc-getCC)" CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" \
+		LDOPTX="${LDFLAGS}" \
+		INS_BASE="${ED}/usr" INS_RBASE="${ED}" LINKMODE="dynamic" \
+		RUNPATH="" GMAKE_NOWARN="true" install
+
+	# These symlinks are for compat with cdrkit.
+	dosym schily /usr/include/scsilib
+	dosym ../scg /usr/include/schily/scg
+
+	dodoc ABOUT Changelog* CONTRIBUTING PORTING README.linux-shm READMEs/README.linux
+
+	cd "${S}"/cdda2wav
+	docinto cdda2wav
+	dodoc Changelog FAQ Frontends HOWTOUSE NEEDED README THANKS TODO
+
+	cd "${S}"/mkisofs
+	docinto mkisofs
+	dodoc ChangeLog* TODO
+
+	# Remove man pages related to the build system
+	rm -rvf "${ED}"/usr/share/man/man5
+}
+
+pkg_postinst() {
+	fcaps_pkg_postinst
+
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		einfo
+		einfo "Darwin/OS X use the following device names:"
+		einfo
+		einfo "CD burners: (probably) ./cdrecord dev=IOCompactDiscServices"
+		einfo
+		einfo "DVD burners: (probably) ./cdrecord dev=IODVDServices"
+		einfo
+	fi
+}

diff --git a/app-cdr/cdrtools/files/cdrtools-3.01-rename-clone.patch b/app-cdr/cdrtools/files/cdrtools-3.01-rename-clone.patch
new file mode 100644
index 0000000..483841b
--- /dev/null
+++ b/app-cdr/cdrtools/files/cdrtools-3.01-rename-clone.patch
@@ -0,0 +1,69 @@
+diff -Naur cdrtools-3.01.orig/readcd/readcd.c cdrtools-3.01/readcd/readcd.c
+--- cdrtools-3.01.orig/readcd/readcd.c	2013-05-30 16:56:24.000000000 -0400
++++ cdrtools-3.01/readcd/readcd.c	2013-10-02 14:54:49.697222392 -0400
+@@ -255,7 +255,7 @@
+ BOOL	pifscan;
+ BOOL	plot;
+ BOOL	fulltoc;
+-BOOL	clone;
++BOOL	clonetoc;
+ BOOL	edc_corr;
+ BOOL	noerror;
+ BOOL	nocorr;
+@@ -291,7 +291,7 @@
+ 	error(_("\t-plot		Print data suitable for gnuplot\n"));
+ #ifdef	CLONE_WRITE
+ 	error(_("\t-fulltoc	Retrieve the full TOC\n"));
+-	error(_("\t-clone		Retrieve the full TOC and all data\n"));
++	error(_("\t-clonetoc		Retrieve the full TOC and all data\n"));
+ 	error(_("\t-edc-corr	Try to do user level Reed Solomon repair (experimental)\n"));
+ #endif
+ 	error(_("\ttimeout=#	set the default SCSI command timeout to #.\n"));
+@@ -317,7 +317,7 @@
+ }
+ 
+ /* CSTYLED */
+-char	opts[]   = "debug#,d+,kdebug#,kd#,timeout#,quiet,q,verbose+,v+,Verbose+,V+,x+,xd#,silent,s,help,h,version,scanbus,dev*,sectors*,w,c2scan,cxscan,pi8scan,pifscan,plot,fulltoc,clone,edc-corr,noerror,nocorr,notrunc,retries#,factor,f*,speed#,ts&,overhead,meshpoints#";
++char	opts[]   = "debug#,d+,kdebug#,kd#,timeout#,quiet,q,verbose+,v+,Verbose+,V+,x+,xd#,silent,s,help,h,version,scanbus,dev*,sectors*,w,c2scan,cxscan,pi8scan,pifscan,plot,fulltoc,clonetoc,edc-corr,noerror,nocorr,notrunc,retries#,factor,f*,speed#,ts&,overhead,meshpoints#";
+ 
+ EXPORT int
+ main(ac, av)
+@@ -393,7 +393,7 @@
+ 			&scanbus, &dev, &sectors, &do_write,
+ 			&c2scan, &cxscan, &pi8scan, &pifscan,
+ 			&plot,
+-			&fulltoc, &clone,
++			&fulltoc, &clonetoc,
+ 			&edc_corr,
+ 			&noerror, &nocorr,
+ 			&notrunc, &retries, &do_factor, &filename,
+@@ -664,7 +664,7 @@
+ 
+ 	if (filename || sectors || c2scan || cxscan || pi8scan || pifscan ||
+ 	    meshpoints || fulltoc ||
+-	    clone || edc_corr) {
++	    clonetoc || edc_corr) {
+ 		dorw(scgp, filename, sectors);
+ 	} else {
+ 		doit(scgp);
+@@ -879,9 +879,9 @@
+ 		if (params.name == NULL)
+ 			params.name = "/dev/null";
+ 		read_ftoc(scgp, &params, FALSE);
+-	} else if (clone || edc_corr) {
++	} else if (clonetoc || edc_corr) {
+ 		if (!is_mmc(scgp, NULL, NULL))
+-			comerrno(EX_BAD, _("Unsupported device for clone mode.\n"));
++			comerrno(EX_BAD, _("Unsupported device for clonetoc mode.\n"));
+ 		if (!edc_corr)
+ 			noerror = TRUE;
+ 		if (retries == MAX_RETRY)
+@@ -889,7 +889,7 @@
+ 		if (params.name == NULL)
+ 			params.name = "/dev/null";
+ 
+-		if (clone)
++		if (clonetoc)
+ 		if (read_ftoc(scgp, &params, TRUE) < 0)
+ 			comerrno(EX_BAD, _("Read fulltoc problems.\n"));
+ 		readcd_disk(scgp, &params);

diff --git a/app-cdr/cdrtools/metadata.xml b/app-cdr/cdrtools/metadata.xml
new file mode 100644
index 0000000..31e9f7e
--- /dev/null
+++ b/app-cdr/cdrtools/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>media-optical</herd>
+<maintainer>
+<email>billie@gentoo.org</email>
+<name>Daniel Pielmeier</name>
+</maintainer>
+<longdescription>CD and DVD command line recording and ripping tools.</longdescription>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-10-02 19:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-02 19:02 [gentoo-commits] proj/hardened-dev:uclibc commit in: app-cdr/cdrtools/files/, app-cdr/cdrtools/ Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox