Skip to content

[4.7.5] Eliminate xxd and w3c dependencies.#34141

Open
rpatters1 wants to merge 2 commits into
musescore:4.7from
rpatters1:mnx-eliminate-w3c-and-xxd
Open

[4.7.5] Eliminate xxd and w3c dependencies.#34141
rpatters1 wants to merge 2 commits into
musescore:4.7from
rpatters1:mnx-eliminate-w3c-and-xxd

Conversation

@rpatters1

Copy link
Copy Markdown
Contributor

This pull request updates mnx importexport to use a new version of mnxdom that eliminates the following troublesome dependencies.

  • The xxd utility is no longer required at build time.
  • The w3c mnx GitHub repo is no longer fetched at build time.

The change in mnxdom is a narrow patch to version 3.0 (called 3.0.1) that refactors the build but leaves the rest of the code unchanged. PR #33958 incorporates this cmake change for the main branch along with many updates to mnxdom for later mnx schemas, so this PR should not be merged back to the main branch.

Hopefully this eliminates the need to exclude mnx from dev or production builds on any platform.

  • I signed the CLA as username:
  • The title of the PR describes the problem it addresses.
  • Each commit's message describes its purpose and effects, and references the issue it resolves. If changes are extensive, there is a sequence of easily reviewable commits.
  • The code in the PR follows the coding rules.
  • I understand all aspects of the code I'm contributing and I'm able to explain it if requested.
  • The code compiles and runs on my machine, preferably after each commit individually. I have manually tested and verified that my changes fulfil their intended purpose.
  • No prior attempts to resolve this problem exist, or if they do, I listed them in my PR description and described how I avoided repeating past mistakes.
  • There are no unnecessary changes.
  • I created a unit test or vtest to verify the changes I made (if applicable).

@rpatters1

Copy link
Copy Markdown
Contributor Author

If someone wants to tell me how, we could include removing the mnx exclusion in the build as part of this PR.

@juli27

juli27 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

All that's left of the build exclusion (on both main and 4.7) are these lines:

if (MUE_BUILD_IMPEXP_MNX_MODULE)
find_program(XXD_PROGRAM xxd QUIET)
if (NOT XXD_PROGRAM)
message(WARNING "xxd not found, disabling MNX import/export module")
set(MUE_BUILD_IMPEXP_MNX_MODULE OFF)
endif()
endif()

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

An error occurred during the review process. Please try again later.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Jojo-Schmitz

Copy link
Copy Markdown
Contributor

Could you prefix this PR's title with "[4.7.5]"?

@rpatters1 rpatters1 changed the title Eliminate xxd and w3c dependencies. [4.7.5] Eliminate xxd and w3c dependencies. Jul 10, 2026
@Jojo-Schmitz

Copy link
Copy Markdown
Contributor

Tkanks.
Shouldn't the 2nd commit also be part of #33958 ?

@rpatters1

Copy link
Copy Markdown
Contributor Author

Tkanks. Shouldn't the 2nd commit also be part of #33958 ?

I added it yesterday.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants