Files
guru/media-sound/bespokesynth/bespokesynth-1.2.1.ebuild
Paul Zander 225ed42794 Revert "Closes: https://bugs.gentoo.org/975315"
This reverts commit e0b51e7376.

Broken commit message due to incorrect title.

Not a permanent fix, so please don't close the bug, but use `Bug: <url>`
to reference it.

Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
2026-05-18 12:47:41 +02:00

115 lines
4.3 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop xdg
DESCRIPTION="Software modular synth"
HOMEPAGE="https://www.bespokesynth.com/"
SRC_URI="https://github.com/BespokeSynth/BespokeSynth/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
JUCE_COMMIT="2a27ebcfae7ca7f6eb62b29d5f002ceefdaadbdb"
SRC_URI+=" https://github.com/juce-framework/JUCE/archive/${JUCE_COMMIT}.tar.gz -> ${PN}-JUCE-${JUCE_COMMIT}.tar.gz"
READERWRITER_COMMIT="8e7627d18c2108aca178888d88514179899a044f"
SRC_URI+=" https://github.com/cameron314/readerwriterqueue/archive/${READERWRITER_COMMIT}.tar.gz -> ${PN}-readerwriterqueue-${READERWRITER_COMMIT}.tar.gz"
TUNINGLIBRARY_COMMIT="eb8617be49ac3c2436cf54de6bff94a1b1c94acf"
SRC_URI+=" https://github.com/surge-synthesizer/tuning-library/archive/${TUNINGLIBRARY_COMMIT}.tar.gz -> ${PN}-tuning-library-${TUNINGLIBRARY_COMMIT}.tar.gz"
ABLETON_COMMIT="a4e4c2f3e598e28e5bea90002f954b997b8c8c53"
SRC_URI+=" https://github.com/Ableton/link/archive/${ABLETON_COMMIT}.tar.gz -> ${PN}-ableton-link-${ABLETON_COMMIT}.tar.gz"
ODDSOUND_COMMIT="fcfaa59a043d515d288c9d587bf61a0a7d7571a8"
SRC_URI+=" https://github.com/ODDSound/MTS-ESP/archive/${ODDSOUND_COMMIT}.tar.gz -> ${PN}-oddsound-mts-${ODDSOUND_COMMIT}.tar.gz"
ASIO_COMMIT="c465349fa5cd91a64bb369f5131ceacab2c0c1c3"
SRC_URI+=" https://github.com/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> ${PN}-asio-${ASIO_COMMIT}.tar.gz"
S="${WORKDIR}/BespokeSynth-${PV}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
dev-python/pybind11
dev-libs/jsoncpp
dev-cpp/asio
>=virtual/jack-2
x11-libs/libX11
x11-libs/libXrandr
"
PATCHES=(
"${FILESDIR}/${P}-find-jsoncpp.patch"
)
src_prepare() {
rmdir "${S}/libs/JUCE" || die
mv "${WORKDIR}/JUCE-${JUCE_COMMIT}" "${S}/libs/JUCE" || die
rmdir "${S}/libs/readerwriterqueue" || die
mv "${WORKDIR}/readerwriterqueue-${READERWRITER_COMMIT}" "${S}/libs/readerwriterqueue" || die
rmdir "${S}/libs/pybind11" || die
#mv "${WORKDIR}/JUCE-${JUCE_COMMIT}" "${S}/libs/JUCE" || die
rmdir "${S}/libs/tuning-library" || die
mv "${WORKDIR}/tuning-library-${TUNINGLIBRARY_COMMIT}" "${S}/libs/tuning-library" || die
rmdir "${S}/libs/ableton-link" || die
mv "${WORKDIR}/link-${ABLETON_COMMIT}" "${S}/libs/ableton-link" || die
# patching out build dependency for dev-cpp/asio
#TODO: couldn't figure out how to have ableton-link build without asio-standalone.
# It doesn't want to use 'dev-cpp/asio' it seems.
# eapply "${FILESDIR}/ableton-link-dependencies.patch"
rmdir "${S}/libs/ableton-link/modules/asio-standalone" || die
mv "${WORKDIR}/asio-${ASIO_COMMIT}" "${S}/libs/ableton-link/modules/asio-standalone" || die
rmdir "${S}/libs/oddsound-mts/MTS-ESP" || die
mv "${WORKDIR}/MTS-ESP-${ODDSOUND_COMMIT}" "${S}/libs/oddsound-mts/MTS-ESP" || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
"-DBESPOKE_SYSTEM_PYBIND11=TRUE"
"-DBESPOKE_SYSTEM_JSONCPP=TRUE"
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_INSTALL_PREFIX=/usr"
"-DCMAKE_SKIP_RPATH=ON"
)
cmake_src_configure
}
src_install() {
DESTDIR="/usr/share/BespokeSynth"
# Install libraries
dolib.so "${WORKDIR}/BespokeSynth-${PV}_build/libs/freeverb/libfreeverb.so"
dolib.so "${WORKDIR}/BespokeSynth-${PV}_build/libs/oddsound-mts/liboddsound-mts.so"
dolib.so "${WORKDIR}/BespokeSynth-${PV}_build/libs/psmove/libpsmove.so"
dolib.so "${WORKDIR}/BespokeSynth-${PV}_build/libs/push2/libpush2.so"
dolib.so "${WORKDIR}/BespokeSynth-${PV}_build/libs/xwax/libxwax.so"
dolib.so "${WORKDIR}/BespokeSynth-${PV}_build/libs/nanovg/libnanovg.so"
# Create a new directory for bespoke to live in
dodir ${DESTDIR}
into ${DESTDIR}
# It seems the executable really wants to be where the resource directory is.
dobin "${WORKDIR}/BespokeSynth-${PV}_build/Source/BespokeSynth_artefacts/RelWithDebInfo/BespokeSynth"
# Install auxilary files
insinto /usr/share/BespokeSynth
doins -r "${WORKDIR}/BespokeSynth-${PV}_build/Source/BespokeSynth_artefacts/RelWithDebInfo/resource"
dosym -r ${DESTDIR}/bin/BespokeSynth /usr/bin/BespokeSynth
# Adding icon and desktop settings
doicon -s 512 "${WORKDIR}/BespokeSynth-${PV}/bespoke_icon.png"
domenu "${WORKDIR}/BespokeSynth-${PV}/scripts/installer_linux/BespokeSynth.desktop"
}
pkg_postinst() {
xdg_icon_cache_update
}
pkg_postrm() {
xdg_icon_cache_update
}