media-sound/jack: fix #298850, new EAPI and eclass
authorMartin Dummer <martin.dummer@gmx.net>
Sat, 18 Feb 2017 14:42:40 +0000 (15:42 +0100)
committerDavid Seifert <soap@gentoo.org>
Fri, 10 Mar 2017 11:07:59 +0000 (12:07 +0100)
- EAPI 6
- replace eclass distutils with distutils-r1
- fix ebuild python module dependencies
- add proxy maintaintership
- add functional enhancement: add cddb server freedb.musicbrainz.org

Bug: https://bugs.gentoo.org/show_bug.cgi?id=298850
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Closes: https://github.com/gentoo/gentoo/pull/4156

media-sound/jack/files/jack-3.1.1-add-cddbserver-musicbrainz.patch [new file with mode: 0644]
media-sound/jack/files/jack-3.1.1-python26.patch [new file with mode: 0644]
media-sound/jack/files/jack-3.1.1-setup-and-cursesmodule.patch [new file with mode: 0644]
media-sound/jack/jack-3.1.1-r2.ebuild [new file with mode: 0644]
media-sound/jack/metadata.xml

diff --git a/media-sound/jack/files/jack-3.1.1-add-cddbserver-musicbrainz.patch b/media-sound/jack/files/jack-3.1.1-add-cddbserver-musicbrainz.patch
new file mode 100644 (file)
index 0000000..150c440
--- /dev/null
@@ -0,0 +1,15 @@
+--- a/jack_freedb.py
++++ b/jack_freedb.py
+@@ -46,6 +46,12 @@
+         'mail': "freedb-submit@freedb.org",
+         'my_mail': "default"
+     },
++    'musicbrainz': {
++        'host': "freedb.musicbrainz.org",
++        'id': prog_name + " " + prog_version,
++        'mail': "",
++        'my_mail': "default"
++    },
+ }
+ def interpret_db_file(all_tracks, freedb_form_file, verb, dirs = 0, warn = None):
diff --git a/media-sound/jack/files/jack-3.1.1-python26.patch b/media-sound/jack/files/jack-3.1.1-python26.patch
new file mode 100644 (file)
index 0000000..c3e0a0c
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/jack_functions.py
++++ b/jack_functions.py
+@@ -219,9 +219,9 @@
+     ff = blocks % CDDA_BLOCKS_PER_SECOND
+     return mm, ss, ff, blocks
+
+-def starts_with(str, with):
+-    "checks whether str starts with with"
+-    return str[0:len(with)] == with
++def starts_with(str, withstr):
++    "checks whether str starts with withstr"
++    return str[0:len(withstr)] == withstr
diff --git a/media-sound/jack/files/jack-3.1.1-setup-and-cursesmodule.patch b/media-sound/jack/files/jack-3.1.1-setup-and-cursesmodule.patch
new file mode 100644 (file)
index 0000000..d3e0162
--- /dev/null
@@ -0,0 +1,47 @@
+--- a/jack_t_curses.py
++++ b/jack_t_curses.py
+@@ -35,11 +35,9 @@
+ try:
+     from jack_curses import endwin, resizeterm, A_REVERSE, newwin, newpad, initscr, noecho, cbreak, echo, nocbreak
+ except ImportError:
+-    warning("jack_curses module not found, trying normal curses...")
++    info("jack_curses module not found, using normal curses...")
+     try:
+-        from curses import endwin, A_REVERSE, newwin, newpad, initscr, noecho, cbreak, echo, nocbreak
+-        def resizeterm(y, x):
+-            pass
++        from curses import endwin, resizeterm, A_REVERSE, newwin, newpad, initscr, noecho, cbreak, echo, nocbreak
+     except ImportError:
+         print "curses module not found or too old, please install it (see README)"
+--- a/setup.py
++++ b/setup.py
+@@ -2,7 +2,7 @@
+
+ """Setup script for the jack module distribution."""
+
+-from distutils.core import setup, Extension
++from distutils.core import setup
+
+ setup( # Distribution meta-data
+     name = "jack",
+@@ -11,11 +11,7 @@
+     author = "Arne Zellentin",
+     author_email = "zarne@users.sf.net",
+     url = "http://www.home.unix-ag.org/arne/jack/",
+-
+-    # Description of the modules and packages in the distribution
+-    ext_modules = [ Extension('jack_cursesmodule',
+-    ['cursesmodule/jack_cursesmodule.c'], libraries=["ncurses"],
+-    extra_compile_args=["-Wno-strict-prototypes"]) ],
++    scripts=['jack'],
+
+     py_modules = [ 'jack_CDTime', 'jack_TOC', 'jack_TOCentry', 'jack_argv',
+     'jack_checkopts', 'jack_children', 'jack_config', 'jack_constants',
+@@ -26,6 +22,3 @@
+     'jack_ripstuff', 'jack_status', 'jack_t_curses', 'jack_t_dumb', 'jack_tag',
+     'jack_targets', 'jack_term', 'jack_utils', 'jack_version', 'jack_workers']
+ )
+-
+-print "If you have installed the modules, copy jack to some place in your $PATH,"
+-print "like /usr/local/bin/."
diff --git a/media-sound/jack/jack-3.1.1-r2.ebuild b/media-sound/jack/jack-3.1.1-r2.ebuild
new file mode 100644 (file)
index 0000000..59c46f7
--- /dev/null
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ncurses"
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1
+
+DESCRIPTION="A frontend for several cd-rippers and mp3 encoders"
+HOMEPAGE="http://www.home.unix-ag.org/arne/jack/"
+SRC_URI="http://www.home.unix-ag.org/arne/jack/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+RDEPEND="
+       dev-python/cddb-py[${PYTHON_USEDEP}]
+       dev-python/id3-py[${PYTHON_USEDEP}]
+       dev-python/pyid3lib[${PYTHON_USEDEP}]
+       dev-python/pyvorbis[${PYTHON_USEDEP}]
+       media-libs/flac
+       media-sound/lame
+       media-sound/cdparanoia"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-3.1.1-python26.patch"
+       "${FILESDIR}/${PN}-3.1.1-setup-and-cursesmodule.patch"
+       "${FILESDIR}/${PN}-3.1.1-add-cddbserver-musicbrainz.patch"
+)
+
+python_install_all() {
+       insinto /etc
+       newins example.etc.jackrc jackrc
+
+       newman jack.man jack.1
+
+       local DOCS=( README doc/ChangeLog doc/TODO )
+       local HTML_DOCS=( doc/*.{html,css,gif} )
+       distutils-r1_python_install_all
+}
index c870d0eef0ab11b13425198447bd3a5ff0ad5069..e89252b7a39a177a520654f615aa6fac64b95fb8 100644 (file)
@@ -1,8 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<maintainer type="project">
-       <email>sound@gentoo.org</email>
-       <name>Gentoo Sound project</name>
-</maintainer>
+       <maintainer type="person">
+               <email>martin.dummer@gmx.net</email>
+               <name>Martin Dummer</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>sound@gentoo.org</email>
+               <name>Gentoo Sound project</name>
+       </maintainer>
 </pkgmetadata>