Skip to content

assetripper: init at 1.1.3#337548

Closed
diadatp wants to merge 1 commit into
NixOS:masterfrom
diadatp:arinit
Closed

assetripper: init at 1.1.3#337548
diadatp wants to merge 1 commit into
NixOS:masterfrom
diadatp:arinit

Conversation

@diadatp

@diadatp diadatp commented Aug 26, 2024

Copy link
Copy Markdown

Description of changes

AssetRipper is a tool for extracting assets from Unity serialized files (CAB-*, *.assets, *.sharedAssets, etc.) and asset bundles (*.unity3d, *.bundle, etc.) and converting them into the native Unity engine format.

https://github.com/AssetRipper/AssetRipper

The patch is is a temporary measure until AssetRipper/AssetRipper#1414 is resolved.

Closes #297634

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.11 Release Notes (or backporting 23.11 and 24.05 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.

@ofborg ofborg Bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 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. labels Aug 26, 2024
@UlyssesZh

Copy link
Copy Markdown
Member

Works for me. Thank you.

@YoshiRulz

This comment was marked as outdated.

@diadatp diadatp marked this pull request as ready for review November 26, 2024 19:07
@UlyssesZh UlyssesZh added the 9.needs: upstream fix This PR needs upstream to change something label Dec 6, 2024

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please rebase on master branch and do this:

Suggested change
rev = "refs/tags/${finalAttrs.version}";
tag = finalAttrs.version;

See #355973.

@YoshiRulz YoshiRulz Dec 6, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I've tried rebasing locally and it doesn't build. I think the fault is in Nixpkgs, but I haven't finished bisecting.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Could you share the build error you are receiving? If it is related to missing lib deps in two of the nuget precompiled libraries, then I have overcome that by including stdenv.cc.cc.lib in the buildInputs as a temporary fix. Would be interested in finding the breaking commit.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

That was it, yeah.

searching for dependencies of /nix/store/y5y38bj32dd71ki3q1k0slnm2jals223-AssetRipper-1.1.3/lib/AssetRipper/libTexture2DDecoderNative.so
    libstdc++.so.6 -> not found!
    libgcc_s.so.1 -> not found!
auto-patchelf: 2 dependencies could not be satisfied
error: auto-patchelf could not satisfy dependency libstdc++.so.6 wanted by /nix/store/y5y38bj32dd71ki3q1k0slnm2jals223-AssetRipper-1.1.3/lib/AssetRipper/libTexture2DDecoderNative.so
error: auto-patchelf could not satisfy dependency libgcc_s.so.1 wanted by /nix/store/y5y38bj32dd71ki3q1k0slnm2jals223-AssetRipper-1.1.3/lib/AssetRipper/libTexture2DDecoderNative.so
auto-patchelf failed to find all the required dependencies.
Add the missing dependencies to --libs or use `--ignore-missing="foo.so.1 bar.so etc.so"`.

Culprit being 687371a (not sure how removing Python from propagated deps means removing libstdc++ but there you go).

Comment thread pkgs/by-name/as/asset-ripper/package.nix Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

AssetRipper has new releases:

Suggested change
version = "1.1.3";
version = "1.1.7";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Need to bump to .NET 9 for this by the way.

@YoshiRulz YoshiRulz Dec 7, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I tried updating, but fetch-deps wasn't working, and in fact it's not working for 1.1.3 i.e. at cdfc9705b45c8d707d1b39b52df04dee1779ca0b without changes. How did you generate deps.nix?

edit: Opened #363497.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Good question. The passthru fetch-deps fails for me too. Looking through my shell history, I dropped into a dotnet sdk nix-shell within the project's source and ran approximately the following:

dotnet restore --packages out
nuget-to-nix out > deps.nix

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note that in comments. Failing to fetch deps automatically would mean that it cannot be updated properly with an update script, and people have to manually handle that, and they need to know how to do that manually by reading the relevant comments.

I am suspecting this be some bug of nuget-to-nix, but considering that currently there is work going on to retire nuget-to-nix (#362278), it may not worth digging into it. However, it would still be good if you can look into this.

@YoshiRulz YoshiRulz Dec 7, 2024

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I got 1.1.7 1.1.8 building. YoshiRulz@2dc01fc

Comment thread pkgs/by-name/as/asset-ripper/package.nix Outdated
@UlyssesZh

Copy link
Copy Markdown
Member

Make sure your commit complies with the relevant conventions. To elaborate, the package name should be all lower-case, and remove the space between "Asset Ripper" in your commit message.

@diadatp

diadatp commented Dec 6, 2024

Copy link
Copy Markdown
Author

Took the following steps and squashed.

  • Used tag argument instead of rev as per fetchgit{,hub}: add tag argument #355973.
  • Included cc libs for autoPatchelf. This may need more consideration as some parts of the source use stdenv.cc.cc.libgcc or null and others use lib.getLib stdenv.cc.cc.
  • Added sourceProvenance to package's meta.
  • Fixed pname to follow conventions.
  • Added a symlink named AssetRipper in bin pointing to the main executable.

@diadatp diadatp changed the title Asset Ripper: init at 1.1.3 assetripper: init at 1.1.3 Dec 6, 2024
@github-actions github-actions Bot removed 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Dec 6, 2024
@ofborg ofborg Bot added 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Dec 7, 2024
@diadatp

diadatp commented Dec 7, 2024

Copy link
Copy Markdown
Author

Above push does the following:

Updated meta.mainProgram to reflect symlink.
Fixed bug introduced in fixup due to pname change.
Moved symlink creation to postInstall.

@github-actions github-actions Bot removed 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Dec 7, 2024
@ofborg ofborg Bot added 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. labels Dec 8, 2024
@FliegendeWurst FliegendeWurst marked this pull request as draft March 1, 2025 21:24
@nixpkgs-ci nixpkgs-ci Bot added 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 12.first-time contribution This PR is the author's first one; please be gentle! labels Jun 25, 2025
@ToasterUwU

Copy link
Copy Markdown
Member

The "needs upstream fix" tag should be outdated since the nuget-to-nix issue has been closed, right?

Besides that, was this waiting for anything else?

@UlyssesZh

Copy link
Copy Markdown
Member

The "needs upstream fix" tag is not related to nuget-to-nix but is referring to AssetRipper/AssetRipper#1414 (which necessitates the patch in this PR), but yeah, the tag should be removed because that issue is also resolved.

This PR still needs some work: it need to remove the now-unnecessary patch file, and update to the current latest upstream version (and thus .NET 9).

@UlyssesZh UlyssesZh removed the 9.needs: upstream fix This PR needs upstream to change something label Jul 10, 2025
@nixpkgs-ci nixpkgs-ci Bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jul 10, 2025
@YoshiRulz

Copy link
Copy Markdown
Contributor

Rebased and updated

@UlyssesZh

Copy link
Copy Markdown
Member

@YoshiRulz Because @diadatp does not seem to be responding, could you please open a new PR?

@YoshiRulz YoshiRulz mentioned this pull request Jul 22, 2025
13 tasks
@diadatp

diadatp commented Jul 23, 2025

Copy link
Copy Markdown
Author

Thank you for taking over @YoshiRulz. Closing this as superseded by #427561.

@diadatp diadatp closed this Jul 23, 2025
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. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Package request: AssetRipper

4 participants