diff --git a/media-plugins/calf/Manifest b/media-plugins/calf/Manifest index 1f01207445a73..8fe2e96e6757f 100644 --- a/media-plugins/calf/Manifest +++ b/media-plugins/calf/Manifest @@ -1,2 +1,3 @@ DIST calf-0.90.4.tar.gz 16119716 BLAKE2B 555a813c6e8d58ea67db349957d2673e614448e17a3e5e934106fa445d7a6c19bc739b2487a883c5e709ac8dd5f429363e3bea09d72c1ca23a5755ca3b765479 SHA512 666d699d989a588bfe9d1e92f6b221a30541c26874d5941f54c2b2f216d2a59d628f1579d1e789e4a40d07d06f43a31055ce67885abb25c032643aa5f75797cd DIST calf-0.90.6.tar.gz 16119636 BLAKE2B b3eeb198d3df09880de2f053f838f8300c53a19440cbaff5d6fb75d7fbb37e47a6853b31d683f5caf181863cc4698c1d3fda24d277aab1e7867c2162f1279aab SHA512 60f794ba8333b7be92bede3051a416f67e1cca6334e182bf51664456286811eb84a63a5f13522af55540e46d5d01a2e7c85841284aeb3fbdf4875874cf44d182 +DIST calf-0.90.7.tar.gz 16119531 BLAKE2B a9262be48c955901617aac1d1abafbe523eab5cdea6671aa87d6372eba70fedfe2e636e5f66b83cc1d9107de56ec34ed4feb1e4fbf1e1e880e005ed473b84c1d SHA512 a407566717ee31fd26e17ff1e6cd412ecf7a0abef58314c632ef08cc1d80f26e9243b363de82958eb3cc5754dc79af3a682782be0c2654f821bbbcaef9c58f3d diff --git a/media-plugins/calf/calf-0.90.7.ebuild b/media-plugins/calf/calf-0.90.7.ebuild new file mode 100644 index 0000000000000..11cb2d71b2b1f --- /dev/null +++ b/media-plugins/calf/calf-0.90.7.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic toolchain-funcs xdg + +DESCRIPTION="Set of open source instruments and effects for digital audio workstations" +HOMEPAGE="https://calf-studio-gear.org/" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/calf-studio-gear/calf.git" +else + SRC_URI="https://github.com/calf-studio-gear/calf/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +fi + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="cpu_flags_x86_sse experimental gui jack lash lv2" + +REQUIRED_USE="jack? ( gui )" + +BDEPEND=" + virtual/pkgconfig +" +DEPEND=" + >=app-accessibility/at-spi2-core-2.46.0 + dev-libs/expat + dev-libs/glib:2 + media-sound/fluidsynth:= + gui? ( + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:2 + x11-libs/pango + ) + jack? ( virtual/jack ) + lash? ( media-sound/lash ) + lv2? ( media-libs/lv2 ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + # pending upstream PRs: + "${FILESDIR}/${PN}-0.90.6-desktop-file.patch" # bug 955628 + "${FILESDIR}/${PN}-0.90.7-lv2gui.patch" # bug 954142 + "${FILESDIR}/${PN}-0.90.7-no-remove-ttl.patch" +) + +src_configure() { + # Upstream append -ffast-math by default, however since libtool links C++ + # shared libs with -nostdlib, this causes symbol resolution error for + # __powidn2 when using compiler-rt. Disable fast math on compiler-rt until + # a better fix is found. + [[ $(tc-get-c-rtlib) = "compiler-rt" ]] && append-cxxflags "-fno-fast-math" + + local mycmakeargs=( + -DWANT_GUI=$(usex gui) + -DWANT_JACK=$(usex jack) + -DWANT_LASH=$(usex lash) + -DWANT_LV2=$(usex lv2) + -DWANT_LV2_GUI=$(usex lv2) + -DWANT_SORDI=ON + -DWANT_EXPERIMENTAL=$(usex experimental) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + mv "${ED}"/usr/share/bash-completion/completions/calf \ + "${ED}"/usr/share/bash-completion/completions/calfjackhost || die "Failed to install bash completion" +} diff --git a/media-plugins/calf/calf-9999.ebuild b/media-plugins/calf/calf-9999.ebuild index e025c0c1b4381..feaf52ef95820 100644 --- a/media-plugins/calf/calf-9999.ebuild +++ b/media-plugins/calf/calf-9999.ebuild @@ -5,10 +5,10 @@ EAPI=8 inherit cmake flag-o-matic toolchain-funcs xdg -DESCRIPTION="A set of open source instruments and effects for digital audio workstations" +DESCRIPTION="Set of open source instruments and effects for digital audio workstations" HOMEPAGE="https://calf-studio-gear.org/" -if [[ "${PV}" = "9999" ]] ; then +if [[ ${PV} == *9999* ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/calf-studio-gear/calf.git" else @@ -18,9 +18,9 @@ fi LICENSE="LGPL-2.1" SLOT="0" -IUSE="cpu_flags_x86_sse experimental gtk jack lash lv2" +IUSE="cpu_flags_x86_sse experimental gui jack lash lv2" -REQUIRED_USE="jack? ( gtk )" +REQUIRED_USE="jack? ( gui )" BDEPEND=" virtual/pkgconfig @@ -30,7 +30,7 @@ DEPEND=" dev-libs/expat dev-libs/glib:2 media-sound/fluidsynth:= - gtk? ( + gui? ( x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+:2 @@ -42,6 +42,10 @@ DEPEND=" " RDEPEND="${DEPEND}" +PATCHES=( + "${FILESDIR}/${PN}-0.90.7-no-remove-ttl.patch" +) + src_configure() { # Upstream append -ffast-math by default, however since libtool links C++ # shared libs with -nostdlib, this causes symbol resolution error for @@ -50,7 +54,7 @@ src_configure() { [[ $(tc-get-c-rtlib) = "compiler-rt" ]] && append-cxxflags "-fno-fast-math" local mycmakeargs=( - -DWANT_GUI=$(usex gtk) + -DWANT_GUI=$(usex gui) -DWANT_JACK=$(usex jack) -DWANT_LASH=$(usex lash) -DWANT_LV2=$(usex lv2) diff --git a/media-plugins/calf/files/calf-0.90.6-desktop-file.patch b/media-plugins/calf/files/calf-0.90.6-desktop-file.patch index 0472d08981cff..42c61e72177a8 100644 --- a/media-plugins/calf/files/calf-0.90.6-desktop-file.patch +++ b/media-plugins/calf/files/calf-0.90.6-desktop-file.patch @@ -11,17 +11,6 @@ and not of the application. This also updates/fixes the `Categories` section. Fixes https://955628.bugs.gentoo.org/attachment.cgi?id=928147 . ---- - .gitignore | 1 - - .svnignore | 1 - - CMakeLists.txt | 3 +-- - calf.desktop.in => calf.desktop | 7 ++++--- - configure.ac.deprecated | 1 - - 5 files changed, 5 insertions(+), 8 deletions(-) - rename calf.desktop.in => calf.desktop (95%) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bd723ed70..5b976127d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -200,7 +200,6 @@ else() @@ -41,11 +30,9 @@ index bd723ed70..5b976127d 100644 DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) install(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}jackhost.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) -diff --git a/calf.desktop.in b/calf.desktop similarity index 95% rename from calf.desktop.in rename to calf.desktop -index 3514ee874..c0a2071ac 100644 --- a/calf.desktop.in +++ b/calf.desktop @@ -1,10 +1,11 @@ diff --git a/media-plugins/calf/files/calf-0.90.6-gnuinstalldirs.patch b/media-plugins/calf/files/calf-0.90.6-gnuinstalldirs.patch index 8f2a2aba34d4c..7b07c9c05cc5c 100644 --- a/media-plugins/calf/files/calf-0.90.6-gnuinstalldirs.patch +++ b/media-plugins/calf/files/calf-0.90.6-gnuinstalldirs.patch @@ -3,13 +3,6 @@ From: Johannes Lorenz Date: Fri, 2 May 2025 13:59:50 +0200 Subject: [PATCH] Use GNUInstallDirs for flexible `bin`, `lib` and `doc` ---- - CMakeLists.txt | 16 ++++++++-------- - src/CMakeLists.txt | 33 +++++++++++++++++---------------- - 2 files changed, 25 insertions(+), 24 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index df2fde638..cfed21b69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -210,21 +210,21 @@ add_subdirectory(icons) @@ -42,8 +35,6 @@ index df2fde638..cfed21b69 100644 install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) install(FILES ${CMAKE_SOURCE_DIR}/${PROJECT_NAME}jackhost.1 -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 1e1cd30d9..da22ec1ab 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,6 +3,7 @@ diff --git a/media-plugins/calf/files/calf-0.90.6-lv2gui.patch b/media-plugins/calf/files/calf-0.90.6-lv2gui.patch index 4f31f3c46f13b..0a4b162213d0a 100644 --- a/media-plugins/calf/files/calf-0.90.6-lv2gui.patch +++ b/media-plugins/calf/files/calf-0.90.6-lv2gui.patch @@ -5,12 +5,6 @@ From: Johannes Lorenz Date: Fri, 16 May 2025 20:54:44 +0200 Subject: [PATCH] Fix #383: Only install lv2gui if Lv2 *and* GUI are set ---- - src/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index f8021af63..372af67a4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -121,7 +121,7 @@ endif() diff --git a/media-plugins/calf/files/calf-0.90.7-lv2gui.patch b/media-plugins/calf/files/calf-0.90.7-lv2gui.patch new file mode 100644 index 0000000000000..11d84a7d08abf --- /dev/null +++ b/media-plugins/calf/files/calf-0.90.7-lv2gui.patch @@ -0,0 +1,18 @@ +From: https://github.com/calf-studio-gear/calf/pull/384 + +From 4f6adaa9bea90bfceaca02334a1a9f1642016444 Mon Sep 17 00:00:00 2001 +From: Johannes Lorenz +Date: Fri, 16 May 2025 20:54:44 +0200 +Subject: [PATCH] Fix #383: Only install lv2gui if Lv2 *and* GUI are set + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -121,7 +121,7 @@ endif() + install(TARGETS ${PROJECT_NAME} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}) +-if(USE_GUI) ++if(USE_LV2 AND USE_GUI) + install(TARGETS ${PROJECT_NAME}lv2gui DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}) + endif() + diff --git a/media-plugins/calf/files/calf-0.90.7-no-remove-ttl.patch b/media-plugins/calf/files/calf-0.90.7-no-remove-ttl.patch new file mode 100644 index 0000000000000..97a70abc5d92b --- /dev/null +++ b/media-plugins/calf/files/calf-0.90.7-no-remove-ttl.patch @@ -0,0 +1,15 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -171,12 +171,6 @@ if(USE_LV2) + endif() + endif() + +- # Remove previous .ttl files +- file(GLOB ttl_files "${LV2DIR_PROJ}/*.ttl") +- foreach(ttl_file ${ttl_files}) +- file(REMOVE "${ttl_file}") +- endforeach() +- + # Install new .ttl files + install(CODE "execute_process(COMMAND \"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}makerdf\" -m ttl -p \"\$ENV{DESTDIR}${LV2DIR_PROJ}\" -d \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/\")") +