diff options
author | Miroslav Šulc <fordfrog@gentoo.org> | 2022-07-01 11:37:57 +0200 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2022-07-01 11:38:11 +0200 |
commit | 00926829aaa9dbaef29f922a7a64ac9fbb87632a (patch) | |
tree | 07da547efa3fb2e0b156327ee1c1019b9c3d2989 /media-sound/csound/csound-6.17.0.ebuild | |
parent | media-sound/csound: dropped obsolete 6.16.1 (diff) | |
download | gentoo-00926829aaa9dbaef29f922a7a64ac9fbb87632a.tar.gz gentoo-00926829aaa9dbaef29f922a7a64ac9fbb87632a.tar.bz2 gentoo-00926829aaa9dbaef29f922a7a64ac9fbb87632a.zip |
media-sound/csound: bump to 6.17.0, eapi8, added python 3.10 & 3.11, updated live
Bug: https://bugs.gentoo.org/855431
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'media-sound/csound/csound-6.17.0.ebuild')
-rw-r--r-- | media-sound/csound/csound-6.17.0.ebuild | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/media-sound/csound/csound-6.17.0.ebuild b/media-sound/csound/csound-6.17.0.ebuild new file mode 100644 index 000000000000..6e52221543fd --- /dev/null +++ b/media-sound/csound/csound-6.17.0.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# As upstream (and we aswell) are not allowed to redistribute scansyn, +# we have to repackage the tarball. For that purpose use `bash files/repackage.sh version` +# Reference: https://github.com/csound/csound/issues/1148 + +EAPI=8 + +LUA_COMPAT=( lua5-1 luajit ) +PYTHON_COMPAT=( python3_{8..11} ) + +inherit cmake lua-single python-single-r1 + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/csound/csound.git" + inherit git-r3 +else + DOC_P="Csound${PV}" + SRC_URI="https://dev.gentoo.org/~fordfrog/distfiles/${P}-distributable.tar.xz + doc? ( + https://github.com/csound/csound/releases/download/${PV}/${DOC_P}_manual_pdf.zip + https://github.com/csound/csound/releases/download/${PV}/${DOC_P}_manual_html.zip + )" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Sound design and signal processing system for composition and performance" +HOMEPAGE="https://csound.github.io/" + +LICENSE="LGPL-2.1 doc? ( FDL-1.2+ )" +SLOT="0" +IUSE="+alsa beats curl +cxx debug doc double-precision dssi examples jack java lua nls osc portaudio +portaudio portmidi pulseaudio samples static-libs test +threads +utils vim-syntax" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + alsa? ( threads ) + java? ( cxx ) + lua? ( ${LUA_REQUIRED_USE} cxx ) +" + +BDEPEND=" + sys-devel/bison + sys-devel/flex + virtual/yacc + doc? ( media-libs/libpng ) + lua? ( dev-lang/swig ) + nls? ( sys-devel/gettext ) + test? ( + dev-util/cunit + ${PYTHON_DEPS} + ) +" +CDEPEND=" + dev-cpp/eigen:3 + media-libs/libsndfile + media-libs/libsamplerate + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + curl? ( net-misc/curl ) + dssi? ( + media-libs/dssi + media-libs/ladspa-sdk + ) + jack? ( virtual/jack ) + java? ( >=virtual/jdk-1.8:* ) + lua? ( ${LUA_DEPS} ) + osc? ( media-libs/liblo ) + portaudio? ( media-libs/portaudio ) + portmidi? ( media-libs/portmidi ) + pulseaudio? ( media-sound/pulseaudio ) + utils? ( !media-sound/snd ) +" +RDEPEND=" + ${CDEPEND} + ${PYTHON_DEPS} +" +DEPEND=" + ${CDEPEND} + dev-libs/boost +" + +if [[ ${PV} != "9999" ]]; then + DEPEND+="doc? ( app-arch/unzip )" +fi + +# requires specific alsa settings +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-6.13.0-xdg-open.patch" +) + +pkg_setup() { + use lua && lua-single_pkg_setup + + python-single-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + sed -e '/set(PLUGIN_INSTALL_DIR/s/-${APIVERSION}//' \ + -e '/-O3/d' \ + -i CMakeLists.txt || die + + if use doc; then + local png="${WORKDIR}/html/images/delayk.png" + pngfix -q --out=${png/.png/fixed.png} ${png} # see pngfix help for exit codes + [[ $? -gt 15 ]] && die "Failed to fix ${png}" + mv -f ${png/.png/fixed.png} ${png} || die + fi +} + +src_configure() { + local mycmakeargs=( + -DBUILD_BELA=OFF + -DBUILD_CSBEATS=$(usex beats) + -DBUILD_CXX_INTERFACE=$(usex cxx) + -DBUILD_DEPRECATED_OPCODES=ON + -DBUILD_DSSI_OPCODES=$(usex dssi) + -DBUILD_INSTALLER=OFF + -DBUILD_JAVA_INTERFACE=$(usex java) + -DBUILD_LUA_INTERFACE=$(usex lua) + -DBUILD_MULTI_CORE=$(usex threads) + -DBUILD_OSC_OPCODES=$(usex osc) + -DBUILD_PADSYNTH_OPCODES=ON + -DBUILD_RELEASE=ON + -DBUILD_SCANSYN_OPCODES=OFF # this is not allowed to be redistributed: https://github.com/csound/csound/issues/1148 + -DBUILD_STATIC_LIBRARY=$(usex static-libs "ON" $(usex test)) + -DBUILD_TESTS=$(usex test) + -DBUILD_UTILITIES=$(usex utils) + + -DFAIL_MISSING=ON + -DNEW_PARSER_DEBUG=$(usex debug) + -DREQUIRE_PTHREADS=$(usex threads) + + -DUSE_ALSA=$(usex alsa) + -DUSE_ATOMIC_BUILTIN=ON + -DUSE_COMPILER_OPTIMIZATIONS=ON + -DUSE_CURL=$(usex curl) + -DUSE_DOUBLE=$(usex double-precision) + -DUSE_GETTEXT=$(usex nls) + -DUSE_GIT_COMMIT=ON + -DUSE_IPMIDI=ON + -DUSE_JACK=$(usex jack) + -DUSE_LIB64=$([[ $(get_libdir) == "lib64" ]] && echo "ON" || echo "OFF") + -DUSE_LRINT=ON + -DUSE_PORTAUDIO=$(usex portaudio) + -DUSE_PORTMIDI=$(usex portmidi) + -DUSE_PULSEAUDIO=$(usex pulseaudio) + -DUSE_VCPKG=OFF + ) + + use java && mycmakeargs+=( + -DJAVA_HOME="$(java-config -g JAVA_HOME)" + ) + + use lua && mycmakeargs+=( + -DLUA_H_PATH="$(lua_get_include_dir)" + -DLUA_LIBRARY="$(lua_get_shared_lib)" + # LUA_MODULE_INSTALL_DIR omitted on purpose, csound Lua module links against liblua + # so it must NOT be installed into cmod_dir. + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + dodoc -r Release_Notes/. + + # generate env.d file + cat > "${T}"/62${PN} <<-_EOF_ || die + OPCODEDIR$(usex double-precision 64 '')="${EPREFIX}/usr/$(get_libdir)/${PN}/plugins$(usex double-precision 64 '')" + CSSTRNGS="${EPREFIX}/usr/share/locale" + _EOF_ + doenvd "${T}"/62${PN} + + if use examples ; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi + + use samples && dodoc -r samples + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/syntax + doins installer/misc/vim/csound_{csd,orc,sco}.vim + insinto /usr/share/vim/vimfiles/plugin + doins installer/misc/vim/csound.vim + fi + + # rename extract to csound_extract (bug #247394) + mv "${ED}"/usr/bin/{,csound_}extract || die + + python_optimize + + use java && (dosym lib_jcsound6.so usr/lib64/lib_jcsound.so.1 || die "Failed to create java lib symlink") + + # install docs + if [[ ${PV} != "9999" ]] && use doc ; then + dodoc "${WORKDIR}"/*.pdf + dodoc -r "${WORKDIR}"/html + fi +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog + elog "The extract tool is now installed as csound_extract" + elog "due to collisions with many other packages (bug #247394)." + elog + fi +} |