Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

innoextract: support extraction of multi-file archives #33999

Merged
merged 2 commits into from Apr 11, 2018

Conversation

peterhoeg
Copy link
Member

@peterhoeg peterhoeg commented Jan 18, 2018

Motivation for this change

innoextract supports a --gog argument which will process extra multi-file archives distributed by gog.com

A slight downside is the increase of the closure size from 76MB to 1.4GB so we can of course make the withGog argument false instead by default.

Cc: @abbradar

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@rnhmjoj
Copy link
Contributor

rnhmjoj commented Jan 22, 2018

wow, 1.4GB is pretty bad. I see that it also supports unrar (it's non-free though).

@peterhoeg
Copy link
Member Author

My line of reasoning was that considering this is more likely to be used on desktop systems where the parts of the closure is probably available, it is better than adding non-free.

The other option is of course to simply toggle it to false by default and use overrides for those that don't mind the large closure.

@rnhmjoj
Copy link
Contributor

rnhmjoj commented Jan 23, 2018

It makes sense. I'm also ok with this since I use it only when unpacking something and don't keep it installed. Why is unar's closure so big anyway? GNUstep?

@peterhoeg
Copy link
Member Author

Why is unar's closure so big anyway? GNUstep?

Yes.

@soredake
Copy link

soredake commented Apr 6, 2018

Any progress?

@abbradar
Copy link
Member

abbradar commented Apr 6, 2018

@GrahamcOfBorg build innoextract

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: innoextract

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: innoextract

Partial log (click to expand)

[100%] Linking C executable PropertyIntrospectionTest2_optimised
[100%] Built target PropertyIntrospectionTest2
[100%] Built target PropertyIntrospectionTest2_optimised
make: *** [Makefile:163: all] Error 2
builder for '/nix/store/0f2nm4xy8asn6j6wxmxffp48w2m14h8v-libobjc2-1.8.1.drv' failed with exit code 2
cannot build derivation '/nix/store/3g1p81b5hmk602znqjw0h88vxjybybas-gnustep-make-2.6.8.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/rawhpp6pjn6lqkm2hjgn25xq08h7dykm-gnustep-base-1.25.1.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/0h137km1is67vpkz6k6373m9j3gsj2sc-unar-1.10.1.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/51wnly60nkzwhb5haq5p6lamly15dn79-innoextract-1.6.drv': 1 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/51wnly60nkzwhb5haq5p6lamly15dn79-innoextract-1.6.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: innoextract

Partial log (click to expand)

-- Installing: /nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6/share/man/man1/innoextract.1
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6
shrinking /nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6/bin/innoextract
gzipping man pages under /nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6/share/man/
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6/bin
patching script interpreter paths in /nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6
checking for references to /tmp/nix-build-innoextract-1.6.drv-0 in /nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6...
/nix/store/hkvj3ncbc7x3akfavhmj107ny303hwjk-innoextract-1.6

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: innoextract, unar

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1
shrinking /nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1/bin/lsar
shrinking /nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1/bin/unar
gzipping man pages under /nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1/share/man/
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1/bin
patching script interpreter paths in /nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1
checking for references to /tmp/nix-build-unar-1.10.1.drv-0 in /nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1...
/nix/store/4rfx0gj2p1nsmqqm9kh1pp2xs2cnmk13-innoextract-1.6
/nix/store/zmwqsp9dj510gjl681m0nz435yv1mygc-unar-1.10.1

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: innoextract, unar

Partial log (click to expand)

-- Installing: /nix/store/knbsb0b63nnay4za1kbval1qzms3m93p-innoextract-1.6/share/man/man1/innoextract.1
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/knbsb0b63nnay4za1kbval1qzms3m93p-innoextract-1.6
shrinking /nix/store/knbsb0b63nnay4za1kbval1qzms3m93p-innoextract-1.6/bin/innoextract
gzipping man pages under /nix/store/knbsb0b63nnay4za1kbval1qzms3m93p-innoextract-1.6/share/man/
strip is /nix/store/3zq400fri5dv7d30lpxlqm2v9y1iis6j-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/knbsb0b63nnay4za1kbval1qzms3m93p-innoextract-1.6/bin
patching script interpreter paths in /nix/store/knbsb0b63nnay4za1kbval1qzms3m93p-innoextract-1.6
checking for references to /build in /nix/store/knbsb0b63nnay4za1kbval1qzms3m93p-innoextract-1.6...
�[31;1merror:�[0m build of '/nix/store/rvzvlz0mjc5p3p35z0lbvrp7cjb3b05l-unar-1.10.1.drv' failed

@abbradar abbradar merged commit 2483a0d into NixOS:master Apr 11, 2018
@abbradar
Copy link
Member

@peterhoeg Thanks for your work and sorry for taking a long time!

@peterhoeg peterhoeg deleted the f/inno branch April 12, 2018 00:11
@peterhoeg peterhoeg restored the f/inno branch April 12, 2018 04:18
@peterhoeg peterhoeg deleted the f/inno branch October 8, 2018 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants