Skip to content

knobkraft-orm: 2.7.2 -> 2.10.0 - #559948

Draft
christofmuc wants to merge 1 commit into
NixOS:masterfrom
christofmuc:codex/knobkraft-orm-2.10.0
Draft

knobkraft-orm: 2.7.2 -> 2.10.0#559948
christofmuc wants to merge 1 commit into
NixOS:masterfrom
christofmuc:codex/knobkraft-orm-2.10.0

Conversation

@christofmuc

@christofmuc christofmuc commented Sep 4, 2026

Copy link
Copy Markdown

Update KnobKraft Orm from 2.7.2 to 2.10.0, using the upstream release tag and a new source hash including submodules.

The existing downstream patch hardcodes the application's version as 2.7.1. Pass the package version through CMake instead, so the application and package agree and future updates do not need another patch edit. Also correct CMAKE_INTERPROCEDURAL_OP to CMAKE_INTERPROCEDURAL_OPTIMIZATION so CMake recognizes the existing option. Retain the existing archive workaround. Upstream PR christofmuc/KnobKraft-orm#486 was closed without merging.

Install the 83 bundled Python adaptations and their five support packages under share/knobkraft-orm/adaptations. Update all four bundled-adaptation lookup locations so Python imports, discovery, built-in synth names and adaptation export use this directory. Wrap the launcher with PYTHONHOME pointing at the packaged Python 3.12 runtime, so standard-library extension modules such as math, _struct and binascii can be imported. Without these two fixes the application opens but lacks some or all Python synth support.

Related: #493880 is an open automated update to 2.9.0. This proposed update targets the newer upstream release and fixes the stale application version as well.

Release notes: https://github.com/christofmuc/KnobKraft-orm/releases/tag/2.10.0

Upgrade considerations: updates from 2.7.x cross the database migration introduced in 2.8.0; Orm automatically backs up the database before attempting the migration. Version 2.10.0 also requires an explicit reindex for affected Roland JV/JD-Xi/XV patches, and recordings named by old fingerprints are not automatically renamed. See https://github.com/christofmuc/KnobKraft-orm/blob/2.10.0/docs/roland-fingerprints.md and https://github.com/christofmuc/KnobKraft-orm/blob/2.10.0/release_notes/2.8.0.md.

Validation

Source hash verified by Nix's fixed-output fetch with submodules. The version-update candidate built successfully on x86_64-linux in Ubuntu 24.04 WSL2. Startup testing exposed the adaptation layout and embedded-Python issues described above.

Applying the earlier bin/adaptations layout and Python-home fixes to a disposable copy of that build produced a V2.10.0 application window and loaded all 83 Python adaptations without application-log warnings or errors. That earlier package candidate's rebuild reached approximately 67% before WSL became unresponsive, including to basic diagnostic commands. A distribution restart and VM shutdown did not recover it, and Windows denied permission to restart the WSL service. The revised share/knobkraft-orm/adaptations layout has not been built or startup-tested on Linux. It still needs a completed build and a startup check of its generated launcher; leave this PR as a draft until that validation is complete.

An isolated CMake installation check on Windows confirmed all 83 adaptation files and five support packages install in the revised share directory. All six install destinations and four C++ lookup substitutions matched the release sources. git diff --check passed. Upstream CI has now passed Lint / treefmt, parsing, nixpkgs-vet and commit checks for this exact revision. No hardware MIDI testing was possible: this WSL instance has no /dev/snd/seq. nixpkgs-review, aarch64 builds and full desktop interaction were not tested.

CI status

For commit 71d7582d2c0c01100d7ce8fc9ea0775761694e6b, formatting, linting and package evaluation passed. The green jobs named Build cover Nixpkgs infrastructure (shell/docs/lib/tarball), not a build of KnobKraft Orm.

The Bot / run job failed while labeling the PR because the Nixpkgs GitHub App exceeded its API rate limit. Retrying was denied because the contributor account lacks upstream repository permissions. The separate Test workflow is in action_required state with no jobs started. Both need attention from an upstream maintainer.

Things done

This is a validation record for the draft. Unticked items have not been completed. Darwin testing does not apply because this package declares Linux support only.

  • Built on platform:
    • x86_64-linux: build the final revision; the earlier version-update candidate built successfully.
    • aarch64-linux: not built.
  • Ran nixpkgs-review (additional build/dependency validation; not run).
  • Tested the final wrapped launcher: verify startup and all 83 adaptations load from the share directory.
  • Added the database upgrade and Roland reindexing notice to Nixpkgs release notes.
  • Reviewed contribution guidelines, commit conventions and disclosure requirements; remaining build/runtime checks are listed above.
  • Follows the automation/AI policy; the changes were reviewed by @christofmuc before submission.

AI disclosure: OpenAI Codex using GPT-5.6-sol assisted with the packaging changes, investigation, validation commands and this description. The changes were reviewed by @christofmuc before submission.

https://github.com/christofmuc/KnobKraft-orm/releases/tag/2.10.0

Update the source hash including submodules. Pass the package version to
the existing downstream patch rather than hardcoding 2.7.1 in the app,
and correct the misspelled CMake interprocedural optimization option.

Install bundled adaptations and support modules under share/knobkraft-orm, update all lookups, and
set PYTHONHOME in its launcher so Python standard-library extensions load.

Document automatic migration backups and manual Roland reindexing required
when upgrading from the previously packaged release.

Assisted-by: OpenAI Codex (gpt-5.6-sol)
@christofmuc

Copy link
Copy Markdown
Author

@ofborg build knobkraft-orm

@nixpkgs-ci nixpkgs-ci Bot added 8.has: package (update) This PR updates a package to a newer version 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 12.first-time contribution This PR is the author's first one; please be gentle! llm-assisted Contributions that include code generation with LLMs 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation labels Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 8.has: package (update) This PR updates a package to a newer version 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle! llm-assisted Contributions that include code generation with LLMs

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant