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=">=media-gfx/blender-2.77" type="person"> + <email>[email protected]</email> + <name>Jonathan Scruggs</name> + </maintainer> + <maintainer restrict=">=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=">=media-gfx/blender-2.50"> + Adds Game Engine support to Blender. + </flag> + <flag name="headless" restrict=">=media-gfx/blender-2.77"> + Build without graphical support (renderfarm, server mode only). + </flag> + <flag name="jemalloc" restrict=">=media-gfx/blender-2.77"> + Use <pkg>dev-libs/jemalloc</pkg> for memory allocation. + </flag> + <flag name="llvm" restrict=">=media-gfx/blender-2.77"> + Enable features depending on llvm. + </flag> + <flag name="man" restrict=">=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="<=media-gfx/blender-2.73"> + Enable use of Open Numerical Library + </flag> + <flag name="opensubdiv" restrict=">=media-gfx/blender-2.77"> + Add rendering support form OpenSubdiv from Dreamworks Animation + through <pkg>media-libs/opensubdiv</pkg>. + </flag> + <flag name="openvdb" restrict=">=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="<=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=">=media-gfx/blender-2.77"> + Build the provided unit tests. + </flag> + <flag name="valgrind" restrict=">=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 +}
