commit:     5e41636c50b17957df5c3f633dfda3b601a43bc1
Author:     Gerion Entrup <gerion.entrup <AT> flump <DOT> de>
AuthorDate: Sat Sep 30 14:50:26 2017 +0000
Commit:     gerion <gerion.entrup <AT> flump <DOT> de>
CommitDate: Sat Sep 30 14:50:26 2017 +0000
URL:        https://gitweb.gentoo.org/repo/user/gerislay.git/commit/?id=5e41636c

fix jack dependency

- media-gfx/blender
- media-sound/rosegarden
- media-sound/patchage
- media-sound/timidity++

 media-gfx/blender/Manifest                         |   5 +
 media-gfx/blender/blender-2.78a-r2.ebuild          | 295 +++++++++++++++++++++
 .../blender/files/blender-2.78-eigen-3.3.1.patch   |  25 ++
 .../blender/files/blender-fix-install-rules.patch  |  16 ++
 media-gfx/blender/metadata.xml                     | 101 +++++++
 media-sound/patchage/Manifest                      |   4 +
 .../patchage/files/patchage-0.5.0-desktop.patch    |   8 +
 media-sound/patchage/metadata.xml                  |  17 ++
 media-sound/patchage/patchage-1.0.0-r1.ebuild      |  40 +++
 media-sound/rosegarden/Manifest                    |   3 +
 media-sound/rosegarden/metadata.xml                |  11 +
 media-sound/rosegarden/rosegarden-17.04-r1.ebuild  |  60 +++++
 media-sound/timidity++/Manifest                    |  16 ++
 .../timidity++/files/50timidity++-gentoo.el        |   6 +
 media-sound/timidity++/files/conf.d.timidity.2     |  27 ++
 media-sound/timidity++/files/init.d.timidity.4     |  20 ++
 .../timidity++/files/timidity++-2.14.0-ar.patch    |  23 ++
 .../files/timidity++-2.14.0-configure-flags.patch  | 140 ++++++++++
 .../files/timidity++-2.14.0-params.patch           |  22 ++
 .../files/timidity++-2.14.0-pkg-config.patch       | 109 ++++++++
 ...ert-for-required-ctl_speana_data-function.patch |  28 ++
 .../files/timidity++-2.14.0-tcltk86.patch          |  13 +
 media-sound/timidity++/files/timidity.cfg-r1       |  24 ++
 media-sound/timidity++/files/timidity.desktop.2    |  10 +
 media-sound/timidity++/files/timidity.service      |  10 +
 media-sound/timidity++/files/timidity.xpm          |  56 ++++
 media-sound/timidity++/metadata.xml                |  11 +
 media-sound/timidity++/timidity++-2.14.0-r3.ebuild | 185 +++++++++++++
 28 files changed, 1285 insertions(+)

diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
new file mode 100644
index 0000000..c6db9de
--- /dev/null
+++ b/media-gfx/blender/Manifest
@@ -0,0 +1,5 @@
+AUX blender-2.78-eigen-3.3.1.patch 666 SHA256 
35900be15f8bb0540050ffab9067122ba87433eecf896095e7ce1e889e54af5b SHA512 
9a2ee48fa38e23a5b086514468bd1c96ee2b97228e95cdfaac3c5d3b2c21c4e47a0ced4306d7dc89268d63b60e551b655d6d627790215ad68791fe3f35717bf5
 WHIRLPOOL 
b073ba691ada03ead560a9be8907b8c1111c1029fdc7e6a4f59c24f5771a34bc287800f9458d81488fa19faba662afd876693bd9933600e498b13d95c4f134c6
+AUX blender-fix-install-rules.patch 518 SHA256 
4fbdd73c4bb20e316f6a02c7e6a33a90285db787aac5b3baf66394d256fe6e0f SHA512 
5343f0e9e6bba2d15a38cb5db95a1aeff0a704c0762e558b9b74d88dd58e2fb5077289f0d8f25a61fa092d083f7db916d27c4642dfd7cf84d4c989258c3253ec
 WHIRLPOOL 
6ae8c113ab1ccac5c1465e0deab3bd101922303c0f60ecdb4d1cbff7dd02d37c299d4897beb5239b60e8724e47b830ecd5b7f6045dd301847f2583d559bdacbb
+DIST blender-2.78a.tar.gz 44188123 SHA256 
014a14b1ba00c0e651f106469b2e5dd444f11be5a7af48056f0ed59de90cceaf SHA512 
57239b6ce473aaef114453f97a6e88535ec0a2f50cfecd221fa6bdcca6fe6559dcbefd48c3f20dc2235c195de13c59a1a155d5b64d777be31812d32e68be9370
 WHIRLPOOL 
85ea5ea5594716433a5f2f14233a489841598baf80170f01fff3946b4fa6ebc99086396a232f0f3c5f0e8c8d6c16ec27e98b7b58d79d289f5190214dc7efb677
+EBUILD blender-2.78a-r2.ebuild 8353 SHA256 
c1c9119567498541d027fa46fa8904c2bc5b1911c8663d4a9aa4e4a94fcc81cc SHA512 
c12a7c31babf8d837205238bd5e4f0affb53a2e61f6a53d327eeae4b08741e9e9073debfc3f95edb5ea277462ce1898b2cae398190ab94dc2745e91390af3da4
 WHIRLPOOL 
2395d88212d8c95a7f0c620795a2dabab8f942ac919cf7c4d05bfa885fd3265cd977f8944e7afaa5f2cdf0b6e432a050af395c1fe684f26eb7ebc829d2de2623
+MISC metadata.xml 3440 SHA256 
45cba6ae08884bbca2a5a94993dde5abfd900ead160a2f7eec19a3f4779bb696 SHA512 
75c1cfb4998e9bbd2c3d4836bfba2f273d90920a2a72f70b599ee4cdfdfbf02cf1f2508aa24df6c762e3c323000de0a04623b21caaf5843e235888d3906043a8
 WHIRLPOOL 
f20d54a0f468ee3ed1c1d5eca5790f73963d1abceb7fd7ed2040d060882fdf40950e728eea5686f50f60124a1a8ce85c6c5a84da7f67de5660930ce6a3c69c53

diff --git a/media-gfx/blender/blender-2.78a-r2.ebuild 
b/media-gfx/blender/blender-2.78a-r2.ebuild
new file mode 100644
index 0000000..3235f0c
--- /dev/null
+++ b/media-gfx/blender/blender-2.78a-r2.ebuild
@@ -0,0 +1,295 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python3_5 )
+
+inherit check-reqs cmake-utils fdo-mime flag-o-matic gnome2-utils \
+       pax-utils python-single-r1 toolchain-funcs versionator
+
+DESCRIPTION="3D Creation/Animation/Publishing System"
+HOMEPAGE="http://www.blender.org";
+
+SRC_URI="http://download.blender.org/source/${P}.tar.gz";
+
+# Blender can have letters in the version string,
+# so strip of the letter if it exists.
+MY_PV="$(get_version_component_range 1-2)"
+
+SLOT="0"
+LICENSE="|| ( GPL-2 BL )"
+KEYWORDS="~amd64 ~x86"
+IUSE="+boost +bullet +dds +elbeem +game-engine +openexr collada colorio \
+       cuda cycles debug doc ffmpeg fftw headless jack jemalloc jpeg2k libav \
+       llvm man ndof nls openal openimageio openmp opensubdiv openvdb \
+       player sdl sndfile test tiff valgrind"
+
+# OpenCL and nVidia performance is rubbish with Blender
+# If you have nVidia, use CUDA.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+       player? ( game-engine !headless )
+       cuda? ( cycles )
+       cycles? ( boost openexr tiff openimageio )
+       colorio? ( boost )
+       openvdb? ( boost )
+       opensubdiv? ( cuda )
+       nls? ( boost )
+       openal? ( boost )
+       game-engine? ( boost )
+       ?? ( ffmpeg libav )"
+
+# Since not using OpenCL with nVidia, depend on ATI binary
+# blobs as Cycles with OpenCL does not work with any open
+# source drivers.
+RDEPEND="${PYTHON_DEPS}
+       dev-libs/lzo:2
+       >=dev-python/numpy-1.10.1[${PYTHON_USEDEP}]
+       dev-python/requests[${PYTHON_USEDEP}]
+       media-libs/freetype
+       media-libs/glew:*
+       media-libs/libpng:0=
+       media-libs/libsamplerate
+       sys-libs/zlib
+       virtual/glu
+       virtual/jpeg:0=
+       virtual/libintl
+       virtual/opengl
+       boost? ( >=dev-libs/boost-1.62:=[nls?,threads(+)] )
+       collada? ( >=media-libs/opencollada-1.6.18:= )
+       colorio? ( >=media-libs/opencolorio-1.0.9-r2 )
+       cuda? ( =dev-util/nvidia-cuda-toolkit-8.0*:= )
+       ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?] )
+       libav? ( >=media-video/libav-11.3:=[x264,mp3,encode,theora,jpeg2k?] )
+       fftw? ( sci-libs/fftw:3.0= )
+       !headless? (
+               x11-libs/libX11
+               x11-libs/libXi
+               x11-libs/libXxf86vm
+       )
+       jack? ( virtual/jack )
+       jemalloc? ( dev-libs/jemalloc:= )
+       jpeg2k? ( media-libs/openjpeg:0 )
+       llvm? ( sys-devel/llvm )
+       ndof? (
+               app-misc/spacenavd
+               dev-libs/libspnav
+       )
+       nls? ( virtual/libiconv )
+       openal? ( media-libs/openal )
+       openimageio? ( >=media-libs/openimageio-1.6.9 )
+       openexr? (
+               >=media-libs/ilmbase-2.2.0:=
+               >=media-libs/openexr-2.2.0:=
+       )
+       opensubdiv? ( media-libs/opensubdiv[cuda=] )
+       openvdb? (
+               
media-gfx/openvdb[${PYTHON_USEDEP},abi3-compat(+),openvdb-compression(+)]
+               dev-cpp/tbb
+               >=dev-libs/c-blosc-1.5.2
+       )
+       sdl? ( media-libs/libsdl2[sound,joystick] )
+       sndfile? ( media-libs/libsndfile )
+       tiff? ( media-libs/tiff:0 )
+       valgrind? ( dev-util/valgrind )"
+
+DEPEND="${RDEPEND}
+       >=dev-cpp/eigen-3.2.8:3
+       nls? ( sys-devel/gettext )
+       doc? (
+               app-doc/doxygen[-nodot(-),dot(+),latex]
+               dev-python/sphinx[latex]
+       )"
+
+PATCHES=( "${FILESDIR}"/${PN}-fix-install-rules.patch
+         "${FILESDIR}"/${PN}-2.78-eigen-3.3.1.patch )
+
+blender_check_requirements() {
+       [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+       if use doc; then
+               CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
+       fi
+}
+
+pkg_pretend() {
+       blender_check_requirements
+}
+
+pkg_setup() {
+       blender_check_requirements
+       python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       # we don't want static glew, but it's scattered across
+       # multiple files that differ from version to version
+       # !!!CHECK THIS SED ON EVERY VERSION BUMP!!!
+       local file
+       while IFS="" read -d $'\0' -r file ; do
+               sed -i -e '/-DGLEW_STATIC/d' "${file}" || die
+       done < <(find . -type f -name "CMakeLists.txt")
+
+       # Disable MS Windows help generation. The variable doesn't do what it
+       # it sounds like.
+       sed -e "s|GENERATE_HTMLHELP      = YES|GENERATE_HTMLHELP      = NO|" \
+           -i doc/doxygen/Doxyfile || die
+}
+
+src_configure() {
+       # FIX: forcing '-funsigned-char' fixes an anti-aliasing issue with menu
+       # shadows, see bug #276338 for reference
+       append-flags -funsigned-char
+       append-lfs-flags
+       append-cppflags -DOPENVDB_3_ABI_COMPATIBLE
+
+       local mycmakeargs=(
+               -DPYTHON_VERSION="${EPYTHON/python/}"
+               -DPYTHON_LIBRARY="$(python_get_library_path)"
+               -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+               -DWITH_INSTALL_PORTABLE=OFF
+               -DWITH_PYTHON_INSTALL=OFF
+               -DWITH_PYTHON_INSTALL_NUMPY=OFF
+               -DWITH_STATIC_LIBS=OFF
+               -DWITH_SYSTEM_GLEW=ON
+               -DWITH_SYSTEM_OPENJPEG=ON
+               -DWITH_SYSTEM_EIGEN3=ON
+               -DWITH_SYSTEM_LZO=ON
+               -DWITH_C11=ON
+               -DWITH_CXX11=ON
+               -DWITH_BOOST=$(usex boost)
+               -DWITH_BULLET=$(usex bullet)
+               -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
+               -DWITH_CODEC_SNDFILE=$(usex sndfile)
+               -DWITH_CUDA=$(usex cuda)
+               -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
+               -DWITH_CYCLES=$(usex cycles)
+               -DWITH_CYCLES_OSL=OFF
+               -DWITH_LLVM=$(usex llvm)
+               -DWITH_FFTW3=$(usex fftw)
+               -DWITH_GAMEENGINE=$(usex game-engine)
+               -DWITH_HEADLESS=$(usex headless)
+               -DWITH_X11=$(usex !headless)
+               -DWITH_IMAGE_DDS=$(usex dds)
+               -DWITH_IMAGE_OPENEXR=$(usex openexr)
+               -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
+               -DWITH_IMAGE_TIFF=$(usex tiff)
+               -DWITH_INPUT_NDOF=$(usex ndof)
+               -DWITH_INTERNATIONAL=$(usex nls)
+               -DWITH_JACK=$(usex jack)
+               -DWITH_MOD_FLUID=$(usex elbeem)
+               -DWITH_MOD_OCEANSIM=$(usex fftw)
+               -DWITH_OPENAL=$(usex openal)
+               -DWITH_OPENCL=OFF
+               -DWITH_CYCLES_DEVICE_OPENCL=OFF
+               -DWITH_OPENCOLORIO=$(usex colorio)
+               -DWITH_OPENCOLLADA=$(usex collada)
+               -DWITH_OPENIMAGEIO=$(usex openimageio)
+               -DWITH_OPENMP=$(usex openmp)
+               -DWITH_OPENSUBDIV=$(usex opensubdiv)
+               -DWITH_OPENVDB=$(usex openvdb)
+               -DWITH_OPENVDB_BLOSC=$(usex openvdb)
+               -DWITH_PLAYER=$(usex player)
+               -DWITH_SDL=$(usex sdl)
+               -DWITH_CXX_GUARDEDALLOC=$(usex debug)
+               -DWITH_ASSERT_ABORT=$(usex debug)
+               -DWITH_GTESTS=$(usex test)
+               -DWITH_DOC_MANPAGE=$(usex man)
+               -DWITH_MEM_JEMALLOC=$(usex jemalloc)
+               -DWITH_MEM_VALGRIND=$(usex valgrind)
+       )
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+
+       if use doc; then
+               # Workaround for binary drivers.
+               addpredict /dev/ati
+               addpredict /dev/nvidiactl
+
+               einfo "Generating Blender C/C++ API docs ..."
+               cd "${CMAKE_USE_DIR}"/doc/doxygen || die
+               doxygen -u Doxyfile || die
+               doxygen || die "doxygen failed to build API docs."
+
+               cd "${CMAKE_USE_DIR}" || die
+               einfo "Generating (BPY) Blender Python API docs ..."
+               "${BUILD_DIR}"/bin/blender --background --python 
doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
+
+               cd "${CMAKE_USE_DIR}"/doc/python_api || die
+               sphinx-build sphinx-in BPY_API || die "sphinx failed."
+       fi
+}
+
+src_test() {
+       if use test; then
+               einfo "Running Blender Unit Tests ..."
+               cd "${BUILD_DIR}"/bin/tests || die
+               local f
+               for f in *_test; do
+                       ./"${f}" || die
+               done
+       fi
+}
+
+src_install() {
+       # Pax mark blender for hardened support.
+       pax-mark m "${CMAKE_BUILD_DIR}"/bin/blender
+
+       if use doc; then
+               docinto "html/API/python"
+               dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
+
+               docinto "html/API/blender"
+               dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
+       fi
+
+       cmake-utils_src_install
+
+       # fix doc installdir
+       docinto "html"
+       dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
+       rm -r "${ED%/}"/usr/share/doc/blender || die
+
+       python_fix_shebang "${ED%/}/usr/bin/blender-thumbnailer.py"
+       python_optimize "${ED%/}/usr/share/blender/${MY_PV}/scripts"
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       elog
+       elog "Blender uses python integration. As such, may have some"
+       elog "inherit risks with running unknown python scripts."
+       elog
+       elog "It is recommended to change your blender temp directory"
+       elog "from /tmp to /home/user/tmp or another tmp file under your"
+       elog "home directory. This can be done by starting blender, then"
+       elog "dragging the main menu down do display all paths."
+       elog
+       ewarn
+       ewarn "This ebuild does not unbundle the massive amount of 3rd party"
+       ewarn "libraries which are shipped with blender. Note that"
+       ewarn "these have caused security issues in the past."
+       ewarn "If you are concerned about security, file a bug upstream:"
+       ewarn "  https://developer.blender.org/";
+       ewarn
+       gnome2_icon_cache_update
+       fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+       fdo-mime_desktop_database_update
+
+       ewarn ""
+       ewarn "You may want to remove the following directory."
+       ewarn "~/.config/${PN}/${MY_PV}/cache/"
+       ewarn "It may contain extra render kernels not tracked by portage"
+       ewarn ""
+}

diff --git a/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch 
b/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch
new file mode 100644
index 0000000..540aa6b
--- /dev/null
+++ b/media-gfx/blender/files/blender-2.78-eigen-3.3.1.patch
@@ -0,0 +1,25 @@
+--- blender-2.78a-orig/extern/ceres/include/ceres/jet.h        2016-10-25 
01:13:56.000000000 +1100
++++ blender-2.78a/extern/ceres/include/ceres/jet.h     2017-01-11 
13:27:24.708241265 +1100
+@@ -757,6 +757,7 @@
+   typedef ceres::Jet<T, N> Real;
+   typedef ceres::Jet<T, N> NonInteger;
+   typedef ceres::Jet<T, N> Nested;
++  typedef ceres::Jet<T, N> Literal;
+ 
+   static typename ceres::Jet<T, N> dummy_precision() {
+     return ceres::Jet<T, N>(1e-12);
+@@ -777,6 +778,14 @@
+     HasFloatingPoint = 1,
+     RequireInitialization = 1
+   };
++  
++  template<bool Vectorized>
++  struct Div {
++    enum {
++      AVX = false,
++      Cost = 1
++    };
++  };
+ };
+ 
+ }  // namespace Eigen

diff --git a/media-gfx/blender/files/blender-fix-install-rules.patch 
b/media-gfx/blender/files/blender-fix-install-rules.patch
new file mode 100644
index 0000000..e62aba8
--- /dev/null
+++ b/media-gfx/blender/files/blender-fix-install-rules.patch
@@ -0,0 +1,16 @@
+diff -purN a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
+--- a/source/creator/CMakeLists.txt    2016-09-28 10:26:55.000000000 +0100
++++ b/source/creator/CMakeLists.txt    2016-10-03 12:17:08.938928486 +0100
+@@ -328,12 +328,6 @@ endif()
+ # Install Targets (Generic, All Platforms)
+ 
+ 
+-# important to make a clean  install each time, else old scripts get loaded.
+-install(
+-      CODE
+-      "file(REMOVE_RECURSE ${TARGETDIR_VER})"
+-)
+-
+ if(WITH_PYTHON)
+       # install(CODE "message(\"copying blender scripts...\")")
+       

diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
new file mode 100644
index 0000000..ef8d087
--- /dev/null
+++ b/media-gfx/blender/metadata.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer restrict="&gt;=media-gfx/blender-2.77" type="person">
+               <email>[email protected]</email>
+               <name>Jonathan Scruggs</name>
+       </maintainer>
+       <maintainer restrict="&gt;=media-gfx/blender-2.77" type="person">
+               <email>[email protected]</email>
+               <name>Adrian Grigo</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Gentoo Graphics Project</name>
+       </maintainer>
+
+       <longdescription>
+               Blender, the open source software for 3D modeling, animation,
+               rendering, post-production, interactive creation and playback.
+       </longdescription>
+
+       <use>
+               <flag name="boost">
+                       Enable features depending on boost.
+               </flag>
+               <flag name="bullet">
+                       Enable Bullet (Physics Engine).
+               </flag>
+               <flag name="collada">
+                       Add support for Collada interchange format through
+                       <pkg>media-libs/opencollada</pkg>.
+               </flag>
+               <flag name="colorio">
+                       Enable OpenColorIO color management through
+                       <pkg>media-libs/opencolorio</pkg>.
+               </flag>
+               <flag name="cuda">
+                       Build cycles renderer with nVidia CUDA support.
+               </flag>
+               <flag name="cycles">
+                       Build cycles renderer (requires 
<pkg>media-libs/openimageio</pkg> and
+                       <pkg>dev-libs/boost</pkg>).
+               </flag>
+               <flag name="dds">
+                       Adds DDS textures support to Blender.
+               </flag>
+               <flag name="doc">
+                       Build C and Python API documentation directly from the 
source code.
+               </flag>
+               <flag name="elbeem">
+                       Adds surface fluid simulation to Blender using El'Beem 
library.
+               </flag>
+               <flag name="game-engine" restrict="&gt;=media-gfx/blender-2.50">
+                       Adds Game Engine support to Blender.
+               </flag>
+               <flag name="headless" restrict="&gt;=media-gfx/blender-2.77">
+                       Build without graphical support (renderfarm, server 
mode only).
+               </flag>
+               <flag name="jemalloc" restrict="&gt;=media-gfx/blender-2.77">
+                       Use <pkg>dev-libs/jemalloc</pkg> for memory allocation.
+               </flag>
+               <flag name="llvm" restrict="&gt;=media-gfx/blender-2.77">
+                       Enable features depending on llvm.
+               </flag>
+               <flag name="man" restrict="&gt;=media-gfx/blender-2.77">
+                       Build and install man pages.
+               </flag>
+               <flag name="ndof">
+                       Enable NDOF input devices (SpaceNavigator and friends).
+               </flag>
+               <flag name="openimageio">Enable OpenImageIO Support</flag>
+               <flag name="opennl" restrict="&lt;=media-gfx/blender-2.73">
+                       Enable use of Open Numerical Library
+               </flag>
+               <flag name="opensubdiv" restrict="&gt;=media-gfx/blender-2.77">
+                       Add rendering support form OpenSubdiv from Dreamworks 
Animation
+                       through <pkg>media-libs/opensubdiv</pkg>.
+               </flag>
+               <flag name="openvdb" restrict="&gt;=media-gfx/blender-2.77">
+                       Add GPU preview rendering. Only works with nVidia cards.
+               </flag>
+               <flag name="player">
+                       Build the Blender Player. THis requires the Game engine.
+               </flag>
+               <flag name="redcode" restrict="&lt;=media-gfx/blender-2.73">
+                       This flag add support for RED CODE camera digital 
format (5K HD
+                       images *.r3d) - EXPERIMENTAL.
+               </flag>
+               <flag name="test" restrict="&gt;=media-gfx/blender-2.77">
+                       Build the provided unit tests.
+               </flag>
+               <flag name="valgrind" restrict="&gt;=media-gfx/blender-2.77">
+                       Add support for memory debugging using
+                       <pkg>dev-util/valgrind</pkg>
+               </flag>
+       </use>
+</pkgmetadata>

diff --git a/media-sound/patchage/Manifest b/media-sound/patchage/Manifest
new file mode 100644
index 0000000..05dd597
--- /dev/null
+++ b/media-sound/patchage/Manifest
@@ -0,0 +1,4 @@
+AUX patchage-0.5.0-desktop.patch 224 SHA256 
0d078e63c5dbdde508be319e7180fa1694e7575414e0cdc062b0559d66da389c SHA512 
ae000bc340d48a9bb89fc067b4b1abba3de39ef9be086c7eeffae71ddca6172ce500ea6ea9854fde8cc19df3117195cb6fdb4ecd0867aa69f332ac0a7d377b69
 WHIRLPOOL 
4edab48a5b35eba0eb0dbcd6545c09581f85c1910a9a81a16b22f8d8451c053e6567fa8aa5ec98e86a3b74b2639344239ec90508a625e0ac7846db22b3f6d004
+DIST patchage-1.0.0.tar.bz2 414300 SHA256 
6b21d74ef1b54fa62be8d6ba65ca8b61c7b6b5230cc85e093527081239bfeda9 SHA512 
0a2be0183257a34a68ec84e6fb17d29a3d8ba7dd54a05fcdd13784ac8f5621eb7a376f17d42168958f5e1a8dab8858a9c5c8c867aa1838736cc2b7775f75f510
 WHIRLPOOL 
86278e94a71069e86a92d3f00ae61a99aca710738df79345ffa47d797df340719dce452c19b0a6165420bba97f3fc7d27f918dc4e294e90bfe4158d7a4f333bb
+EBUILD patchage-1.0.0-r1.ebuild 1019 SHA256 
0709005d9912203d932df8d63290337170f85592aa5887afde9c79c233b0e2c0 SHA512 
505b76f877d740939e12849437403f6a76d6bc4d2864be955b6d2727b4a8e413a1236678fb97daf9c3d603d833453b0779d8838ab0db0b5cabcbb6b7901fcdf3
 WHIRLPOOL 
91f9c63d77b1f74045538462bd8ed2d0e0e152059c0a75a31a2e27164d20d99a8fab040f9a2bebbff23dd85e7a17ec95da89fec19130fbb5bc8e473679593193
+MISC metadata.xml 600 SHA256 
328d5523796f70d83115dfb2ca81d1482e3f2b6fd3fecb4aad9173e1b3fc400f SHA512 
d08bd05a57ca03d9f91c0904f9a1b92e332e4475fd6729feefb63c75df2c5ad6eebd718b6e7db8482819f463606dcca888400c1560dd9b2c9e426c26634ece77
 WHIRLPOOL 
d2ae8940cafd4cc656938963bded9738c790a8022edb43f579f23014f05073d1ff7792a177683b760a3722c1c1634bdc656fd265195b2864f9d87402511734b9

diff --git a/media-sound/patchage/files/patchage-0.5.0-desktop.patch 
b/media-sound/patchage/files/patchage-0.5.0-desktop.patch
new file mode 100644
index 0000000..cf4eaea
--- /dev/null
+++ b/media-sound/patchage/files/patchage-0.5.0-desktop.patch
@@ -0,0 +1,8 @@
+--- patchage-0.5.0/patchage.desktop.in
++++ patchage-0.5.0/patchage.desktop.in
+@@ -6,4 +6,4 @@
+ Terminal=false
+ Icon=@APP_INSTALL_NAME@
+ Type=Application
+-Categories=Application;AudioVideo;Audio
++Categories=AudioVideo;Audio;

diff --git a/media-sound/patchage/metadata.xml 
b/media-sound/patchage/metadata.xml
new file mode 100644
index 0000000..8817f44
--- /dev/null
+++ b/media-sound/patchage/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="project">
+    <email>[email protected]</email>
+    <name>Gentoo ProAudio Project</name>
+  </maintainer>
+  <use>
+    <flag name="jack-dbus">Use Jack via D-Bus instead of libjack</flag>
+    <flag name="session">Include experimental Jack session management
+      (save/restore) support</flag>
+  </use>
+  <longdescription lang="en">
+    Patchage is a modular patch bay for audio and MIDI for Jack based audio
+    systems.
+  </longdescription>
+</pkgmetadata>

diff --git a/media-sound/patchage/patchage-1.0.0-r1.ebuild 
b/media-sound/patchage/patchage-1.0.0-r1.ebuild
new file mode 100644
index 0000000..208138d
--- /dev/null
+++ b/media-sound/patchage/patchage-1.0.0-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='threads(+)'
+inherit waf-utils python-any-r1
+
+DESCRIPTION="Modular patch bay for JACK-based audio and MIDI systems"
+HOMEPAGE="http://drobilla.net/software/patchage";
+SRC_URI="http://download.drobilla.net/${P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa debug jack-dbus session"
+
+RDEPEND=">=dev-cpp/glibmm-2.14:2
+       >=dev-cpp/gtkmm-2.11.12:2.4
+       >=dev-cpp/libglademm-2.6.0:2.4
+       dev-cpp/libgnomecanvasmm:2.6
+       >=media-libs/ganv-1.4.0
+       virtual/jack
+       alsa? ( media-libs/alsa-lib )
+       jack-dbus? ( dev-libs/dbus-glib
+               sys-apps/dbus )"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       dev-libs/boost
+       virtual/pkgconfig"
+
+DOCS=( AUTHORS NEWS README )
+
+src_configure() {
+       waf-utils_src_configure \
+               $(use debug && echo "--debug") \
+               $(use alsa || echo "--no-alsa") \
+               $(use jack-dbus && echo "--jack-dbus") \
+               $(use session && echo "--jack-session-manage")
+}

diff --git a/media-sound/rosegarden/Manifest b/media-sound/rosegarden/Manifest
new file mode 100644
index 0000000..8ed579c
--- /dev/null
+++ b/media-sound/rosegarden/Manifest
@@ -0,0 +1,3 @@
+DIST rosegarden-17.04.tar.bz2 6454603 SHA256 
988a6141c5b0a8e85c029f650de78bf57100c4d778c22d0194b0692584640ece SHA512 
23240522cba8cc3b5d0e3b29ee5b871c911c7634d74f65d04b353f59747bdf6a1bfd9985f16ab331ea2399a797e66b2ebd110e192bb52ba4df453d42d7b8f73b
 WHIRLPOOL 
91b7d8d74578e8666de607f55cecdfc57dde9b9b4e2367d7b5a2f1d3ae76eaf3d0ef6b62d78ae4f9f080448019caf8e0580d5c1e30f56708c9b2dcc2c3113aa9
+EBUILD rosegarden-17.04-r1.ebuild 1202 SHA256 
d904a72c4da845efa51ba8afbf3a80efa9b1dd4c1afa84d4baab6d5b96769932 SHA512 
3be5bfa03535520bff740a632080947ca32af0e106994de97fc0277987ae808c283dd64a3b4fa4103d74e463ea866e5789a9bf0dc8b2df9d93dddc3802c8a6d8
 WHIRLPOOL 
c8db3a68cb96715008db0dbf8ce17987fd1685a1990e17b1c8fd5caf3020ce173d357d695074df701026ce00fcb2c6d17691b31b11815d3d434950a3cc51bca4
+MISC metadata.xml 349 SHA256 
97a83e4c15e9cdbac3ca20099643e4dd0a8ba32661aa2b87febcd48445aa1613 SHA512 
1790ba05a4f13f358de6890c908b2f1eb0581143063b7237220dd05aba31d16d68f2cf6c4712a08894909b7de5306d592807e9f3171b66b72fd867bd339a0cee
 WHIRLPOOL 
ff9d9c24a41d18572aa6396d46f3c2a8646663b0bca8ec7d70459a9e975d10440d63c69ad37e6b4495615c6252ca07246afbaa957115c0d1642668dc976733c7

diff --git a/media-sound/rosegarden/metadata.xml 
b/media-sound/rosegarden/metadata.xml
new file mode 100644
index 0000000..c399767
--- /dev/null
+++ b/media-sound/rosegarden/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="project">
+    <email>[email protected]</email>
+    <name>Gentoo ProAudio Project</name>
+  </maintainer>
+  <upstream>
+    <remote-id type="sourceforge">rosegarden</remote-id>
+  </upstream>
+</pkgmetadata>

diff --git a/media-sound/rosegarden/rosegarden-17.04-r1.ebuild 
b/media-sound/rosegarden/rosegarden-17.04-r1.ebuild
new file mode 100644
index 0000000..5403601
--- /dev/null
+++ b/media-sound/rosegarden/rosegarden-17.04-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils eutils fdo-mime gnome2-utils
+
+DESCRIPTION="MIDI and audio sequencer and notation editor"
+HOMEPAGE="http://www.rosegardenmusic.com/";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="lirc"
+
+RDEPEND="
+       dev-qt/qtgui:5
+       dev-qt/qtcore:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtxml:5
+       dev-qt/qtnetwork:5
+       dev-qt/qtprintsupport:5
+       media-libs/ladspa-sdk:=
+       x11-libs/libSM:=
+       virtual/jack
+       media-libs/alsa-lib:=
+       >=media-libs/dssi-1.0.0:=
+       media-libs/liblo:=
+       media-libs/liblrdf:=
+       sci-libs/fftw:3.0
+       media-libs/libsamplerate:=
+       media-libs/libsndfile:=
+       sys-libs/zlib:=
+       lirc? ( app-misc/lirc:= )"
+DEPEND="${RDEPEND}
+       dev-qt/qttest:5
+       virtual/pkgconfig"
+
+src_configure() {
+       local mycmakeargs=(
+               "-DDISABLE_LIRC=$(usex lirc OFF ON)"
+       )
+       cmake-utils_src_configure
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       gnome2_icon_cache_update
+       fdo-mime_desktop_database_update
+       fdo-mime_mime_database_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+       fdo-mime_desktop_database_update
+       fdo-mime_mime_database_update
+}

diff --git a/media-sound/timidity++/Manifest b/media-sound/timidity++/Manifest
new file mode 100644
index 0000000..40d0fbd
--- /dev/null
+++ b/media-sound/timidity++/Manifest
@@ -0,0 +1,16 @@
+AUX 50timidity++-gentoo.el 180 SHA256 
a5ca92074ec2b79251bf33a1fb9c4007f528c036f951c6e4fa87311d7acc11a0 SHA512 
21df87bf47d56c1072fc3942f3c988293106028dd0473dd1a03b66edc4e7586a3cf5150abdf3c932e44dc32a97ce9cbaa8016dcb28e5e60195f1fe9418ab3bd6
 WHIRLPOOL 
6b48cab95dc59524d11972ce36e81ac1b3bc13f38a4a45eb9e1098b3c2a47ee300ba82e618edb7f518544477ff5d34de1a47a7fc4bfe1659d5308ef6ae5f1764
+AUX conf.d.timidity.2 972 SHA256 
a3a6fc74fc1353f2c5e7eda51a244fb3212cd5f33b407fe5ce1245ca2757593e SHA512 
67668a6a00408ecc1e467be8f372b78be318e940d75c0fb856fadc5e5446e5d1a461c004856ab851968d6c146e662e766c09da6b815fd14b7675b92b975cabd9
 WHIRLPOOL 
fe67d80414a6b4a88eae3bc3ae35a466f8e66378aa9190b804852d613392ba765d0e02b7743ee890ac37cdcb986fbf1b868c6f1cabf640e66cdd7b91c2b12c2c
+AUX init.d.timidity.4 510 SHA256 
fb7eb433af9fa7e9df6eede45e748a0f42c425d6945f63d9085c8e3c140f4b5f SHA512 
597b79bbeac3c3365cf3b0d6defe7b3f031bf1acbefd33094e76f07394a4d5b21a79ce62c276928fed68de1eb02a30ec1eb8204be6d034d8c2dd92145e82faa3
 WHIRLPOOL 
3fa4980d8036e5953383a9d823c8dc0098b46ebf628731b94471072881cc89106e21344e457c9ca7d7b27786276444611d17df28edd3165416f0434b36199459
+AUX timidity++-2.14.0-ar.patch 822 SHA256 
83008c1c49e712de73d5757da950afb61f576aa40db75b6861e014737a8e50dd SHA512 
b0c26daa94361bc471034431c0632052ceb2a8e001caabfb7e08bd3f401932724981dc2c903132f9319d16038f7bac05843ca8da1112a5a3bab626c88244514b
 WHIRLPOOL 
2bfec4e128f58aa8cc14cce6070d19f79ca014cffd16597eb5fc73ad0970436c4125c016658cb4c694060c0375b5f52d64770ce5db9dc214ac168ab61d0e8424
+AUX timidity++-2.14.0-configure-flags.patch 4241 SHA256 
4f3f9f2b3c652e61726eda54c43a18d32dca5322b996b4e27d8e44f0b202504c SHA512 
be9ca5a580a47af5eb29e180c81b141628692e2cb538113b3ec596e4b800fb6d4792fa4c72921414ba41a8e6932ae655e9b9a1428021333471e2929fdab07b17
 WHIRLPOOL 
ae0316647291b4081290ca491ef544c8bd073c10d344fce92dfe7af5618b58b7f2c1ca72e5e5d57b7ebfd87f82ce418e58bff95d43e4cac545d19deed11a371b
+AUX timidity++-2.14.0-params.patch 712 SHA256 
cf78561c620f55c6dfc21f3650e9d0e55603aa991aef9c2179363bd3d608191f SHA512 
63e2a1be6fec715680230de158d1fb09d5288a068288ac33b37320491ac29ec1c66f60d05ffb352c4a192540163e9c93369115fe606aa25295b727332e92874c
 WHIRLPOOL 
a6de7b97de6282980a2850636fc72a4ca47efc79afabe81417426015126d1e4f2cabbf040ca6b559b924d4ae44fe3ca930fb3a3042d54845d0c0095b0b7371d0
+AUX timidity++-2.14.0-pkg-config.patch 3836 SHA256 
a2daa38a4da6240e76c52c19e02ea5ccca1419ab45950c8df37248c0e5c4dd1c SHA512 
2dba5ca948d31d4498f44f8b4c67d59294e7cf722652b62f9502222867f1c93fa491b9741c049bde7ac976c74e52639bfc359a88e2c7f3728b723e272e40692d
 WHIRLPOOL 
f05b9476760061b7663e3aa12ef187e4466c26abab96d24d7c6f74d5f8b818dbc5cf2d399111e70310be1da74858c65499885ca3dbbf670d741b61cbaac1d498
+AUX timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch 697 
SHA256 1c0c5f672679750289b65bd8bfb42bd6ced489c2b085b2a4024351548499e9b5 SHA512 
d5716b7977f5c013c61da2e9f3e233b17e3b4b95cb14b2e459bae3c69316440be899278b44566a1640d8d82b683811348c22f5e859512c523baee4939bc2a497
 WHIRLPOOL 
58e2ac706564baa1520c586420dd3ac044eb468812d74b35455c0469b36c7c9a6581d5db26c2b2c0ee66f919708f55e1b352de3696ab77ef6ef33a665ff4f504
+AUX timidity++-2.14.0-tcltk86.patch 308 SHA256 
aae1aa02206ffa62e1e48746d59d965ba0d3eec4096c4e7ab70afc2628871505 SHA512 
37e8a97fe1a09382234011ab253443ba9e9be78cdb7bb4dd03ee5756bda8e614bc627a091d10b480a3ef5bca9e3961c2f14e92a548782145d2bb61da991d5f62
 WHIRLPOOL 
2efae14055ce713ee8f5079c5829b8a06e4cfa1af8ddda9ec620d328d00ac53817795ef393f6d661b2f60b859cde3a4d8a14f8773906c497f5069cb09f4a0792
+AUX timidity.cfg-r1 669 SHA256 
50fb27ea57cc225fcb8e8368e8afc130f2bba22d0787ebb6beacd2112550f9ce SHA512 
98f0690bda6deed6022e97e74a6114334d5f965d646d7c7d150ac177f6eb78277e931ed0b4c5613ef16ba648eaad66a3ed72ed933ca936698ca81365151b223b
 WHIRLPOOL 
d2e0e504275c59177b936591c703b5ad1f75e9e00ed0331d3c5a2c720bf6b85f39e4e531b5639f83be74f24144c3dd00b897e51de07d2248c268f342b8b52475
+AUX timidity.desktop.2 257 SHA256 
9e9d89fe6c03067d90d2786f0c41415cfa379b6d8635e1b206fffd7dd68e65aa SHA512 
34312594866d77244d0eb77b4111a8e7998bd20bcb3542b036b1626d73bf4672eef677a926badceaaee517f1d32752b3e3b1ea4d3f2cc0703d66c1c740e0dc2e
 WHIRLPOOL 
8fe3b0df3377c9146399c6b2cad7c9fa497dfae433cd903843caef1eb21ac2bc1b39631d5334ab4bc033e1e3e4525bfaecefe4c8f73b1a32d42b98d2b7fb8a55
+AUX timidity.service 190 SHA256 
e0490abaded5d7a7d6c82e6a61669f486461c1e39c7d64ddd63b056f7b888c2f SHA512 
1022c1e37e2a97fba414673860ec89bc146da208981dd50d9486c525b47c74ae146acef2d75ceec26335c3ab98b2c928ce480a161637990ecd737507a6c21b49
 WHIRLPOOL 
895c0bc5f8a6f0730f4c24fb7a4c68dee6a1e72abf4c9252a912752c047fae22ef14523a6a83d664e5faeb96cc8534d95dde000382519a9fb7f9bd741901964f
+AUX timidity.xpm 1522 SHA256 
4b085a4b8af1648495dccc36bcb7b7637318ffb3e9c2011cc8ac43119a8b4db6 SHA512 
1630fc235e450e5420c598357ad98eed6f04b1d1035fd6284dfeb2e633ce5d80135f89ea593d58b4eac2b9405383787e4d891b9c22ff8b5ac3ece64e9abe7d4e
 WHIRLPOOL 
8d1279dac550131b15639602972861b90e724f5391eefa7f72b3c190681b2e5a081ab2380e3717e94ed0b05b4738bad627021588d872d76ff48ff8e8a142f56a
+DIST TiMidity++-2.14.0.tar.xz 1356476 SHA256 
abf0c8367959e85c9e635b8fbd5183fc27bd380e0ef5e45de4158784538c86fc SHA512 
d8fc06fa36e4dd42de80c61943da4cd9aec5f8aaf31057a9ededa633d2d48e64c4e53391378d82a7a46ffe4f96c756b010ea9727270f80b134ae1f8bad535bd3
 WHIRLPOOL 
0031a0e6519ead34c73ed3383d1d74b91b3e25c257854bd3325d25ec9c00bb55c036936ef4ef162ad13c255fefc4e46b802173e93b7ed575c92cf076ab03929b
+EBUILD timidity++-2.14.0-r3.ebuild 5075 SHA256 
5e1af52a7f6bace1fadc02cb9d3f9749a28de5663e77ff1f478c75cc71fe4805 SHA512 
75bf9bc71cdc0dc4a588f87ead59aa59e0682da2948343e2de372925b6f075d8b91e5ddecd975339439aa6592febed0b8fc2ffd5321a95ee0698a1d43ff0625a
 WHIRLPOOL 
385e1215b5cf2a1139b480dd659c2f191ca816f513c5ae2dacc574ceac6c8982e8d376f3b5593f3d6b430e155991977a12077b3a87bc1576ca514022806de321
+MISC metadata.xml 331 SHA256 
8c8628641af5f30b12e441fd2ec4adf08f9e5a534e95993fdd103a6e6ef2cc20 SHA512 
b4559e92a59ba70b25863304bbdc59225c6ccbf3ee9ab8516db6987a19e8b5b7b6ea95f40c9ff55ed33c194ab174360d5f8fd6bfafa43290bb97a3a2093289e3
 WHIRLPOOL 
a452fd1eede4307554e273fb7ff4eb6f82d368608cf44f54eab986ba7c7777d3fa78d150b5ed936e3f11b3d8c0b70952cbe8c0bdb860955dd054c31d2cf182be

diff --git a/media-sound/timidity++/files/50timidity++-gentoo.el 
b/media-sound/timidity++/files/50timidity++-gentoo.el
new file mode 100644
index 0000000..3f9e35c
--- /dev/null
+++ b/media-sound/timidity++/files/50timidity++-gentoo.el
@@ -0,0 +1,6 @@
+
+;;; timidity++ site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'timidity "timidity" "TiMidity Interface" t)
+(setq timidity-prog-path "/usr/bin/timidity")

diff --git a/media-sound/timidity++/files/conf.d.timidity.2 
b/media-sound/timidity++/files/conf.d.timidity.2
new file mode 100644
index 0000000..0a153ca
--- /dev/null
+++ b/media-sound/timidity++/files/conf.d.timidity.2
@@ -0,0 +1,27 @@
+# TIMIDITY_OPTS
+# Command line arguements to be passed to timidity. -iA is always used
+# Common options:
+# -Os : Output to ALSA pcm device
+# -Oe : Output to esd
+# -On : Output to NAS
+#
+# -B<n>,<m> :  Set number of buffer fragments(n), and buffer size(2^m)
+#
+# -EFreverb=0         : Disable MIDI reverb effect control
+# -EFreverb=1[,level] : Enable MIDI reverb effect control
+#                       `level' is optional to specify reverb level [0..127]
+#                       This effect is only available in stereo
+#                       (default)
+# -EFreverb=2         : Global reverb effect
+
+TIMIDITY_OPTS="-B2,8 -Os -EFreverb=0"
+
+# TIMIDITY_PCM_NAME
+# This option can be used to choose an alternate ALSA pcm device.  This will
+# be most useful for users of the dmix alsa plugin or those with multiple
+# cards.  If you don't know what this is, chances are you want the default.
+
+#TIMIDITY_PCM_NAME="default"
+
+#LADSPA plugins library path
+LADSPA_PATH="/usr/lib/ladspa"

diff --git a/media-sound/timidity++/files/init.d.timidity.4 
b/media-sound/timidity++/files/init.d.timidity.4
new file mode 100644
index 0000000..1863a01
--- /dev/null
+++ b/media-sound/timidity++/files/init.d.timidity.4
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+ 
+depend() {
+       after alsasound esound
+}
+ 
+start() {
+       ebegin "Starting TiMidity++ Virtual Midi Sequencer"
+       test -n "$TIMIDITY_PCM_NAME" && export TIMIDITY_PCM_NAME
+       start-stop-daemon --start --background --chdir /usr/share/timidity \
+       --user timidity --group audio --make-pidfile --pidfile 
/var/run/timidity.pid \
+       --exec /usr/bin/timidity -- -iA ${TIMIDITY_OPTS}
+       eend $?
+}
+ 
+stop() {
+       ebegin "Stopping TiMidity++"
+       start-stop-daemon --stop --quiet --pidfile /var/run/timidity.pid
+       eend $?
+}

diff --git a/media-sound/timidity++/files/timidity++-2.14.0-ar.patch 
b/media-sound/timidity++/files/timidity++-2.14.0-ar.patch
new file mode 100644
index 0000000..5c58cfc
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-ar.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/468176
+
+--- a/configure.in
++++ b/configure.in
+@@ -167,6 +167,7 @@ AC_PROG_CC
+ AC_PROG_GCC_TRADITIONAL
+ AC_PROG_INSTALL
+ AC_PROG_AWK
++AC_CHECK_TOOL([AR], [ar], :)
+ AC_PROG_RANLIB
+ AC_PROG_LN_S
+ CHECK_COMPILER_OPTION(rdynamic)
+--- a/timidity/Makefile.am
++++ b/timidity/Makefile.am
+@@ -417,7 +417,7 @@ calcnewt$(EXEEXT): $(calcnewt_OBJECTS) 
$(calcnewt_DEPENDENCIES)
+       $(LINK) $(calcnewt_LDFLAGS) $(calcnewt_OBJECTS) $(calcnewt_LDADD) 
$(LIBS)
+ timidity$(EXEEXT): $(timidity_OBJECTS) $(timidity_DEPENDENCIES) 
+       @rm -f timidity$(EXEEXT)
+-      ar -cru timidity.exe $(timidity_LDFLAGS) $(timidity_OBJECTS) 
$(timidity_LDADD) 
++      $(AR) -cru timidity.exe $(timidity_LDFLAGS) $(timidity_OBJECTS) 
$(timidity_LDADD) 
+ else
+ calcnewt$(EXEEXT): $(calcnewt_OBJECTS) $(calcnewt_DEPENDENCIES) 
+       @rm -f calcnewt$(EXEEXT)

diff --git 
a/media-sound/timidity++/files/timidity++-2.14.0-configure-flags.patch 
b/media-sound/timidity++/files/timidity++-2.14.0-configure-flags.patch
new file mode 100644
index 0000000..e2e77e4
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-configure-flags.patch
@@ -0,0 +1,140 @@
+do not add -L/-I flags pointing to the paths given by --prefix.
+there's no need and it breaks multilib and cross-compiling.
+
+patch by Mike Frysinger <[email protected]>
+
+--- a/autoconf/libFLAC.m4
++++ b/autoconf/libFLAC.m4
+@@ -25,24 +25,8 @@ AC_ARG_ENABLE(libFLACtest,
+                            [Do not try to compile and run a test libFLAC 
program]),,
+                            [enable_libFLACtest=yes])
+ 
+-  if test "x$libFLAC_libraries" != "x" ; then
+-    LIBFLAC_LIBS="-L$libFLAC_libraries"
+-  elif test "x$libFLAC_prefix" != "x" ; then
+-    LIBFLAC_LIBS="-L$libFLAC_prefix/lib"
+-  elif test "x$prefix" != "xNONE" ; then
+-    LIBFLAC_LIBS="-L$prefix/lib"
+-  fi
+-
+   LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC -lm"
+ 
+-  if test "x$libFLAC_includes" != "x" ; then
+-    LIBFLAC_CFLAGS="-I$libFLAC_includes"
+-  elif test "x$libFLAC_prefix" != "x" ; then
+-    LIBFLAC_CFLAGS="-I$libFLAC_prefix/include"
+-  elif test "$prefix" != "xNONE"; then
+-    LIBFLAC_CFLAGS="-I$prefix/include"
+-  fi
+-
+   AC_MSG_CHECKING(for libFLAC)
+   no_libFLAC=""
+ 
+--- a/autoconf/libOggFLAC.m4
++++ b/autoconf/libOggFLAC.m4
+@@ -25,24 +25,8 @@ AC_ARG_ENABLE(libOggFLACtest,
+                            [Do not try to compile and run a test libOggFLAC 
program]),,
+             [enable_libOggFLACtest=yes])
+ 
+-  if test "x$libOggFLAC_libraries" != "x" ; then
+-    LIBOGGFLAC_LIBS="-L$libOggFLAC_libraries"
+-  elif test "x$libOggFLAC_prefix" != "x" ; then
+-    LIBOGGFLAC_LIBS="-L$libOggFLAC_prefix/lib"
+-  elif test "x$prefix" != "xNONE" ; then
+-    LIBOGGFLAC_LIBS="-L$prefix/lib"
+-  fi
+-
+   LIBOGGFLAC_LIBS="$LIBOGGFLAC_LIBS -lOggFLAC -lFLAC -lm"
+ 
+-  if test "x$libOggFLAC_includes" != "x" ; then
+-    LIBOGGFLAC_CFLAGS="-I$libOggFLAC_includes"
+-  elif test "x$libOggFLAC_prefix" != "x" ; then
+-    LIBOGGFLAC_CFLAGS="-I$libOggFLAC_prefix/include"
+-  elif test "$prefix" != "xNONE"; then
+-    LIBOGGFLAC_CFLAGS="-I$prefix/include"
+-  fi
+-
+   AC_MSG_CHECKING(for libOggFLAC)
+   no_libOggFLAC=""
+ 
+--- a/autoconf/ogg.m4
++++ b/autoconf/ogg.m4
+@@ -26,24 +26,8 @@ AC_ARG_ENABLE(oggtest,
+                            [Do not try to compile and run a test Ogg 
program]),,
+             [enable_oggtest=yes])
+ 
+-  if test "x$ogg_libraries" != "x" ; then
+-    OGG_LIBS="-L$ogg_libraries"
+-  elif test "x$ogg_prefix" != "x" ; then
+-    OGG_LIBS="-L$ogg_prefix/lib"
+-  elif test "x$prefix" != "xNONE" ; then
+-    OGG_LIBS="-L$prefix/lib"
+-  fi
+-
+   OGG_LIBS="$OGG_LIBS -logg"
+ 
+-  if test "x$ogg_includes" != "x" ; then
+-    OGG_CFLAGS="-I$ogg_includes"
+-  elif test "x$ogg_prefix" != "x" ; then
+-    OGG_CFLAGS="-I$ogg_prefix/include"
+-  elif test "x$prefix" != "xNONE"; then
+-    OGG_CFLAGS="-I$prefix/include"
+-  fi
+-
+   AC_MSG_CHECKING(for Ogg)
+   no_ogg=""
+ 
+--- a/autoconf/vorbis.m4
++++ b/autoconf/vorbis.m4
+@@ -27,27 +27,10 @@ AC_ARG_ENABLE(vorbistest,
+                            [Do not try to compile and run a test Vorbis 
program]),
+             , [enable_vorbistest=yes])
+ 
+-  if test "x$vorbis_libraries" != "x" ; then
+-    VORBIS_LIBS="-L$vorbis_libraries"
+-  elif test "x$vorbis_prefix" != "x" ; then
+-    VORBIS_LIBS="-L$vorbis_prefix/lib"
+-  elif test "x$prefix" != "xNONE"; then
+-    VORBIS_LIBS="-L$prefix/lib"
+-  fi
+-
+   VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm"
+   VORBISFILE_LIBS="-lvorbisfile"
+   VORBISENC_LIBS="-lvorbisenc"
+ 
+-  if test "x$vorbis_includes" != "x" ; then
+-    VORBIS_CFLAGS="-I$vorbis_includes"
+-  elif test "x$vorbis_prefix" != "x" ; then
+-    VORBIS_CFLAGS="-I$vorbis_prefix/include"
+-  elif test "x$prefix" != "xNONE"; then
+-    VORBIS_CFLAGS="-I$prefix/include"
+-  fi
+-
+-
+   AC_MSG_CHECKING(for Vorbis)
+   no_vorbis=""
+ 
+--- a/configure.in
++++ b/configure.in
+@@ -91,21 +91,6 @@ else
+   x_config_flag=yes
+ fi
+ 
+-# Checking gcc environment
+-for i in `echo $LIBRARY_PATH|sed -e 's,:, ,g'`; do
+-  LDFLAGS="$LDFLAGS -L${i}"
+-done
+-for i in `echo $C_INCLUDE_PATH|sed -e 's,:, ,g'`; do
+-  CPPFLAGS="$CPPFLAGS -I${i}"
+-done
+-
+-# add $prefix if specified.
+-if test "x$prefix" != xNONE -a "x$prefix" != "x$ac_default_prefix" -a 
"x$prefix" != "x/usr"; then
+-  LDFLAGS="-L$prefix/lib $LDFLAGS"
+-  SHLDFLAGS="-L$prefix/lib $SHLDFLAGS"
+-  CPPFLAGS="-I$prefix/include $CPPFLAGS"
+-fi
+-
+ dnl add --with-includes, --with-libraries
+ AC_ARG_WITH(includes,
+   AS_HELP_STRING([--with-includes=DIR], [Specify include directories (colon 
separated)]),

diff --git a/media-sound/timidity++/files/timidity++-2.14.0-params.patch 
b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
new file mode 100644
index 0000000..d56448b
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
@@ -0,0 +1,22 @@
+--- configure.in
++++ configure.in
+@@ -2245,10 +2245,15 @@
+ 
+ AM_CONDITIONAL(W32READDIR, test "x$W32READDIR" = "xyes")
+ 
+-SET_UNIQ_WORDS(LDFLAGS,$LDFLAGS)
+-SET_UNIQ_WORDS(SHLDFLAGS,$SHLDFLAGS)
+-SET_UNIQ_WORDS(CFLAGS,$EXTRACFLAGS $CFLAGS)
+-SET_UNIQ_WORDS(CPPFLAGS,$CPPFLAGS $EXTRADEFS)
++# These break flags like --param wrt #276433
++# SET_UNIQ_WORDS(LDFLAGS,$LDFLAGS)
++# SET_UNIQ_WORDS(SHLDFLAGS,$SHLDFLAGS)
++# SET_UNIQ_WORDS(CFLAGS,$EXTRACFLAGS $CFLAGS)
++# SET_UNIQ_WORDS(CPPFLAGS,$CPPFLAGS $EXTRADEFS)
++LDFLAGS="$LDFLAGS"
++SHLDFLAGS="$SHLDFLAGS"
++CFLAGS="$EXTRACFLAGS $CFLAGS"
++CPPFLAGS="$CPPFLAGS $EXTRADEFS"
+ 
+ if test "x$oss_device" != x; then
+   AC_DEFINE_UNQUOTED(OSS_DEVICE,"$oss_device", oss device name)

diff --git a/media-sound/timidity++/files/timidity++-2.14.0-pkg-config.patch 
b/media-sound/timidity++/files/timidity++-2.14.0-pkg-config.patch
new file mode 100644
index 0000000..15d6a4e
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-pkg-config.patch
@@ -0,0 +1,109 @@
+use $PKG_CONFIG rather than `pkg-config`
+
+https://bugs.gentoo.org/497362
+get ncurses info via pkg-config while we're at it
+
+patch by Mike Frysinger <[email protected]>
+
+--- a/configure.in
++++ b/configure.in
+@@ -148,6 +148,7 @@ AC_SUBST(xawresdir)
+ 
+ # Checks for programs.
+ AM_PATH_LISPDIR
++PKG_PROG_PKG_CONFIG
+ AC_PROG_CC
+ AC_PROG_GCC_TRADITIONAL
+ AC_PROG_INSTALL
+@@ -1318,8 +1319,8 @@ AC_MSG_CHECKING(enable_audio=jack)
+ if test "x$au_enable_jack" = xyes; then
+   AC_MSG_RESULT(yes)
+   SYSEXTRAS="$SYSEXTRAS jack_a.c"
+-  EXTRALIBS="$EXTRALIBS $(pkg-config --libs jack)"
+-  EXTRADEFS="$EXTRADEFS -DAU_JACK $(pkg-config --cflags jack)"
++  EXTRALIBS="$EXTRALIBS $(${PKG_CONFIG} --libs jack)"
++  EXTRADEFS="$EXTRADEFS -DAU_JACK $(${PKG_CONFIG} --cflags jack)"
+ else
+   AC_MSG_RESULT(no)
+ fi
+@@ -1635,60 +1636,8 @@ dnl ncurses
+ AM_CONDITIONAL(ENABLE_NCURSES, false)
+ CONFIG_INTERFACE(ncurses,NCURSES,n,
+   AS_HELP_STRING([--enable-ncurses], [Enable ncurses interface        
(default is no)]),
+-  [ AC_CHECK_HEADERS(ncurses.h ncurses/curses.h curses.h)
+-
+-dnl #include <ncurses/curses.h> is failure on Plamo Linux 1.3/ncurses 1.9.9e
+-dnl because <ncurses/curses.h> includes <unctrl.h>:
+-dnl /usr/include/ncurses/curses.h:34: unctrl.h: No such file or directory
+-dnl But surely there is unctl.h at /usr/include/ncurses/unctrl.h.
+-dnl configure must check ncurses header with -I/usr/include/ncurses option.
+-
+-  case 
"$ac_cv_header_curses_h$ac_cv_header_ncurses_curses_h$ac_cv_header_ncurses_h" in
+-    *yes*);;
+-    *)        for i in /usr/include /usr/local/include; do
+-        if test -f "$i/ncurses/curses.h" -a -f "$i/ncurses/unctrl.h"; then
+-          AC_MSG_WARN(ncurses test is failure.  Please check config.h and 
common.makefile later)
+-          CPPFLAGS="$CPPFLAGS -I$i/ncurses"
+-          break
+-        fi
+-      done
+-      ;;
+-    esac
+-
+-    AC_CHECK_LIB(ncurses,initscr,lib_curses_opt=-lncurses,
+-      [ dnl checking pdcurses
+-      AC_CHECK_LIB(curses,PDC_set_ctrl_break,
+-          [ lib_curses_opt=-lcurses
+-          AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses)
+-          lib_user32_opt="$lib_user32_test"
+-        ],
+-        [ dnl checking libpdcurses
+-          AC_CHECK_LIB(pdcurses,PDC_set_ctrl_break,
+-          [ lib_curses_opt=-lpdcurses
+-            AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses)
+-            lib_user32_opt="$lib_user32_test"
+-          ],
+-          [ dnl OpenBSD use -lcurses instead of -lncurses.
+-            case "$target" in
+-              *openbsd*)
+-                AC_CHECK_LIB(curses,initscr,lib_curses_opt=-lcurses,
+-                  [ AC_MSG_WARN(ncurses interface is not enabled)
+-                    enable_ncurses=no ])
+-                ;;
+-              *)
+-                if test "x$VCPP" = xyes || test "x$BORLANDC" = xyes || test 
"x$WATCOM_C" = xyes || test "x$DMC" = xyes || test "x$POCC" = xyes; then
+-                  lib_curses_opt=libpdcurses.lib
+-                  AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses)
+-                else
+-                  AC_MSG_WARN(ncurses interface is not enabled)
+-                  enable_ncurses=no
+-                fi
+-                ;;
+-            esac
+-          ])
+-      ],
+-      $lib_user32_test)
+-      ])
++  [ CPPFLAGS="$CPPFLAGS $(${PKG_CONFIG} --cflags ncurses)"
++    lib_curses_opt=$(${PKG_CONFIG} --libs ncurses)
+   ],
+   [ LIBS="$LIBS $lib_curses_opt"
+     case "$target" in
+@@ -1855,7 +1804,7 @@ CONFIG_INTERFACE(xaw,XAW,a,
+     lib_xmu_opt=-lXmu
+     lib_xt_opt=-lXt
+     if test "x$enable_xft" = "xyes" && test "x$have_xaw" != "xno"; then
+-      XFT_CFLAGS="$(pkg-config --cflags xft)";
++      XFT_CFLAGS="$(${PKG_CONFIG} --cflags xft)";
+       EXTRACT_CPPFLAGS(CPPFLAGS,CFLAGS,$XFT_CFLAGS)
+       lib_xft_opt="-lXft";
+     fi
+@@ -1909,7 +1858,7 @@ CONFIG_INTERFACE(xaw,XAW,a,
+       ;;
+     esac
+     if test "x$enable_xft" = "xyes" && test "x$have_xaw" != "xno"; then
+-      XFT_CFLAGS="$(pkg-config --cflags xft)";
++      XFT_CFLAGS="$(${PKG_CONFIG} --cflags xft)";
+       EXTRACT_CPPFLAGS(CPPFLAGS,CFLAGS,$XFT_CFLAGS)
+       a_so_libs="$a_so_libs -lXft";
+     fi

diff --git 
a/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch
 
b/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch
new file mode 100644
index 0000000..a83a7db
--- /dev/null
+++ 
b/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch
@@ -0,0 +1,28 @@
+This will revert part of the commit from:
+
+http://timidity.git.sourceforge.net/git/gitweb.cgi?p=timidity/timidity;a=commit;h=e73b53437dbc1e57e61dd4d0c1407784797b08d9
+
+Because otherwise TiMidity++ simply won't build as per:
+
+../interface/libinterface.a(xskin_c.o): In function `ctl_event':
+xskin_c.c:(.text+0x17c): undefined reference to `ctl_speana_data'
+collect2: error: ld returned 1 exit status
+
+--- interface/xskin_c.c
++++ interface/xskin_c.c
+@@ -228,7 +228,6 @@
+     }
+ }
+ 
+-#if 0
+ static void ctl_speana_data(double *val, int size) {
+ 
+   /* 0 <= val[n] <= (AMP*NCOLOR) */
+@@ -280,7 +279,6 @@
+ 
+   return;
+ }
+-#endif
+ 
+ /*ARGSUSED*/
+ static int ctl_open(int using_stdin, int using_stdout) {

diff --git a/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch 
b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
new file mode 100644
index 0000000..ea2c0ee
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/451296
+
+--- interface/tk_c.c
++++ interface/tk_c.c
+@@ -913,7 +913,7 @@
+       vsnprintf(buf, sizeof(buf), fmt, ap);
+       Tcl_Eval(my_interp, buf);
+       va_end(ap);
+-      return my_interp->result;
++      return Tcl_GetStringResult(my_interp);
+ }
+ 
+ static const char *v_get2(const char *v1, const char *v2)

diff --git a/media-sound/timidity++/files/timidity.cfg-r1 
b/media-sound/timidity++/files/timidity.cfg-r1
new file mode 100644
index 0000000..3923fb2
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.cfg-r1
@@ -0,0 +1,24 @@
+##############################################################################
+#
+# timidity-update core configuration file
+#
+# Easy process:
+#
+#  1.  Change directory to patch directory
+#  2.  Source current/timidity.cfg
+#
+# Current patch set will always be symlinked to current, so make sure that the
+# proper timidity.cfg is in there
+#
+# 
+#  - source /usr/share/timidity
+#  - source ~/.timidity/current
+#  - Make ~/.timidity/current point to the current patch set, or to whatever
+#    the individual user sets
+#  - If ~/.timidity/current isn't found, it will try
+#    /usr/share/timidity/current
+#
+
+dir /usr/share/timidity
+dir ~/.timidity
+source current/timidity.cfg

diff --git a/media-sound/timidity++/files/timidity.desktop.2 
b/media-sound/timidity++/files/timidity.desktop.2
new file mode 100644
index 0000000..00c7f1d
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.desktop.2
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Comment=Software sound renderer (MIDI sequencer, MOD player)
+Name=TiMidity++ MIDI sequencer
+Terminal=true
+NoDisplay=true
+Type=Application
+Exec=timidity %F
+Categories=AudioVideo;Audio;Sequencer;
+Icon=timidity
+MimeType=audio/midi;audio/x-mod;

diff --git a/media-sound/timidity++/files/timidity.service 
b/media-sound/timidity++/files/timidity.service
new file mode 100644
index 0000000..420d888
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=TiMidity++ Daemon
+After=sound.target
+
+[Service]
+EnvironmentFile=-/etc/conf.d/timidity
+ExecStart=/usr/bin/timidity -iA $TIMIDITY_OPTS
+
+[Install]
+WantedBy=multi-user.target

diff --git a/media-sound/timidity++/files/timidity.xpm 
b/media-sound/timidity++/files/timidity.xpm
new file mode 100644
index 0000000..dc56a6d
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.xpm
@@ -0,0 +1,56 @@
+/* XPM */
+static char * timidity_xpm[] = {
+"32 32 21 1",
+"      c None",
+".     c #333399",
+"+     c #000000",
+"@     c #666699",
+"#     c #FFFFFF",
+"$     c #DDDDDD",
+"%     c #888888",
+"&     c #999999",
+"*     c #7777A4",
+"=     c #4949A4",
+"-     c #BBBBBB",
+";     c #111111",
+">     c #444444",
+",     c #2B2B2B",
+"'     c #555555",
+")     c #FF9999",
+"!     c #FF9966",
+"~     c #666666",
+"{     c #333333",
+"]     c #FF0000",
+"^     c #00FF00",
+"      .   ..                    ",
+"      .  ...     +              ",
+"      .  ..@    +#+  +          ",
+"      .@@..    +#$#+%#+         ",
+"      ....@   +#$#$#+$#+        ",
+"      ....   +#$#$#$#+$#+       ",
+"     @...@  +#$#$#$#$#+$#+      ",
+"    @....  +#$#$#$#$#$#+$#+     ",
+"   @...@. %#$#$#$#$#$#$#&$#&    ",
+"  @...@ +++++++$#++$+++++&$++   ",
+"  ...@  ++$++#++$++#++$$++$++$  ",
+" @..@  %++#++$++#++$++$&++$++   ",
+" ...  %#++$++#++$++#++&$++#++   ",
+"*..@  .&++#++$++#++$++++++&++   ",
+"=..  ...&#$#$#$#$#$#&-$#$&      ",
+"=..  ...+++++$++#+$+++++++ ++   ",
+"=..  ..  .&#$#$#$$&-$#&&        ",
+"=..  ..  . +&$#$&+-$#&+         ",
+" ;;;;;;;;;;;;;;;;;;;>;;;;;;;    ",
+",#%%%%%%%%%%%%%%%%%';#%%%%%'+   ",
+",%+++++++++++++++''>;%'''''>+   ",
+",%+#)))))))))))!;''>;%'%~+'>+   ",
+",'+);;!;!!;!!!!!;>>>;'>+++>>+   ",
+",'+)>!!;!!;!;!;!;>>>;'>>>>>>+   ",
+",'+!!!!!!!!!!!!!;>>{;'>%~+>>+   ",
+",'+;;;;;;;;;;;;;'>>{;'>+++>>+   ",
+",'>>>>>>>>>>>>>>>>>{;'>>>>>>+>  ",
+",'%~'>>%~'>>'>'>'>>{;'>%~+>{++> ",
+",']++>>^++>>+>+>+>>{;'>+++>{++>>",
+",'>>>>>>>>>>>>>>{{{';'>>{{{'+>>~",
+" +++++++++++++++++++>+++++++>>~ ",
+"                                "};

diff --git a/media-sound/timidity++/metadata.xml 
b/media-sound/timidity++/metadata.xml
new file mode 100644
index 0000000..99d0e78
--- /dev/null
+++ b/media-sound/timidity++/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Gentoo Sound project</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="sourceforge">timidity</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/media-sound/timidity++/timidity++-2.14.0-r3.ebuild 
b/media-sound/timidity++/timidity++-2.14.0-r3.ebuild
new file mode 100644
index 0000000..5bd7e1a
--- /dev/null
+++ b/media-sound/timidity++/timidity++-2.14.0-r3.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils elisp-common user systemd toolchain-funcs
+
+MY_PV=${PV/_/-}
+MY_P=TiMidity++-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="A handy MIDI to WAV converter with OSS and ALSA output support"
+HOMEPAGE="http://timidity.sourceforge.net/";
+SRC_URI="mirror://sourceforge/timidity/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="motif oss nas X gtk vorbis tk slang alsa jack emacs ao selinux speex 
flac ncurses"
+
+DEPEND="ncurses? ( >=sys-libs/ncurses-5 )
+       emacs? ( virtual/emacs )
+       gtk? ( x11-libs/gtk+:2 )
+       tk? ( >=dev-lang/tk-8.5.13 )
+       nas? ( >=media-libs/nas-1.4 )
+       alsa? ( media-libs/alsa-lib )
+       slang? ( sys-libs/slang )
+       jack? ( virtual/jack )
+       vorbis? ( media-libs/libvorbis )
+       flac? ( media-libs/flac )
+       speex? ( media-libs/speex )
+       ao? ( >=media-libs/libao-0.8.5 )
+       motif? ( >=x11-libs/motif-2.3:0 )
+       X? ( x11-libs/libXaw x11-libs/libXext >=media-libs/libpng-1.4.2 )"
+RDEPEND="${DEPEND}
+       alsa? ( media-sound/alsa-utils )
+       app-eselect/eselect-timidity
+       selinux? ( sec-policy/selinux-timidity )"
+
+PDEPEND="|| ( media-sound/timidity-eawpatches media-sound/timidity-freepats )"
+
+SITEFILE=50${PN}-gentoo.el
+
+pkg_setup() {
+       enewgroup audio 18 # Just make sure it exists
+       enewuser timidity -1 -1 /var/lib/timidity audio
+}
+
+src_prepare() {
+       epatch \
+               "${FILESDIR}"/${P}-params.patch \
+               
"${FILESDIR}"/${P}-revert-for-required-ctl_speana_data-function.patch \
+               "${FILESDIR}"/${P}-tcltk86.patch \
+               "${FILESDIR}"/${P}-ar.patch \
+               "${FILESDIR}"/${P}-configure-flags.patch \
+               "${FILESDIR}"/${P}-pkg-config.patch
+
+       eautoreconf
+}
+
+src_configure() {
+       export EXTRACFLAGS="${CFLAGS}" #385817
+
+       local myconf=()
+       local audios
+
+       use flac && audios+=",flac"
+       use speex && audios+=",speex"
+       use vorbis && audios+=",vorbis"
+       use oss && audios+=",oss"
+       use jack && audios+=",jack"
+       use ao && audios+=",ao"
+
+       if use nas; then
+               audios+=",nas"
+               myconf+=( --with-nas-library="/usr/$(get_libdir)/libaudio.so" 
--with-x )
+               use X || ewarn "Basic X11 support will be enabled because 
required by nas."
+       fi
+
+       if use alsa; then
+               audios+=",alsa"
+               myconf+=( --with-default-output=alsa --enable-alsaseq )
+       fi
+
+       # We disable motif by default and then only enable it if it's requested.
+       if use motif; then
+               myconf+=( --enable-motif --with-x )
+               use X || ewarn "Basic X11 support will be enabled because 
required by motif."
+       fi
+
+       econf \
+               --localstatedir=/var/state/timidity++ \
+               --with-module-dir="${EPREFIX}/usr/share/timidity" \
+               --with-lispdir="${SITELISP}/${PN}" \
+               --with-elf \
+               --enable-audio=${audios} \
+               --enable-server \
+               --enable-network \
+               --enable-dynamic \
+               --enable-vt100 \
+               --enable-spline=cubic \
+               $(use_enable emacs) \
+               $(use_enable slang) \
+               $(use_enable ncurses) \
+               $(use_with X x) \
+               $(use_enable X spectrogram) \
+               $(use_enable X wrd) \
+               $(use_enable X xskin) \
+               $(use_enable X xaw) \
+               $(use_enable gtk) \
+               $(use_enable tk tcltk) \
+               --disable-motif \
+               "${myconf[@]}"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+
+       dodoc AUTHORS ChangeLog*
+       dodoc NEWS README* "${FILESDIR}"/timidity.cfg-r1
+
+       # these are only for the ALSA sequencer mode
+       if use alsa; then
+               newconfd "${FILESDIR}"/conf.d.timidity.2 timidity
+               newinitd "${FILESDIR}"/init.d.timidity.4 timidity
+
+               systemd_dounit "${FILESDIR}"/timidity.service
+       fi
+
+       insinto /etc
+       newins "${FILESDIR}"/timidity.cfg-r1 timidity.cfg
+
+       dodir /usr/share/timidity
+       dosym /etc/timidity.cfg /usr/share/timidity/timidity.cfg
+
+       if use emacs; then
+               elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+       fi
+
+       diropts -o timidity -g nobody -m 0700
+       keepdir /var/lib/timidity
+
+       doicon "${FILESDIR}"/timidity.xpm
+       newmenu "${FILESDIR}"/timidity.desktop.2 timidity.desktop
+
+       # Order of preference: gtk, X (Xaw), ncurses, slang
+       # Do not create menu item for terminal ones
+       local interface="-id"
+       local terminal="true"
+       local nodisplay="true"
+       if use gtk || use X; then
+               interface="-ia"
+               terminal="false"
+               nodisplay="false"
+               use gtk && interface="-ig"
+       elif use ncurses || use slang; then
+               local interface="-is"
+               use ncurses && interface="-in"
+       fi
+       sed -e "s/Exec=timidity/Exec=timidity ${interface}/" \
+               -e "s/Terminal=.*/Terminal=${terminal}/" \
+               -e "s/NoDisplay=.*/NoDisplay=${nodisplay}/" \
+               -i "${D}"/usr/share/applications/timidity.desktop || die
+}
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+
+       elog "A timidity config file has been installed in /etc/timidity.cfg."
+       elog "Do not edit this file as it will interfere with the eselect 
timidity tool."
+       elog "The tool 'eselect timidity' can be used to switch between 
installed patchsets."
+
+       if use alsa; then
+               elog "An init script for the alsa timidity sequencer has been 
installed."
+               elog "If you wish to use the timidity virtual sequencer, edit 
/etc/conf.d/timidity"
+               elog "and run 'rc-update add timidity <runlevel> && 
/etc/init.d/timidity start'"
+       fi
+
+       if use sparc; then
+               elog "Only saving to wave file and ALSA soundback has been 
tested working."
+       fi
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+}

Reply via email to