media-sound/csound-{6.13.0,9999}: bump + more fixes
authorMiroslav Šulc <fordfrog@gentoo.org>
Sun, 15 Dec 2019 20:15:42 +0000 (21:15 +0100)
committerMiroslav Šulc <fordfrog@gentoo.org>
Sun, 15 Dec 2019 20:15:57 +0000 (21:15 +0100)
1) bumped to 6.13.0
2) updated SRC_URI to repackaged csound
3) 9999 - replaced package name in patch name with variable
4) disabled Apple specific cmake flags
5) fixed typo in files/repackage.sh

Closes: https://bugs.gentoo.org/700298
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
media-sound/csound/Manifest
media-sound/csound/csound-6.13.0.ebuild [new file with mode: 0644]
media-sound/csound/csound-9999.ebuild
media-sound/csound/files/repackage.sh

index 1fd37912a5658738292490d30fd154e2d9c4f288..3a3c34187d4511c3b095a93bb26be97aa8c43bc1 100644 (file)
@@ -1,3 +1,6 @@
 DIST Csound6.10.0_manual_html.zip 15944722 BLAKE2B dfb2d00650e8d9ff650c60a5601b63446d0ce6d94eeac54812752039ef1b7c8c161a7694cb3381453f86759a810b81754e99cf5c8805cee61171c24a615114ab SHA512 f61f46705607eb39897fd3b27353fb233acd9da5e00a2b64d63116f74b889f2daafa72d48ed7c5ec1890e32d81331f91455861f2cb3fad3d13b7d27ec203357a
 DIST Csound6.10.0_manual_pdf.zip 8687461 BLAKE2B ff738378e10ce7e3fd9ab44bed67fdbf4a1de62d89d738a35fd46f25996d85dd8e97260af31bb2fbfe199aecd3f16f0adb5bf94d9a15807d6424002d7ab9682c SHA512 cf6ec335782032fb0703a3042c0222316cd215eba2be242e65d4f1ae23d886177620c96cc63c1aace43a72c1d6258a88612c1ffd5ef0e43675729bae39969fa1
+DIST Csound6.13.0_manual_html.zip 16436055 BLAKE2B 4ac6d24442cbb09f97f73167df84143df84045a077d3863564bab803e8c9e00c0ca506cff4a37d7aced54817cf95b2c0c6bed1b5ea744e2d11baef08c71f23ab SHA512 87de3efc9aba736751d5bd93bb7bb9d47a3fc4c2e9df4552c9c1f3030f84e1aa29fa421f5360a22993cf0f6f7baae1d70bfb54201e5110f44f5a8c81d955deb5
+DIST Csound6.13.0_manual_pdf.zip 8846303 BLAKE2B f60becbe2df925d3d2db755d0ddf806507c6f8355d5ceb97a5e0ce971a0ee0ba19c44bbd018e41437036d9553db7fe8c44fea875bf36ef752ce5c26467ff3a82 SHA512 30a55ec2c3ab0e243ac48a081954bea1f8fa653d25c908383c49a879972b94ba2ce7c3b3b0701be18ace28dc7fd199597d889fa1f9e5aca478792b835909c8fa
 DIST csound-6.10.0.tar.gz 42036496 BLAKE2B 4305eb2aedb076f4a4079e1353f05f9ffe6159311fe905a11998f80eab9ccbbfe57c0601b94762480c486f8edbe0aa0f9b20d18f4db8f9f49d6466a7b2ef4697 SHA512 1ccf0a2d5273da016ec585e788e4af0b91f55c3be081a51c53dc39b0fbcfba0cf1308828784a1e5dfc39250dedbd3f4b48afbb5c4140c11fd469ca6753702ed4
+DIST csound-6.13.0-distributable.tar.xz 20831668 BLAKE2B efefbb0d2a6532f087a940677dacce41b31be30bd10256300826f92516dddfadf6679f767e23655a0e35d09626ed11b03a13e22b88f378422f6d5a0f7856a566 SHA512 b8bedc893fed678b40d2d9ffa376b4d7557612e63c389145e6292cec4c1e847f6b86184d13b11392980eedfd215f0e08cdc234b2803e389f7387a009d83a3b40
diff --git a/media-sound/csound/csound-6.13.0.ebuild b/media-sound/csound/csound-6.13.0.ebuild
new file mode 100644 (file)
index 0000000..fc72394
--- /dev/null
@@ -0,0 +1,274 @@
+# Copyright 1999-2019 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=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils python-single-r1 toolchain-funcs
+
+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"
+# java doesn't work atm as it needs to have some variables specified to work, see src_configure
+# mp3 doesnt work as media-sound/lame does not install cmake file
+IUSE="+alsa beats chua curl +cxx debug doc double-precision dssi examples
+fltk +fluidsynth +image jack keyboard linear lua luajit nls osc portaudio
+portaudio portmidi pulseaudio python samples static-libs stk test +threads +utils
+vim-syntax websocket"
+
+REQUIRED_USE="
+       linear? ( double-precision )
+       lua? ( cxx )
+       python? ( ${PYTHON_REQUIRED_USE} cxx )
+"
+#      java? ( cxx )
+
+BDEPEND="
+       sys-devel/flex
+       virtual/yacc
+       chua? ( dev-libs/boost )
+       python? ( dev-lang/swig )
+       nls? ( sys-devel/gettext )
+       test? (
+               dev-util/cunit
+               ${PYTHON_DEPS}
+       )
+"
+# linear currently works only with sci-mathematics-gmm-5.1
+#   https://github.com/csound/csound/issues/920
+# currently not used deps due to some issues
+#      java? ( virtual/jdk:* )
+#      mp3? ( media-sound/lame )
+CDEPEND="
+       dev-cpp/eigen:3
+       >=media-libs/libsndfile-1.0.16
+       media-libs/libsamplerate
+       sys-libs/zlib
+       alsa? ( media-libs/alsa-lib )
+       curl? ( net-misc/curl )
+       dssi? (
+               media-libs/dssi
+               media-libs/ladspa-sdk
+       )
+       fluidsynth? ( media-sound/fluidsynth:= )
+       fltk? ( x11-libs/fltk:1[threads?] )
+       image? ( media-libs/libpng:0= )
+       jack? ( virtual/jack )
+       keyboard? ( x11-libs/fltk:1[threads?] )
+       linear? ( =sci-mathematics/gmm-5.1* )
+       lua? (
+               luajit? ( dev-lang/luajit:2 )
+               !luajit? ( dev-lang/lua:0 )
+       )
+       osc? ( media-libs/liblo )
+       portaudio? ( media-libs/portaudio )
+       portmidi? ( media-libs/portmidi )
+       pulseaudio? ( media-sound/pulseaudio )
+       python? ( ${PYTHON_DEPS} )
+       stk? ( media-libs/stk )
+       utils? ( !media-sound/snd )
+       websocket? ( net-libs/libwebsockets:= )
+"
+RDEPEND="${CDEPEND}"
+DEPEND="
+       ${CDEPEND}
+       dev-libs/boost
+"
+
+if [[ ${PV} != "9999" ]]; then
+       DEPEND+="doc? ( app-arch/unzip )"
+fi
+
+# requires specific alsa settings
+RESTRICT="test"
+
+PATCHES=(
+       "${FILESDIR}/${P}-xdg-open.patch"
+)
+
+pkg_setup() {
+       if use python || use test ; then
+               python-single-r1_pkg_setup
+       fi
+}
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       sed -e '/set(PLUGIN_INSTALL_DIR/s/-${APIVERSION}//' \
+               -e '/-O3/d' \
+               -i CMakeLists.txt || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               #-DBUILD_BELA=OFF
+               #-DBUILD_BUCHLA_OPCODES=ON
+               -DBUILD_CHUA_OPCODES=$(usex chua)
+               -DBUILD_CSBEATS=$(usex beats)
+               #-DBUILD_CUDA_OPCODES=OFF
+               -DBUILD_CXX_INTERFACE=$(usex cxx)
+               -DBUILD_DSSI_OPCODES=$(usex dssi)
+               #-DBUILD_EMUGENS_OPCODES=ON
+               #-DBUILD_EXCITER_OPCODES=ON
+               -DBUILD_FAUST_OPCODES=OFF
+               -DBUILD_FLUID_OPCODES=$(usex fluidsynth)
+               #-DBUILD_FRAMEBUFFER_OPCODES=ON
+               #-DBUILD_HDF5_OPCODES=ON
+               -DBUILD_IMAGE_OPCODES=$(usex image)
+               -DBUILD_JACK_OPCODES=$(usex jack)
+               -DBUILD_JAVA_INTERFACE=OFF
+               -DBUILD_LINEAR_ALGEBRA_OPCODES=$(usex linear)
+               -DBUILD_LUA_INTERFACE=$(usex lua)
+               -DBUILD_MP3OUT_OPCODE=OFF
+               -DBUILD_MULTI_CORE=$(usex threads)
+               #-DBUULD_OPENCL_OPCODES=OFF
+               -DBUILD_OSC_OPCODES=$(usex osc)
+               -DBUILD_P5GLOVE_OPCODES=OFF
+               #-DBUILD_PADSYNTH_OPCODES=ON
+               #-DBUILD_PLATEREV_OPCODES=ON
+               #-DBUILD_PVSGENDY_OPCODE=OFF
+               -DBUILD_PYTHON_INTERFACE=$(usex python)
+               -DBUILD_PYTHON_OPCODES=$(usex python)
+               -DBUILD_RELEASE=ON
+               -DBUILD_SCANSYN_OPCODES=OFF # this is not allowed to be redistributed: https://github.com/csound/csound/issues/1148
+               #-DBUILD_SELECT_OPCODE=ON
+               #-DBUILD_SERIAL_OPCODES=ON
+               -DBUILD_SHARED_LIBS=ON
+               #-DBUILD_STACK_OPCODES=ON
+               -DBUILD_STATIC_LIBRARY=$(usex static-libs)
+               -DBUILD_STATIC_LIBRARY=$(usex test)
+               -DBUILD_STK_OPCODES=$(usex stk)
+               -DBUILD_TESTS=$(usex test)
+               -DBUILD_UTILITIES=$(usex utils)
+               -DBUILD_VIRTUAL_KEYBOARD=$(usex keyboard)
+               #-DBUILD_VST4CS_OPCODES=OFF
+               -DBUILD_WEBSOCKET_OPCODE=$(usex websocket)
+               -DBUILD_WIIMOTE_OPCODES=OFF
+               -DBUILD_WINSOUND=OFF
+
+               -DFAIL_MISSING=ON
+               -DNEED_PORTTIME=OFF
+               -DNEW_PARSER_DEBUG=$(usex debug)
+
+               -DUSE_ALSA=$(usex alsa)
+               #-DUSE_ATOMIC_BUILTIN=ON
+               -DUSE_AUDIOUNIT=OFF # Apple specific
+               #-DUSE_COMPILER_OPTIMIZATIONS=ON
+               -DUSE_COREMIDI=OFF # Apple specific
+               -DUSE_CURL=$(usex curl)
+               -DUSE_DOUBLE=$(usex double-precision)
+               -DUSE_FLTK=$(usex fltk)
+               -DUSE_GETTEXT=$(usex nls)
+               -DUSE_GIT_COMMIT=ON
+               #_DUSE_IPMIDI=ON
+               #-DUSE_LRINT=ON
+               -DUSE_JACK=$(usex jack)
+               -DUSE_PORTAUDIO=$(usex portaudio)
+               -DUSE_PORTMIDI=$(usex portmidi)
+               -DUSE_PULSEAUDIO=$(usex pulseaudio)
+
+       )
+
+       #use java && mycmakeargs+=(
+               #-DJAVA_INCLUDE_PATH="${JAVA_HOME}/include"
+               #-DJAVA_AWT_LIBRARY="?"
+               #-DJAVA_JVM_LIBRARY="?"
+               #-DJAVA_INCLUDE_PATH2="?"
+               #-DJAVA_AWT_INCLUDE_PATH="?"
+       #)
+
+       # set the library that we want to use
+       if use lua ; then
+               local package
+
+               if use luajit ; then
+                       package="luajit"
+               else
+                       package="lua"
+               fi
+
+               mycmakeargs+=(
+                       -DLUA_LIBRARY="$(pkg-config --variable=libdir ${package})/lib$(pkg-config --variable=libname ${package}).so"
+               )
+       fi
+
+       use python && mycmakeargs+=(
+               -DPYTHON_MODULE_INSTALL_DIR="$(python_get_sitedir)"
+       )
+
+       # this is needed, otherwise it sets LIBRARY INSTALL DIR: lib
+       [[ $(get_libdir) == "lib64" ]] && mycmakeargs+=(
+               -DUSE_LIB64=ON
+       )
+
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_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_
+       if use stk ; then
+               echo RAWWAVE_PATH=\"${EPREFIX}/usr/share/csound/rawwaves\" >> "${T}"/62${PN} || die
+       fi
+       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
+
+       use python && python_optimize
+
+       # 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
+}
index 04aea31ab2b1d1c5f1ed76c6a7204ea286f1dbf3..84567ca2d8d88845dcdb1716d86af44a646080a9 100644 (file)
@@ -15,7 +15,7 @@ if [[ ${PV} == "9999" ]]; then
        inherit git-r3
 else
        DOC_P="Csound${PV}"
-       SRC_URI="https://github.com/csound/csound/archive/${PV}.tar.gz -> ${P}.tar.gz
+       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
@@ -102,7 +102,7 @@ fi
 RESTRICT="test"
 
 PATCHES=(
-       "${FILESDIR}/csound-6.13.0-xdg-open.patch"
+       "${FILESDIR}/${PN}-6.13.0-xdg-open.patch"
 )
 
 pkg_setup() {
@@ -172,9 +172,9 @@ src_configure() {
 
                -DUSE_ALSA=$(usex alsa)
                #-DUSE_ATOMIC_BUILTIN=ON
-               #-DUSE_AUDIOUNIT=ON
+               -DUSE_AUDIOUNIT=OFF # Apple specific
                #-DUSE_COMPILER_OPTIMIZATIONS=ON
-               #-DUSE_COREMIDI=ON
+               -DUSE_COREMIDI=OFF # Apple specific
                -DUSE_CURL=$(usex curl)
                -DUSE_DOUBLE=$(usex double-precision)
                -DUSE_FLTK=$(usex fltk)
index 39b8068b93039b4363a9912c346b36dc390f805e..fea97d24a46f533cd8530c001ee2fae0dc458aa7 100644 (file)
@@ -21,7 +21,7 @@ echo -e "Removing undistibutable files\n"
 rm -f csound-${VERSION}/Opcodes/scansyn*
 
 echo -e "Creating distributable tarball\n"
-tar -acf csound-${VERSION}-distibutable.tar.xz csound-${VERSION}
+tar -acf csound-${VERSION}-distributable.tar.xz csound-${VERSION}
 
 echo -e "Cleaning up\n"
 rm -rf csound-${VERSION} ${VERSION}.tar.gz