gentoo-audio / audio-overlay

Gentoo overlay for music production
https://gentoo-audio.github.io/audio-overlay
GNU General Public License v2.0
41 stars 22 forks source link

media-plugins/distrho-ports: add version 2021-03-15 #550

Open nicoroeser opened 1 year ago

nicoroeser commented 1 year ago

Not the most sophisticated piece of work ever accomplished, but works for me.

Fixes #455.

NexAdn commented 1 year ago

Seems like the CI pipeline is unable to build the package due to missing dependencies (fftw3f):

https://app.circleci.com/pipelines/github/gentoo-audio/audio-overlay/2005/workflows/2eb55cf6-0305-46e0-bde4-ba46f1d70e1b/jobs/5914

Could you please have a look at the dependencies?

nicoroeser commented 1 year ago

I have added a commit which takes care of the additional dependency.

Is this conditional syntax acceptable in live ebuild files?

If not, my plan would be to copy the ebuild to 20210115 (which does not yet depend on FFTW) and make the change to the live ebuild (unconditionally) afterwards. Does that sound better?

NexAdn commented 1 year ago

I'm not really a fan of symlinked ebuilds and putting if blocks in the live ebuild for every extra detail just makes the ebuild overly complicated. Hence, I'd prefer if you don't use symlinks and instead copy the files and add the dependency only in the live ebuild.

nicoroeser commented 1 year ago

I agree. This pull request now removes symlinks and provides three separate ebuilds: the last two released versions of DISTRHO-ports and the live ebuild.

It also adds a patch for version 2021-01-15 because that version did not build with GCC 12 or 13 (have tried GCC versions 11, 12, and 13). If you decide to rather drop the ebuild for DISTRHO-ports version 2021-01-15, that’s fine for me, too. In this case, the patch can be removed as well as it is not required for later versions.

NexAdn commented 1 year ago

Nice job! Unfortunately, the CI pipeline fails:

Did not find CMake 'cmake' Found CMake: NO Run-time dependency x11 found: NO (tried pkgconfig)

meson.build:91:8: ERROR: Dependency "x11" not found, tried pkgconfig

Again, this looks like something is wrong with the dependencies. Maybe there's some new configurable options which can be sensibly translated to USE flags?

You might wanna try using dev-util/ebuildtester to test the ebuild in a clean environment (only if you have Docker, though).

So, in general I'm okay with this PR. It's just the missing dependencies or configure options that need fixing.

nicoroeser commented 1 year ago

Thanks for the hint about dev-util/ebuildtester!

I haven’t been able to reproduce the issue. When trying the ebuilds with ebuildtester, they work in my setup. I have also tried the CI script directly:

./tests/emerge-ebuild.sh =media-plugins/distrho-ports-20210115

This works as well. The (slightly extended) part of the build log that corresponds to the part which failed on CircleCI is:

Found pkg-config: /usr/bin/x86_64-pc-linux-gnu-pkg-config (1.8.1)
Run-time dependency alsa found: YES 1.2.9
Run-time dependency freetype2 found: YES 25.0.19
Run-time dependency x11 found: YES 1.8.6
Run-time dependency xext found: YES 1.3.5
Library dl found: YES
Run-time dependency gl found: YES 1.2
Build targets in project: 139

I have also tried pkg-config --libs x11 in this container (while the build was running), again without errors.

That means either something is very wrong on my end or in the CircleCI pipeline (or both, or something completely different is going on).

As far as I understand it, a cache portage-pkgdir-emerge is used on CircleCI for the binary packages. Is it possible that the binary package x11-libs/libX11-1.8.6-1 is lacking /usr/lib64/pkgconfig/x11.pc? Or that dev-util/pkgconf is not OK? Maybe a bit far-fetched, but I’m out of other ideas right now.

NexAdn commented 12 months ago

Sorry, but I'm currently a very busy. I can't promise that I'll have a look at this until october. I hope that's okay!