NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.63k stars 13.78k forks source link

Update request: plugdata 0.8.0 → 0.8.3 #302541

Open SolarLiner opened 5 months ago

SolarLiner commented 5 months ago

Notify maintainers

@PowerUser64


Note for maintainers: Please tag this issue in your PR.


Add a :+1: reaction to issues you find important.

PowerUser64 commented 5 months ago

I have tried getting this on the latest plugdata version before (back when it was 0.8.1), but I always get errors in the linking phase, like so:

/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x616): undefined reference to `juce::Identifier::~Identifier()'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x61e): undefined reference to `juce::ValueTree::~ValueTree()'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x628): undefined reference to `juce::ValueTree::removeAllChildren(juce::UndoManager*)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x62f): undefined reference to `juce::PluginHostType::jucePlugInClientCurrentWrapperType'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x63f): undefined reference to `juce::JUCEApplicationBase::appInstance'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x652): undefined reference to `typeinfo for juce::JUCEApplicationBase'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x6d7): undefined reference to `juce::String::String(juce::String const&)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x6e8): undefined reference to `juce::String::String(juce::String const&)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x72b): undefined reference to `juce::Identifier::Identifier(char const*)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x736): undefined reference to `juce::ValueTree::ValueTree(juce::Identifier const&)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x73e): undefined reference to `juce::Identifier::~Identifier()'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x749): undefined reference to `juce::var::var(juce::String const&)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x758): undefined reference to `juce::Identifier::Identifier(char const*)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x768): undefined reference to `juce::ValueTree::setProperty(juce::Identifier const&, juce::var const&, juce::UndoManager*)'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x770): undefined reference to `juce::Identifier::~Identifier()'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x778): undefined reference to `juce::var::~var()'
/nix/store/...-binutils-2.41/bin/ld: <artificial>:(.text+0x784): undefined reference to `juce::var::var(juce::String const&)'

(I got this by just changing the version to 0.8.3 and updating the hash to sha256-dDItBJJJKddxaFYPashD36FQWnBomPexqoPyhFNybH0=.)

I'd like to get this updated too, but I don't know how to proceed from here. It builds normally on my computer, just not with nixpkgs. Anyone have ideas for how to move forward with this?

rrrnld commented 1 month ago

Plugdata 0.9.1 came out a couple of weeks ago, so maybe the PR title should be updated? I tried updating it to the current version and received similar issues which looked like the juce lib wasn't found properly. I wasn't able to figure out what exactly happens.

PowerUser64 commented 1 month ago

Yeah, I tried updating to 0.9.X a few weeks ago as well .... I am not sure what's wrong. I don't know whether to blame JUCE or plugdata. I wonder if any other issues mention similar problems. I personally haven't seen any problems like this before with JUCE, so I'm tempted to blame plugdata, but I don't know what part of it.

Given that it builds with this commit, it seems like it would be simple enough to bisect and find what commit broke it, but I tried doing that when I made this package and I couldn't find what made it break. (and, the commit that's currently in the package is the latest one I could get to build.)

I feel like we might need a CMake expert to figure this out.