lmms: 1.2.2 -> 0-unstable-2025-01-28#377643
Conversation
|
I'm honestly not too sure about the |
LMMS 1.2.2 is almost 5 years old and the software has undergone many changes since then, unfortunately however, no branches or tags are being made as the software progresses so we stay as close to git as possible.
|
Fixed the merge conflict it had with |
acid-bong
left a comment
There was a problem hiding this comment.
Since tags weren't reset/removed, nor source did change, i'd suggest not replacing the version itself with 0, you can use 1.2.2-unstable-DATE.
And probably additionally specify that you moved it to /by-name
|
That's true, I had forgotten about that versioning rule. I will abstain from making the change for now though, I don't want to trigger the CI just because of a version change; once reviews come in and my questions are quelled I'll make sure to include that, thanks! |
|
so the new packages will be edit: didn't see that the old lmms gets removed |
auroraanna
left a comment
There was a problem hiding this comment.
is wine required for some plugins?
| meta = with lib; { | ||
| description = "DAW similar to FL Studio (music production software)"; | ||
| mainProgram = "lmms"; | ||
| homepage = "https://lmms.io"; | ||
| license = licenses.gpl2Plus; | ||
| platforms = [ | ||
| "x86_64-linux" | ||
| ]; | ||
| maintainers = with maintainers; [ wizardlink ]; | ||
| }; |
There was a problem hiding this comment.
| meta = with lib; { | |
| description = "DAW similar to FL Studio (music production software)"; | |
| mainProgram = "lmms"; | |
| homepage = "https://lmms.io"; | |
| license = licenses.gpl2Plus; | |
| platforms = [ | |
| "x86_64-linux" | |
| ]; | |
| maintainers = with maintainers; [ wizardlink ]; | |
| }; | |
| meta = { | |
| description = "DAW similar to FL Studio (music production software)"; | |
| mainProgram = "lmms"; | |
| homepage = "https://lmms.io"; | |
| license = lib.licenses.gpl2Plus; | |
| platforms = [ | |
| "x86_64-linux" | |
| ]; | |
| maintainers = with lib.maintainers; [ wizardlink ]; | |
| }; |
| ++ lib.optionals withOptionals [ | ||
| SDL2 | ||
| alsa-lib | ||
| carla | ||
| fltk | ||
| fluidsynth | ||
| glibc_multi | ||
| lame | ||
| libgig | ||
| libjack2 | ||
| libogg | ||
| libpulseaudio | ||
| libsoundio | ||
| libvorbis | ||
| lilv | ||
| lv2 | ||
| perl540 | ||
| perl540Packages.ListMoreUtils | ||
| perl540Packages.XMLParser | ||
| portaudio | ||
| sndio | ||
| suil | ||
| winePackage | ||
| ]; |
There was a problem hiding this comment.
having the default package be without any audio doesn't make sense tbh.
i'd go for having a sensible default package and then allowing people to create the own version by calling the derivation with different arguments.
There was a problem hiding this comment.
like if you really wanted to make the most use of this you could have separate flags for jack, alsa and pulseaudio and then a combined withAudio flag that is the true by default.
There was a problem hiding this comment.
no audio by default on a DAW feels wrong... Should probably at least enable that.
what do you mean, source didn't change? i think labeling it 1.2.2-xxx is bad, also since 1.2.2 is not the latest version tag, that is an alpha version. |
|
|
||
| linphone = libsForQt5.callPackage ../applications/networking/instant-messengers/linphone { }; | ||
|
|
||
| lmms = libsForQt5.callPackage ../applications/audio/lmms { |
There was a problem hiding this comment.
Where is the new lmms added?
There was a problem hiding this comment.
under pkgs/by-name/lm/lmms is the derivation. it automatically gets a package named lmms that way.
dotlambda
left a comment
There was a problem hiding this comment.
Please update to a commit including LMMS/lmms@c91c81e so we can fix #450908.
| in | ||
| stdenv.mkDerivation { | ||
| pname = "lmms"; | ||
| version = "0-unstable-2025-01-28"; |
There was a problem hiding this comment.
| version = "0-unstable-2025-01-28"; | |
| version = "1.2.2-unstable-2025-01-28"; |
There was a problem hiding this comment.
it is called 1.3.0-alpha in program
There was a problem hiding this comment.
Unstable is versioned as date and last release tag. So yes, 1.2.2-unstable-... is the way
There was a problem hiding this comment.
That doesn't matter.
presumably because the github release page says the release 1.3.0-alpha.1 may be changed at any time without notice? as in, it's not really a version at all…
| owner = "LMMS"; | ||
| repo = "lmms"; | ||
| rev = "2c674eca3accbc6dab6f5aacbf34f7bd85af767e"; | ||
| sha256 = "sha256-jq3Wog5BHBWIq5iLEBrHWIvYSzmKsCdb63Nu7j9kJRY="; |
There was a problem hiding this comment.
| sha256 = "sha256-jq3Wog5BHBWIq5iLEBrHWIvYSzmKsCdb63Nu7j9kJRY="; | |
| hash = "sha256-jq3Wog5BHBWIq5iLEBrHWIvYSzmKsCdb63Nu7j9kJRY="; |
|
On the current lmms latest commit if withOptionals=true we need to clone a wine git repo and patch https://github.com/LMMS/lmms/blob/807751dc4dce53583ecf4140b67a5dc343c789a7/plugins/VstBase/CMakeLists.txt#L55 After this change I am able to build lmms with withOptionals=true https://github.com/mio-19/nurpkgs/blob/c5a0d1d1ae08a63a99378c26c91a5af45ac0ba17/pkgs/lmms/0001-wine-path-patch.patch https://github.com/mio-19/nurpkgs/blob/c5a0d1d1ae08a63a99378c26c91a5af45ac0ba17/pkgs/lmms/package.nix#L40 |
How about providing the necessary support by default and offering an lmms-minimal package without Wine or other dependencies? |
| in | ||
| stdenv.mkDerivation { | ||
| pname = "lmms"; | ||
| version = "0-unstable-2025-01-28"; |
There was a problem hiding this comment.
Unstable is versioned as date and last release tag. So yes, 1.2.2-unstable-... is the way
| ]; | ||
|
|
||
| patches = lib.optionals withOptionals [ | ||
| (substitute { |
There was a problem hiding this comment.
isn't replaceVars preferred over substitute?
| ++ lib.optionals withOptionals [ | ||
| SDL2 | ||
| alsa-lib | ||
| carla | ||
| fltk | ||
| fluidsynth | ||
| glibc_multi | ||
| lame | ||
| libgig | ||
| libjack2 | ||
| libogg | ||
| libpulseaudio | ||
| libsoundio | ||
| libvorbis | ||
| lilv | ||
| lv2 | ||
| perl540 | ||
| perl540Packages.ListMoreUtils | ||
| perl540Packages.XMLParser | ||
| portaudio | ||
| sndio | ||
| suil | ||
| winePackage | ||
| ]; |
There was a problem hiding this comment.
no audio by default on a DAW feels wrong... Should probably at least enable that.
|
Any updates on this? |
|
Yes, I went through this MR's recent comments, so I'll be making adjustments on the coming days - had been quite busy. o/ |
|
Thanks for the work you're doing either way! ^^ |
I agree with that! If a codebase is tagged with a version, that implies that a new version is being opened for contribution. So a better version forward would be 1-unstable or smh. |
|
LMMS build is broken in nixpkgs-unstable. There is a bug report upstream: LMMS/lmms#7822 and a reference to a PR on upstream's upstream... lukas-w/qt5-x11embed#7 I believe we should patch the nix derivation to apply a cmake minimum version, until lmms solves that bug themselves. |
No. Our documentation says "latest upstream version preceding that commit", followed by unstable and date, see https://github.com/NixOS/nixpkgs/tree/master/pkgs#versioning. This is how package trackers such as https://repology.org consume our data. Breaking with this pattern is wrong and bad.
This is being done in this PR? I am confused what you are implying, other than "yes, do these changes"
Thank you for the extra context! |
Thanks for the information, I didn't know there was a ruling about that.
Yes, the fix is being pulled through LMMS master branch. They already updated their version of qt5-x11embedded, so it seems everything will be alright. I'll have to wait for this current PR to be merged. Lmms on nixpkgs-unstable is broken right now...
You're welcome and I thank you for all your contributions for Nix! |
I have tried this approach, however it still doesn't build. See #449868 I tried this pr's changes. With lmms updated to recent git commits, it builds. https://github.com/mio-19/nurpkgs/tree/main/pkgs/lmms |
|
It looks like compatibility with CMake 4 was fixed in #459874. |
LMMS 1.2.2 is almost 5 years old and the software has undergone many changes since then, unfortunately however, no branches or tags are being made as the software progresses so we stay as close to git as possible.
I am quite unsure about the wine dependency I have, it feels wrong to depend on it but I've only found
wineWowPackages.minimalhaving the libraries and properly building 32-bit and 64-bit applications.closes #297527
Added dependencies:
glibc_multiSDL->SDL2perl540perl540Packages.ListMoreUtilsperl540Packages.XMLParsersubstitutewineWowPackages.minimalliboggThings done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.