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

hashcat: 4.2.1 -> 5.0.0 #50523

Merged
merged 1 commit into from Nov 18, 2018
Merged

hashcat: 4.2.1 -> 5.0.0 #50523

merged 1 commit into from Nov 18, 2018

Conversation

kierdavis
Copy link
Contributor

@kierdavis kierdavis commented Nov 17, 2018

This introduces a dependency on xxHash. Unfortunately, hashcat's
build system wants to rebuild xxHash from the source code located
in <hashcat source root>/deps/git/xxHash, a Git submodule whose
contents are not included in the source tarball we currently
download.

This could be fixed by either using a recursive git clone instead
a tarball download, or patching the build files to use an existing
installation of xxHash (i.e. the one already provided by Nix). I
believe the latter is preferable since it avoids the situation in
which the xxHash version used by hashcat is different to the xxHash
version used by all other Nix packages.

Fortunately, this situation has been greatly improved since
release 5.0.0; the next release of hashcat should drop usage of
git submodules and provide better support for using existing
installations of dependencies.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option 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/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
    • Increase by 607 kB
  • Fits CONTRIBUTING.md.

This introduces a dependency on xxHash. Unfortunately, hashcat's
build system wants to rebuild xxHash from the source code located
in `<hashcat source root>/deps/git/xxHash`, a Git submodule whose
contents are not included in the source tarball we currently
download.

This could be fixed by either using a recursive git clone instead
a tarball download, or patching the build files to use an existing
installation of xxHash (i.e. the one already provided by Nix). I
believe the latter is preferable since it avoids the situation in
which the xxHash version used by hashcat is different to the xxHash
version used by all other Nix packages.

Fortunately, this situation has been greatly improved [1] since
release 5.0.0; the next release of hashcat should drop usage of
git submodules and provide better support for using existing
installations of dependencies.

[1] hashcat/hashcat@4177e1e
@kierdavis
Copy link
Contributor Author

@GrahamcOfBorg build hashcat

1 similar comment
@Mic92
Copy link
Member

Mic92 commented Nov 17, 2018

@GrahamcOfBorg build hashcat

@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: hashcat

Partial log (click to expand)


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

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


@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: hashcat

Partial log (click to expand)

install -m 755 hashcat                                   /nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0/bin/
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0
shrinking /nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0/bin/hashcat
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0/bin
patching script interpreter paths in /nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0
/nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0/share/doc/hashcat/extra/tab_completion/install: interpreter directive changed from "/bin/bash" to "/nix/store/dsyc1z7ck08ga7l0b1jcxx35wj69qcii-bash-4.4-p23/bin/bash"
checking for references to /build in /nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0...
/nix/store/q30wzh78c76bffy8pkykhncr72vx2glj-hashcat-5.0.0

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: hashcat

Partial log (click to expand)

install -m 755 hashcat                                   /nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0/bin/
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0
shrinking /nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0/bin/hashcat
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0/bin
patching script interpreter paths in /nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0
/nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0/share/doc/hashcat/extra/tab_completion/install: interpreter directive changed from "/bin/bash" to "/nix/store/r47p5pzx52m3n34vdgqpk5rvqgm0m24m-bash-4.4-p23/bin/bash"
checking for references to /build in /nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0...
/nix/store/blmkjlzzj6vy54q0dmsazc2hbr9ms34y-hashcat-5.0.0

@Mic92
Copy link
Member

Mic92 commented Nov 18, 2018

you can add yourself to the list for ofborg: NixOS/ofborg#254

@kierdavis kierdavis deleted the hashcat-5.0.0 branch November 18, 2018 16:22
@kierdavis
Copy link
Contributor Author

Thanks!

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

3 participants