Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add zyn-fusion #362

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Add zyn-fusion #362

wants to merge 8 commits into from

Conversation

marcan
Copy link
Member

@marcan marcan commented Aug 11, 2020

zyn-fusion uses a whole pile of vendored git submodules, and some mruby gems stuff. This is the best I could do to eliminate all the compile-time clones and have everything fetched properly in the ebuild.

Note that some of the hashes aren't even pinned by the root version of zyn-fusion (the gems stuff), so for those it's just "whatever was master right now".

I did my best to fix the install layout to fit LSB standards, and fixed the QA warnings.

The zynaddsubfx ebuild is just from upstream portage, with the USE flag and optional dep added. When built that way, it requires zyn-fusion to show its UI, but does not otherwise depend on the package at build time (it dynamically loads it).

@gaobot
Copy link
Contributor

gaobot commented Aug 11, 2020

Repoman QA results:

media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion: No QA issues found

This is based on the ebuild from https://bugs.gentoo.org/700326, but
changed to build 3.0.5 with properly fetched sources.

Package-Manager: Portage-3.0.1, Repoman-2.3.23
This enables zyn-fusion support

Package-Manager: Portage-3.0.1, Repoman-2.3.23
@gaobot
Copy link
Contributor

gaobot commented Aug 11, 2020

Repoman QA results:

media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion: No QA issues found

@gaobot
Copy link
Contributor

gaobot commented Aug 11, 2020

Repoman QA results:

media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion: No QA issues found

@marcan marcan force-pushed the add-zyn-fusion branch 2 times, most recently from 6385d42 to 35e7b41 Compare August 12, 2020 02:21
@gaobot
Copy link
Contributor

gaobot commented Aug 12, 2020

Repoman QA results:

media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion:   dependency.missingslot        1
   media-sound/zyn-fusion/zyn-fusion-3.0.5.ebuild: RDEPEND: 'dev-lang/python' matches more than one slot, please specify an explicit slot and/or use the := or :* slot operator
Non-Fatal QA errors found

@gaobot
Copy link
Contributor

gaobot commented Aug 12, 2020

Repoman QA results:

media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion: No QA issues found

@gaobot
Copy link
Contributor

gaobot commented Aug 12, 2020

Repoman QA results:

media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion: No QA issues found

@gaobot
Copy link
Contributor

gaobot commented Aug 12, 2020

Repoman QA results:

media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion: No QA issues found

@simonvanderveldt
Copy link
Member

simonvanderveldt commented Aug 13, 2020

Do we need to do something with this?


 * QA Notice: Package triggers severe warnings which indicate that it
 *            may exhibit random runtime failures.
 * /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5/rtosc/src/dispatch.c:293:16: warning: argument 2 null where non-null expected [-Wnonnull]

 * Please do not file a Gentoo bug and instead report the above QA
 * issues directly to the upstream developers of this software.
 * Homepage: http://zynaddsubfx.sourceforge.net/

And with zyn-fusion added, do you think there's any reason to also have/keep the old zynaddsubfx? AFAIK it's no longer developed and everyone is encouraged to update to zyn-fusion.

@marcan
Copy link
Member Author

marcan commented Aug 13, 2020

zyn-fusion is just the GUI. It's a dependency of zynaddsubfx[zest]; alone it does nothing. zynaddsubfx is still developed, as it's still the core of zyn-fusion. I don't know about the old GUI, but if that's deprecated/unmaintained then we could just drop those USE flags for zynaddsubfx and make zyn-fusion a hard dep? Not sure there's much benefit in that though, as long as upstream still has it and it works.

I think we can ignore that QA warning. The code is definitely broken there, but it's an upstream issue, inherited from the version in portage anyway, and I don't know if there's actually a way a user could hit that codepath. Upstream rtosc still has the same code.

@marcan
Copy link
Member Author

marcan commented Aug 13, 2020

Filed the QA warning up-upstream anyway.

@simonvanderveldt
Copy link
Member

simonvanderveldt commented Aug 16, 2020

zyn-fusion is just the GUI. It's a dependency of zynaddsubfx[zest]; alone it does nothing. zynaddsubfx is still developed, as it's still the core of zyn-fusion. I don't know about the old GUI, but if that's deprecated/unmaintained then we could just drop those USE flags for zynaddsubfx and make zyn-fusion a hard dep? Not sure there's much benefit in that though, as long as upstream still has it and it works.

We've checked this with fundamental (the Zyn dev) and the old UI is still supported and supposed to work. Only caveat is that for the plugin which UI to use is chosen at build time. To prevent confusion it's probably best to allow either using the old/ftlk UI or the new/fusion UI.
(you already know this, this is more for future reference for myself :P)

Arch has two packages, one called zynaddsubfx and one called zyn-fusion, where one blocks the other. I know this is technically not correct, but it does seem a bit simpler to me, especially for users.
On the other hand, because Arch is binary, they have to make the choice for which UI to build upfront so they need two packages, for us that's a choice for our users, so maybe the setup as proposed in the PR (zynaddsubfx package with a USE flag for fusion that depends on the zyn-fusion UI) is the better choice.
@marcan What do you think?

Copy link
Member

@simonvanderveldt simonvanderveldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's quiet a beast :P
I've added some comments/questions inline.

}

-const struct mrb_data_type mrb_nvg_context_type;
+extern const struct mrb_data_type mrb_nvg_context_type;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know if this has already been PRed upstream? Arch is carrying a similar patch https://aur.archlinux.org/cgit/aur.git/tree/gcc10.patch?h=zyn-fusion

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure; this is a common theme for gcc10 compat issues and I wouldn't be surprised if upstream hasn't heard of it yet. I can throw a PR over at them :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. Would be nice to do that. Don't need to wait for it with this PR though :)

$(cmake_use_find_package doc Doxygen)
$(cmake_use_find_package fltk FLTK)
)
if use zest ; then
Copy link
Member

@simonvanderveldt simonvanderveldt Aug 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we have a exactly one of REQUIRED_USE for fltk and zest?
Now you can have both set but you'll still always get one of the two for the plugin UI, I think that's a bit confusing.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering that myself when I was writing the ebuild, but then I looked at the REQUIRED_USE documentation and it says it should be used sparingly:

https://devmanual.gentoo.org/general-concepts/use-flags/index.html#conflicting-use-flags

In particular it seems exclusions like that are more useful for dependencies, while for leaf level ebuilds it makes more sense to favour user intent (which, if they ask for zest, probably means they don't want fltk).

An einfo message to this effect might be in order, though.

@marcan
Copy link
Member Author

marcan commented Aug 17, 2020

I think it doesn't make sense to embed zynaddsubfx into zyn-fusion itself. It would be duplicating work into two ebuilds, and complicate dependencies if e.g. an app somewhere decides it needs to depend on zynaddsubfx (the core plugin) for some functionality, regardless of GUI.

We could add a message to zyn-fusion that it is only the GUI, and that if users want to use it with zynaddsubfx they need to build zynaddsubfx[zest].

@simonvanderveldt
Copy link
Member

simonvanderveldt commented Aug 18, 2020

I think it doesn't make sense to embed zynaddsubfx into zyn-fusion itself. It would be duplicating work into two ebuilds, and complicate dependencies if e.g. an app somewhere decides it needs to depend on zynaddsubfx (the core plugin) for some functionality, regardless of GUI.

Yeah, agreed

We could add a message to zyn-fusion that it is only the GUI, and that if users want to use it with zynaddsubfx they need to build zynaddsubfx[zest].

That would probably be a good idea. I'm not sure if there's a better solution. I guess we could let zyn-fusion depend on zynaddsubfx but that does mean that one would get zynaddsubfx as well even if you only want to run the UI locally, not sure how relevant that usecase is though. Also I guess that would mean a circular dependency with zynaddsubfx[zest] also depending on zyn-fusion.

@simonvanderveldt
Copy link
Member

simonvanderveldt commented Aug 22, 2020

Finally had some time to try this out locally. I get the following error trying to emerge zynaddsubfx

-- Building for Gentoo, flags: -std=c++11 -Wno-unused-parameter -O3 -ffast-math -fomit-frame-pointer -msse -msse2 -mfpmath=sse
CMake Error at src/Nio/CMakeLists.txt:28 (CHECK_INCLUDE_FILES):
  Unknown CMake command "CHECK_INCLUDE_FILES".

Any idea why this is happening?

@marcan
Copy link
Member Author

marcan commented Aug 22, 2020

Huh. CMake version or some missing module? Can you put a full build log somewhere and CMake version, and I'll debug when I get home?

@simonvanderveldt
Copy link
Member

Huh. CMake version or some missing module? Can you put a full build log somewhere and CMake version, and I'll debug when I get home?

Sure

$ cmake --version
cmake version 3.16.5

This is all there is in the log

>>> Emerging (1 of 1) media-sound/zynaddsubfx-3.0.5-r1::audio-overlay
 * zynaddsubfx-3.0.5.tar.bz2 BLAKE2B SHA512 size ;-) ...                                                                                                                                                                               [ ok ]
>>> Unpacking source...
>>> Unpacking zynaddsubfx-3.0.5.tar.bz2 to /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work
>>> Source unpacked in /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work
>>> Preparing source in /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5 ...
 * Applying zynaddsubfx-3.0.5-docs.patch ...                                                                                                                                                                                           [ ok ]
 * Working in BUILD_DIR: "/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build"
 * Hardcoded definition(s) removed in src/CMakeLists.txt:
 *  set(CMAKE_BUILD_TYPE "Release")
 *  	set (CMAKE_BUILD_TYPE "Debug")
 *  	set (CMAKE_BUILD_TYPE "Release")
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5 ...
 * Working in BUILD_DIR: "/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build"
cmake -C /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DPluginLibDir=lib64 -DCMAKE_DISABLE_FIND_PACKAGE_Alsa=ON -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON -DCMAKE_DISABLE_FIND_PACKAGE_FLTK=OFF -DGuiModule=zest -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build/gentoo_toolchain.cmake  /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5
loading initial cache file /var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build/gentoo_common_config.cmake
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Rtosc Submodule...
-- Found GCC Version >= 4.7
-- Include what you use: disabled (RTOSC_INCLUDE_WHAT_YOU_USE=OFF)
-- Found OpenGL: /usr/lib/libGL.so   
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found FLTK: /usr/lib/fltk/libfltk_images.so;/usr/lib/fltk/libfltk_forms.so;/usr/lib/fltk/libfltk_gl.so;/usr/lib/libGL.so;/usr/lib/fltk/libfltk.so  
-- Found PkgConfig: x86_64-pc-linux-gnu-pkg-config (found version "0.29.2") 
-- Checking for module 'ntk'
--   Found ntk, version 1.3.1000
-- Checking for module 'jack'
--   Found jack, version 1.9.14
-- Checking for module 'liblo>=0.28'
--   Found liblo, version 0.31
-- Found Ruby: /usr/bin/ruby (found suitable version "2.5.8", minimum required is "1.8") 
-- 
-- Rtosc Build Configuration
-- =========================
-- 
-- PkgConfig enabled  -- package found
-- Liblo enabled      -- package found
-- JACK enabled       -- package found
-- NTK enabled        -- package found
-- Perf Test(s) disabled
-- FLTK enabled       -- package found
-- Checking Include Path
-- Checking Library Path
-- Found ZLIB: /usr/lib/libz.so  
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found OSS: True  
-- Could NOT find CxxTest (missing: CXXTEST_INCLUDE_DIR CXXTEST_PYTHON_TESTGEN_EXECUTABLE) 
Looking For pkg config modules
-- Checking for module 'ntk_images'
--   Found ntk_images, version 1.3.1000
-- Checking for module 'fftw3'
--   Found fftw3, version 3.3.8
-- Checking for module 'mxml'
--   Found mxml, version 3.1
-- Looking for sched_setscheduler
-- Looking for sched_setscheduler - found
-- Performing Test HAVE_ASYNC
-- Performing Test HAVE_ASYNC - Success
-- Performing Test SUPPORT_SSE
-- Performing Test SUPPORT_SSE - Success
-- Performing Test SUPPORT_NEON
-- Performing Test SUPPORT_NEON - Failed
-- Compiling with liblo
-- Performing Test COMPILER_SUPPORTS_NO_INCONSISTENT_MISSING_OVERRIDE
-- Performing Test COMPILER_SUPPORTS_NO_INCONSISTENT_MISSING_OVERRIDE - Failed
-- Performing Test COMPILER_SUPPORTS_SYSTEM_HDR_PREFIX
-- Performing Test COMPILER_SUPPORTS_SYSTEM_HDR_PREFIX - Failed
-- Compiling with x86 opcode support
-- Building for Gentoo, flags: -std=c++11 -Wno-unused-parameter -O3 -ffast-math -fomit-frame-pointer -msse -msse2 -mfpmath=sse
CMake Error at src/Nio/CMakeLists.txt:28 (CHECK_INCLUDE_FILES):
  Unknown CMake command "CHECK_INCLUDE_FILES".


-- Configuring incomplete, errors occurred!
See also "/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build/CMakeFiles/CMakeOutput.log".
See also "/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build/CMakeFiles/CMakeError.log".
 * ERROR: media-sound/zynaddsubfx-3.0.5-r1::audio-overlay failed (configure phase):
 *   cmake failed
 * 
 * Call stack:
 *     ebuild.sh, line  125:  Called src_configure
 *   environment, line 2005:  Called cmake_src_configure
 *   environment, line  880:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 * 
 * If you need support, post the output of `emerge --info '=media-sound/zynaddsubfx-3.0.5-r1::audio-overlay'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/zynaddsubfx-3.0.5-r1::audio-overlay'`.
 * The complete build log is located at '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build'
 * S: '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5'

>>> Failed to emerge media-sound/zynaddsubfx-3.0.5-r1, Log file:

>>>  '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/temp/build.log'

 * Messages for package media-sound/zynaddsubfx-3.0.5-r1:

 * ERROR: media-sound/zynaddsubfx-3.0.5-r1::audio-overlay failed (configure phase):
 *   cmake failed
 * 
 * Call stack:
 *     ebuild.sh, line  125:  Called src_configure
 *   environment, line 2005:  Called cmake_src_configure
 *   environment, line  880:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 * 
 * If you need support, post the output of `emerge --info '=media-sound/zynaddsubfx-3.0.5-r1::audio-overlay'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/zynaddsubfx-3.0.5-r1::audio-overlay'`.
 * The complete build log is located at '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5_build'
 * S: '/var/tmp/portage/media-sound/zynaddsubfx-3.0.5-r1/work/zynaddsubfx-3.0.5'

There is CmakeError.log file but the FAILED messages in there don't seem to be related :?

@marcan
Copy link
Member Author

marcan commented Sep 6, 2020

FYI, I have a busy week, so I'll be a bit late updating this, but I'm not forgetting :)

@marcan
Copy link
Member Author

marcan commented Sep 21, 2020

I took care of the comments, but I'm at a loss as to the CMake issue since it doesn't happen here. Also, the zynaddsubfx ebuild is basically unchanged other than adding the dep and changing the UI mode, which seems unrelated to that Nio issue.

Can you check if you can build upstream zynaddsubfx from portage?

@gaobot
Copy link
Contributor

gaobot commented Sep 21, 2020

Repoman QA results:

media-plugins/artyfx:   inherit.deprecated            2
   media-plugins/artyfx/artyfx-1.3.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
   media-plugins/artyfx/artyfx-9999.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
Non-Fatal QA errors found
media-plugins/fabla:   inherit.deprecated            3
   media-plugins/fabla/fabla-1.3.2.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
   media-plugins/fabla/fabla-1.9999.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
   media-plugins/fabla/fabla-2.9999.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
Non-Fatal QA errors found
media-plugins/sorcer:   inherit.deprecated            2
   media-plugins/sorcer/sorcer-1.1.3.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
   media-plugins/sorcer/sorcer-9999.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
Non-Fatal QA errors found
media-sound/carla:   IUSE.invalid [fatal]          2
   media-sound/carla/carla-2.0.0-r1.ebuild: libav
   media-sound/carla/carla-9999-r1.ebuild: libav
Please fix these important QA issues first.
media-sound/luppp:   inherit.deprecated            2
   media-sound/luppp/luppp-1.2.1.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
   media-sound/luppp/luppp-9999.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
Non-Fatal QA errors found
media-sound/sc3-plugins:   inherit.deprecated            2
   media-sound/sc3-plugins/sc3-plugins-3.10.0.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
   media-sound/sc3-plugins/sc3-plugins-9999.ebuild: line 6: please migrate from 'cmake-utils' to 'cmake'
Non-Fatal QA errors found
media-sound/zynaddsubfx: No QA issues found
media-sound/zyn-fusion: No QA issues found

@simonvanderveldt
Copy link
Member

I took care of the comments, but I'm at a loss as to the CMake issue since it doesn't happen here. Also, the zynaddsubfx ebuild is basically unchanged other than adding the dep and changing the UI mode, which seems unrelated to that Nio issue.

Can you check if you can build upstream zynaddsubfx from portage?

Yes, I'll give this a try this week and report back, will probably be Wednesday if that's OK.

@simonvanderveldt
Copy link
Member

simonvanderveldt commented Sep 30, 2020

I took care of the comments, but I'm at a loss as to the CMake issue since it doesn't happen here. Also, the zynaddsubfx ebuild is basically unchanged other than adding the dep and changing the UI mode, which seems unrelated to that Nio issue.

Can you check if you can build upstream zynaddsubfx from portage?

I get the same error when building zyn from the gentoo tree. Which USE flags are you using?

 ❯ USE="jack" sudo -E emerge -1av zynaddsubfx                 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[binary  N     ] dev-libs/mxml-3.1::gentoo  USE="-static-libs -threads" 1,391 KiB
[binary  N     ] x11-libs/libXpm-3.5.13::gentoo  USE="-static-libs" ABI_X86="(64) -32 (-x32)" 100 KiB
[ebuild  N     ] media-sound/zynaddsubfx-3.0.5::gentoo  USE="fltk jack -alsa -doc -dssi -lash -portaudio" 7,951 KiB
...
-- Will build NTK gui
CMake Error at src/Nio/CMakeLists.txt:28 (CHECK_INCLUDE_FILES):
  Unknown CMake command "CHECK_INCLUDE_FILES".

You might not run into this when JACK is not enabled, see https://github.com/zynaddsubfx/zynaddsubfx/blob/3.0.5/src/Nio/CMakeLists.txt#L23

I think that CmakeLists.txt might be missing INCLUDE(CheckIncludeFiles)?
[edit] Just tested this with a user patch and adding that does indeed make it compile without issues :)

cat /etc/portage/patches/media-sound/zynaddsubfx/0001-Fix-missing-CMake-include.patch 
From 1d5bde3cd47ce7f7e5eb01bc32f08e318c5689bc Mon Sep 17 00:00:00 2001
From: Simon van der Veldt <[email protected]>
Date: Wed, 30 Sep 2020 15:14:26 +0200
Subject: [PATCH] Fix missing CMake include

---
 src/Nio/CMakeLists.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Nio/CMakeLists.txt b/src/Nio/CMakeLists.txt
index 4c4aa96d..9653e738 100644
--- a/src/Nio/CMakeLists.txt
+++ b/src/Nio/CMakeLists.txt
@@ -21,6 +21,7 @@ add_definitions(-DOUT_DEFAULT="${DefaultOutput}")
 add_definitions(-DIN_DEFAULT="${DefaultInput}")
 
 if(JackEnable)
+    INCLUDE(CheckIncludeFiles)
     include_directories(${JACK_INCLUDE_DIR})
     list(APPEND zynaddsubfx_nio_SRCS JackEngine.cpp JackMultiEngine.cpp)
     list(APPEND zynaddsubfx_nio_lib ${JACK_LIBRARIES})
-- 
2.26.2

I'll create a PR for the ebuild in gentoo and for zynaddsubfx itself with this fix

@simonvanderveldt
Copy link
Member

FYI The upstream PR with this fixed has been merged into Zyn zynaddsubfx/zynaddsubfx#82

@mazes-80
Copy link

Notice to new upstream: if you have some problems with this ebuild you may ping me on irc. I sent those ebuilds to marcan a while ago, and he fixed some points that were in those.

@SpomJ
Copy link

SpomJ commented Nov 8, 2024

Can this at least be forwarded to GURU? Doesn't seem like it's getting accepted here anytime soon.

@mazes-80
Copy link

mazes-80 commented Nov 8, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants