media-sound/whipper: New package
authorQuentin Retornaz <gentoo@retornaz.com>
Fri, 10 Aug 2018 11:38:33 +0000 (13:38 +0200)
committerMichał Górny <mgorny@gentoo.org>
Thu, 23 Aug 2018 08:06:23 +0000 (10:06 +0200)
Closes: https://github.com/gentoo/gentoo/pull/9525

media-sound/whipper/Manifest [new file with mode: 0644]
media-sound/whipper/files/whipper-0.7.0-cdparanoia-name-fix.patch [new file with mode: 0644]
media-sound/whipper/files/whipper-0.7.0-src-Makefile-respect-CFLAGS.patch [new file with mode: 0644]
media-sound/whipper/metadata.xml [new file with mode: 0644]
media-sound/whipper/whipper-0.7.0.ebuild [new file with mode: 0644]

diff --git a/media-sound/whipper/Manifest b/media-sound/whipper/Manifest
new file mode 100644 (file)
index 0000000..f17bc7e
--- /dev/null
@@ -0,0 +1 @@
+DIST whipper-0.7.0.tar.gz 160649 BLAKE2B 8e14b6dda00b3c8be7ba0fabb25d1cbca536edc785373986f857bafbc2e54d358f18b27140ffda74384c4e815e68ee466c8fc5e4e5d17aa80c8237fda389ba2b SHA512 b4bf4ca64521d8600288addecec6cbd8e43d1ff9a6b9a60872eff1bd5a2b6966af036d6467ba09273ac78aa01d8cac3be29a0e2c4e6600829b9988a74ef8cd88
diff --git a/media-sound/whipper/files/whipper-0.7.0-cdparanoia-name-fix.patch b/media-sound/whipper/files/whipper-0.7.0-cdparanoia-name-fix.patch
new file mode 100644 (file)
index 0000000..fdd7b9e
--- /dev/null
@@ -0,0 +1,51 @@
+diff -ur a/whipper/program/cdparanoia.py b/whipper/program/cdparanoia.py
+--- a/whipper/program/cdparanoia.py    2018-04-09 10:05:00.000000000 +0200
++++ b/whipper/program/cdparanoia.py    2018-08-03 11:59:22.582106444 +0200
+@@ -280,10 +280,10 @@
+         bufsize = 1024
+         if self._overread:
+-            argv = ["cd-paranoia", "--stderr-progress",
++            argv = ["libcdio-paranoia", "--stderr-progress",
+                     "--sample-offset=%d" % self._offset, "--force-overread", ]
+         else:
+-            argv = ["cd-paranoia", "--stderr-progress",
++            argv = ["libcdio-paranoia", "--stderr-progress",
+                     "--sample-offset=%d" % self._offset, ]
+         if self._device:
+             argv.extend(["--force-cdrom-device", self._device, ])
+@@ -302,7 +302,7 @@
+         except OSError, e:
+             import errno
+             if e.errno == errno.ENOENT:
+-                raise common.MissingDependencyException('cd-paranoia')
++                raise common.MissingDependencyException('libcdio-paranoia')
+             raise
+@@ -559,8 +559,8 @@
+ def getCdParanoiaVersion():
+-    getter = common.VersionGetter('cd-paranoia',
+-                                  ["cd-paranoia", "-V"],
++    getter = common.VersionGetter('libcdio-paranoia',
++                                  ["libcdio-paranoia", "-V"],
+                                   _VERSION_RE,
+                                   "%(version)s %(release)s")
+@@ -585,12 +585,12 @@
+     def __init__(self, device=None):
+         # cdparanoia -A *always* writes cdparanoia.log
+         self.cwd = tempfile.mkdtemp(suffix='.whipper.cache')
+-        self.command = ['cd-paranoia', '-A']
++        self.command = ['libcdio-paranoia', '-A']
+         if device:
+             self.command += ['-d', device]
+     def commandMissing(self):
+-        raise common.MissingDependencyException('cd-paranoia')
++        raise common.MissingDependencyException('libcdio-paranoia')
+     def readbyteserr(self, bytes):
+         self._output.append(bytes)
diff --git a/media-sound/whipper/files/whipper-0.7.0-src-Makefile-respect-CFLAGS.patch b/media-sound/whipper/files/whipper-0.7.0-src-Makefile-respect-CFLAGS.patch
new file mode 100644 (file)
index 0000000..71ba1f5
--- /dev/null
@@ -0,0 +1,69 @@
+From a3f090d8ed55e5e2c0c595b9bf0e244a81ce1464 Mon Sep 17 00:00:00 2001
+From: Merlijn Wajer <merlijn@wizzup.org>
+Date: Wed, 22 Aug 2018 11:41:16 +0200
+Subject: [PATCH] src/Makefile: respect CFLAGS
+
+---
+ src/Makefile  | 19 +++++--------------
+ src/config.mk |  6 +++---
+ 2 files changed, 8 insertions(+), 17 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index f1c6d4a..ee8845d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -5,25 +5,16 @@ include config.mk
+ SRC = accuraterip-checksum.c
+ OBJ = ${SRC:.c=.o}
+-all: options accuraterip-checksum
+-
+-options:
+-      @echo accuraterip-checksum build options:
+-      @echo "CFLAGS   = ${CFLAGS}"
+-      @echo "LDFLAGS  = ${LDFLAGS}"
+-      @echo "CC       = ${CC}"
++all: accuraterip-checksum
+ .c.o:
+-      @echo CC $<
+-      @${CC} -c ${CFLAGS} $<
++      ${CC} -c ${OURCFLAGS} $<
+ accuraterip-checksum: ${OBJ}
+-      @echo CC -o $@
+-      @${CC} -o $@ ${OBJ} ${LDFLAGS}
++      ${CC} -std=c99 -lsndfile -o $@ ${OBJ} ${OURCFLAGS} ${OURLDFLAGS}
+ clean:
+-      @echo cleaning
+-      @rm -f accuraterip-checksum ${OBJ} accuraterip-checksum-${VERSION}.tar.gz
++      rm -f accuraterip-checksum ${OBJ} accuraterip-checksum-${VERSION}.tar.gz
+ dist: clean
+       @echo creating dist tarball
+@@ -44,4 +35,4 @@ uninstall:
+       @echo removing executable file from ${DESTDIR}${PREFIX}/bin
+       @rm -f ${DESTDIR}${PREFIX}/bin/accuraterip-checksum
+-.PHONY: all options clean dist install uninstall
++.PHONY: all clean dist install uninstall
+diff --git a/src/config.mk b/src/config.mk
+index 283d745..87fe219 100644
+--- a/src/config.mk
++++ b/src/config.mk
+@@ -4,8 +4,8 @@ VERSION = 1.4
+ PREFIX = /usr/local
+ # flags
+-CFLAGS   = -std=c99
+-LDFLAGS  = -lsndfile
++OURCFLAGS   = ${CFLAGS} -std=c99
++OURLDFLAGS  = ${LDFLAGS} -lsndfile
+ # compiler and linker
+-CC = cc
++CC ?= cc
+-- 
+2.16.4
+
diff --git a/media-sound/whipper/metadata.xml b/media-sound/whipper/metadata.xml
new file mode 100644 (file)
index 0000000..46be9b4
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>gentoo@retornaz.com</email>
+               <name>Quentin Retornaz</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>gentoo@wizzup.org</email>
+               <name>Merlijn Wajer</name>
+               <description>Whipper project developer</description>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+</pkgmetadata>
diff --git a/media-sound/whipper/whipper-0.7.0.ebuild b/media-sound/whipper/whipper-0.7.0.ebuild
new file mode 100644 (file)
index 0000000..cf58c45
--- /dev/null
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python CD-DA ripper preferring accuracy over speed (forked from morituri)"
+HOMEPAGE="https://github.com/JoeLametta/whipper"
+SRC_URI="https://github.com/JoeLametta/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       media-libs/libsndfile
+       test? ( dev-python/twisted[${PYTHON_USEDEP}] )
+"
+RDEPEND="
+       app-cdr/cdrdao
+       dev-libs/gobject-introspection[${PYTHON_USEDEP}]
+       >=dev-libs/libcdio-paranoia-0.94_p2
+       dev-python/cddb-py[${PYTHON_USEDEP}]
+       dev-python/pycdio[${PYTHON_USEDEP}]
+       dev-python/pygobject:2=[${PYTHON_USEDEP}]
+       dev-python/python-musicbrainz-ngs[${PYTHON_USEDEP}]
+       dev-python/requests[${PYTHON_USEDEP}]
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       media-libs/flac
+       media-libs/libsndfile
+       media-libs/mutagen[${PYTHON_USEDEP}]
+       media-sound/sox[flac]
+"
+
+PATCHES=(
+       "${FILESDIR}/${P}-cdparanoia-name-fix.patch"
+       "${FILESDIR}/${P}-src-Makefile-respect-CFLAGS.patch"
+)
+
+src_prepare() {
+       # accurip test totally depends on network access
+       rm "${PN}"/test/test_common_accurip.py || die
+
+       distutils-r1_src_prepare
+}
+
+src_compile() {
+       distutils-r1_src_compile
+       emake -C src CC="$(tc-getCC)"
+}
+
+python_test() {
+       "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_install() {
+       distutils-r1_src_install
+       emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" -C src install
+}