Skip to content

zrythm: 1.0.0-beta.4.9.1 -> 1.0.0-rc.1#306959

Merged
wegank merged 2 commits intoNixOS:staging-nextfrom
Astavie:zrythm
May 2, 2024
Merged

zrythm: 1.0.0-beta.4.9.1 -> 1.0.0-rc.1#306959
wegank merged 2 commits intoNixOS:staging-nextfrom
Astavie:zrythm

Conversation

@Astavie
Copy link
Contributor

@Astavie Astavie commented Apr 26, 2024

Description of changes

Update zrythm to v1.0.0-rc.1.

This depends on #291339 as zrythm depends on gtk 4.14. This is why this PR targets staging-next.

Closes #252561
Closes #253765
Closes #290598

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@Astavie Astavie marked this pull request as draft April 26, 2024 12:17
@Astavie
Copy link
Contributor Author

Astavie commented Apr 26, 2024

(people involved in previous PRs mentioned)

@ofborg ofborg bot added 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Apr 26, 2024
Copy link
Member

@PowerUser64 PowerUser64 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few changes requested. Also, since there were so many versions of this PR, it would probably make sense to add them all as Co-authors so it's documented.

@Astavie
Copy link
Contributor Author

Astavie commented Apr 26, 2024

thanks for the review, will make these changes once the tar.gz arrives for rc.1

@Astavie Astavie changed the title zrythm: 1.0.0-beta.4.9.1 -> 1.0.0-rc.0 zrythm: 1.0.0-beta.4.9.1 -> 1.0.0-rc.1 Apr 28, 2024
@Astavie Astavie requested a review from PowerUser64 April 28, 2024 10:26
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 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. and removed 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. labels Apr 28, 2024
@alex-tee
Copy link
Contributor

Upstream maintainer here, thanks for packaging this. Some feedback below.

These can/should be removed:
sdl2, appstream-glib, breeze-icons, faust2lv2 (plugins are already compiled into C++), libgtop, libsass (only sassc is needed as a native build input), libsoundio, libxml2, pandoc, pcre (only pcre2 is needed), serd, sord, sratom

These should be moved to native build input ("make" dependencies):
guile, chromaprint, help2man, flex, jq (why is this needed?), lilv

@Astavie
Copy link
Contributor Author

Astavie commented Apr 29, 2024

@alex-tee libxml2 is still required as a native input for xmllint, and the cmake still lists sdl2, serd, sord, and sratom as runtime dependencies

@alex-tee
Copy link
Contributor

@Astavie

and the cmake still lists sdl2, serd, sord, and sratom as runtime dependencies

"the cmake"?

@Astavie
Copy link
Contributor Author

Astavie commented Apr 29, 2024

@alex-tee ah apologies, i misinterpreted the logs. it's the meson build file: here is a screenshot
i'll be honest, i'm not much familiar with meson nor cmake
image

@alex-tee
Copy link
Contributor

@Astavie

serd/sord/sratom/lilv are only needed at build time (lilv is used in tests), regardless if that says "runtime dependencies". They are used as "runtime dependencies" by a tool that gets compiled and used during tests, but they are not linked into the main Zrythm binary.

Regarding SDL, it gets marked as required because of -Dsdl=enabled in the meson configure flags: https://github.com/NixOS/nixpkgs/pull/306959/files#diff-1adcc62edbc935bfbb269175905b4cc5b0c4a4fd83a2bca9c3ce2a30b1844a40R194

Please remove that as the SDL backend is broken and experimental.

@Astavie
Copy link
Contributor Author

Astavie commented Apr 29, 2024

superfluous dependencies have been removed!

@alex-tee
Copy link
Contributor

LGTM, thanks!

@PowerUser64
Copy link
Member

Thanks for taking a look at this @alex-tee!

Copy link
Member

@PowerUser64 PowerUser64 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Just one comment. Not sure how the manual should be added, if it's something we want to add to the output. Could be worth it for completeness given that v1 is on its way, but also I don't know how the output is supposed to be used. I assume it's equivalent to the live version at https://docs.zrythm.org/.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought this comment was interesting, so I decided to look into it.

git blame shows that it's over 3 years old! Since then, python312Packages.sphinx-intl has been added to nixpkgs. I don't know how important this is to people, but given that we have this package now I think this could be enabled. Not sure how important this is to people.

Thoughts?

cc @tshaynik

Copy link
Contributor

@alex-tee alex-tee Apr 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what the nix packager way to do is, but, for reference, the python requirements to build the user manual are in requirements.txt. This is how you can build the user manual in HTML format in English:

python3 -m venv venv
source ./venv/bin/activate
# Note: sphinx and friends need to be in the PATH before configuring meson so that user manual-related ninja targets are created
python3 -m pip install -r requirements.txt
# setup meson (meson setup builddir ...)
ninja -C builddir html-manual-en

Then the built manual will be available in the builddir under doc/user.

@Astavie
Copy link
Contributor Author

Astavie commented Apr 30, 2024

@PowerUser64
sphinx-intl appears to be broken right now, so I created a pull request to update the package: #307964

@Astavie Astavie force-pushed the zrythm branch 2 times, most recently from 8aa4bb0 to ebfac48 Compare April 30, 2024 10:54
@Astavie Astavie marked this pull request as ready for review May 2, 2024 08:52
@Astavie
Copy link
Contributor Author

Astavie commented May 2, 2024

I've marked this as ready for review now as rtaudio_6 has been merged. Adding the user manual could be added in another PR

@ofborg ofborg bot requested a review from PowerUser64 May 2, 2024 09:18
@wegank wegank merged commit d45778e into NixOS:staging-next May 2, 2024
@Astavie Astavie deleted the zrythm branch May 2, 2024 13:01
@PowerUser64
Copy link
Member

Nice work @Astavie! Glad to finally get this merged!

@jtojnar
Copy link
Member

jtojnar commented May 2, 2024

These should be moved to native build input ("make" dependencies):
guile, chromaprint, help2man, flex, jq (why is this needed?), lilv

nativeBuildInputs are orthogonal concept to “make” dependencies (used e.g. in Arch pkgbuild). Actually, Nix does not distinguish between build and runtime dependencies explicitly – every store path referenced in the build output is considered a runtime dependency.

The distinction between nativeBuildInputs and buildInputs is about what platform the packages should execute on, and the distinction is only important in the context of cross-compilation.

serd/sord/sratom/lilv are only needed at build time (lilv is used in tests), regardless if that says "runtime dependencies". They are used as "runtime dependencies" by a tool that gets compiled and used during tests, but they are not linked into the main Zrythm binary.

Then checkInputs would be suitable. But that requires doCheck = true to be included so buildInputs might be best option for now.

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

Labels

8.has: package (new) This PR adds a new package 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. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants