summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/cdtool')
-rw-r--r--media-sound/cdtool/Manifest1
-rw-r--r--media-sound/cdtool/cdtool-2.1.8-r1.ebuild26
-rw-r--r--media-sound/cdtool/files/cdtool-2.1.8-glibc-2.10.patch111
-rw-r--r--media-sound/cdtool/metadata.xml5
4 files changed, 143 insertions, 0 deletions
diff --git a/media-sound/cdtool/Manifest b/media-sound/cdtool/Manifest
new file mode 100644
index 000000000000..99d47ed6ceb4
--- /dev/null
+++ b/media-sound/cdtool/Manifest
@@ -0,0 +1 @@
+DIST cdtool-2.1.8.tar.gz 116847 SHA256 73de81ea2de2eae64b888e1b2739ef643ccea13c79790569f8e6278369976a21 SHA512 9e4e65c753b0be024f0ceb04ec0fee52031992196e0e4a2b8dfef9dbc9feaa81462be61700c6d01f413941d66f7f3e374fb327e1bebcb79207c7b4c790cea006 WHIRLPOOL 038337d081acf3dfde53686d43d76dce10ed2a35449b724b70b90457eba82017caca4c38a455686c56eaf29d3fabca949e659df76242d323fc1ed3976b417f9a
diff --git a/media-sound/cdtool/cdtool-2.1.8-r1.ebuild b/media-sound/cdtool/cdtool-2.1.8-r1.ebuild
new file mode 100644
index 000000000000..7d3a2d6603e3
--- /dev/null
+++ b/media-sound/cdtool/cdtool-2.1.8-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+inherit eutils
+
+DESCRIPTION="collection of command-line utilities to control cdrom devices"
+HOMEPAGE="http://hinterhof.net/cdtool/"
+SRC_URI="http://hinterhof.net/cdtool/dist/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+IUSE=""
+
+RDEPEND="!media-sound/cdplay"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-glibc-2.10.patch
+ sed -i \
+ -e '/INSTALL/s:-o root::' \
+ -e '/LINKTARGET/s:/lib/:/$(notdir $(libdir))/:' \
+ -e '/^install-links:/s:$: install-files:' \
+ Makefile.in || die
+}
diff --git a/media-sound/cdtool/files/cdtool-2.1.8-glibc-2.10.patch b/media-sound/cdtool/files/cdtool-2.1.8-glibc-2.10.patch
new file mode 100644
index 000000000000..77f15a41ce68
--- /dev/null
+++ b/media-sound/cdtool/files/cdtool-2.1.8-glibc-2.10.patch
@@ -0,0 +1,111 @@
+Fix building with GLIBC 2.10+ as reported in http://bugs.gentoo.org/273764
+
+diff -ur cdtool-2.1.8.orig/cdown.c cdtool-2.1.8/cdown.c
+--- cdtool-2.1.8.orig/cdown.c 2005-10-17 22:11:59.000000000 +0300
++++ cdtool-2.1.8/cdown.c 2009-06-19 20:15:57.000000000 +0300
+@@ -325,7 +325,7 @@
+ }
+
+ /************************************************************************/
+-/* Procedure: getline
++/* Procedure: get_line
+ * Purpose: read a line of text from the CDDB server
+ *
+ * Inputs:
+@@ -333,14 +333,14 @@
+ * Returns: The line of text
+ * Notes:
+ * 1. The CDDB databases use \r\n to end lines. All lines returned
+- * by getline() have the \r and \n stripped.
++ * by get_line() have the \r and \n stripped.
+ * 2. Non-reentrant: the memory buffer returned previously is
+ * recycled
+ * 3. Do NOT modify the contents of the returned buffer past the
+ * NULL - data from the network is stored there
+ */
+ /************************************************************************/
+-char *getline(void) {
++char *get_line(void) {
+ static char *buffer = NULL;
+ static char *lastline = NULL;
+ static int buffered = 0;
+@@ -451,7 +451,7 @@
+ char *cdtitle;
+
+ netprintf(sock, "cddb read %s %s\n", categ, discid);
+- message = getline();
++ message = get_line();
+ switch (atoi(message)) {
+ case 401: fprintf(stderr, "error: entry not found\n"); return;
+ case 402: fprintf(stderr, "error: server error\n"); return;
+@@ -461,13 +461,13 @@
+ default: fprintf(stderr, "error: bad message: %s\n", message); return;
+ }
+ while (iRawMode) { /* infinite loop, or skip if !iRawMode */
+- message = getline();
++ message = get_line();
+ if (!strcmp (message, "."))
+ return;
+ printf ("%s\r\n", message);
+ }
+ do {
+- message = getline();
++ message = get_line();
+ firstword = strchr(message, '=');
+ if (firstword != NULL) {
+ *firstword = '\0';
+@@ -511,7 +511,7 @@
+ int input = 0;
+ int exact = 1;
+
+- message = getline();
++ message = get_line();
+ switch (atoi(message)) {
+ case 403: fprintf(stderr, "error: database entry is corrupt\n"); return;
+ case 409: fprintf(stderr, "error: no handshake\n"); return;
+@@ -523,7 +523,7 @@
+ if (!exact) {
+ fprintf(stderr, "CD has no exact match\n 0: None\n");
+ do {
+- message = getline();
++ message = get_line();
+ if (strcmp(message, ".") != 0) {
+ matches = realloc(matches, sizeof(char*) * (++count));
+ fprintf(stderr, " %d: ", count); printcd(message);
+@@ -628,15 +628,15 @@
+ void parsesites(void) {
+ char *buffer;
+
+- buffer = getline();
++ buffer = get_line();
+ switch (atoi(buffer)) {
+ case 210: break; /* OK */
+ case 401: fprintf(stderr, "error: no site list available\n"); return;
+ }
+- buffer = getline();
++ buffer = get_line();
+ do {
+ printf("%s\n", buffer);
+- } while (strcmp(buffer = getline(), ".") != 0);
++ } while (strcmp(buffer = get_line(), ".") != 0);
+ }
+
+ /************************************************************************/
+@@ -755,7 +755,7 @@
+ exit(3);
+ }
+
+- bleh = getline();
++ bleh = get_line();
+ if (!signon(bleh)) {
+ errormsg("%s: signon error on host %s", progname, pszHost);
+ close(sock);
+@@ -773,7 +773,7 @@
+ getuname(), gethname(), progname, VERSIONSTRING);
+
+ /* get welcome message */
+- bleh = getline();
++ bleh = get_line();
+ if (!welcome(bleh)) {
+ errormsg("%s: bad welcome message [%s]", progname, bleh);
+ close(sock);
diff --git a/media-sound/cdtool/metadata.xml b/media-sound/cdtool/metadata.xml
new file mode 100644
index 000000000000..ae573a60407f
--- /dev/null
+++ b/media-sound/cdtool/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+</pkgmetadata>