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

efl: patch binary to handle manual dependency on libcurl.so #37920

Merged
merged 1 commit into from Mar 31, 2018
Merged

efl: patch binary to handle manual dependency on libcurl.so #37920

merged 1 commit into from Mar 31, 2018

Conversation

romildo
Copy link
Contributor

@romildo romildo commented Mar 27, 2018

Motivation for this change

EFL has a runtime dependency on libcurl.so that is manually linked with dlopen, as expalined in #25412 (comment).

Instead of wrapping all binaries that depends on EFL so that libcurl.so can be found, this PR patches the EFL library itself to add libcurl.so as a needed library. This way all binaries with such dependency on libcurl.so are automatically fixed. Therefore this also fixes the issue with some binaries that has not been wrapped, like emixer (from enlightenment).

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.

@romildo
Copy link
Contributor Author

romildo commented Mar 27, 2018

@GrahamcOfBorg build efl econnman enlightenment ephoto rage terminology

@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: efl, econnman, enlightenment, ephoto, rage, terminology

Partial log (click to expand)


Cannot nix-instantiate `ephoto' because:
�[31;1merror:�[0m attribute 'ephoto' in selection path 'ephoto' not found

Cannot nix-instantiate `rage' because:
�[31;1merror:�[0m attribute 'rage' in selection path 'rage' not found

Cannot nix-instantiate `terminology' because:
�[31;1merror:�[0m attribute 'terminology' in selection path 'terminology' not found

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: enlightenment

The following builds were skipped because they don't evaluate on x86_64-linux: efl, econnman, ephoto, rage, terminology

Partial log (click to expand)

 /nix/store/qrxs7sabhqcr3j9ai0j0cp58zfnny0jz-coreutils-8.29/bin/install -c -m 644 data/theme/default.edj '/nix/store/4q3aaxv7jzl8aw5pb4vybyxfz4rmv7cx-econnman-1.1/share/econnman/theme'
wrapping `/nix/store/4q3aaxv7jzl8aw5pb4vybyxfz4rmv7cx-econnman-1.1/bin/econnman-bin'...
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/4q3aaxv7jzl8aw5pb4vybyxfz4rmv7cx-econnman-1.1
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/4q3aaxv7jzl8aw5pb4vybyxfz4rmv7cx-econnman-1.1/bin
patching script interpreter paths in /nix/store/4q3aaxv7jzl8aw5pb4vybyxfz4rmv7cx-econnman-1.1
/nix/store/4q3aaxv7jzl8aw5pb4vybyxfz4rmv7cx-econnman-1.1/bin/.econnman-bin-wrapped: interpreter directive changed from "/usr/bin/python" to "/nix/store/mqwnygh4nb8hdvj3sr9vr092kn39xhpm-python-2.7.14/bin/python"
checking for references to /build in /nix/store/4q3aaxv7jzl8aw5pb4vybyxfz4rmv7cx-econnman-1.1...

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: enlightenment

The following builds were skipped because they don't evaluate on aarch64-linux: efl, econnman, ephoto, rage, terminology

Partial log (click to expand)

cannot build derivation '/nix/store/fbq8kc3247a4lsch90v1rkw6bv9s7qkk-efl-1.20.7.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/9piai2wfkixbrhy3xmrdl3v9r1ig3pqz-gst-plugins-bad-1.12.3.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/92wjazfxwjpwv6zkqr6xkdxcy1illhny-hook.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/dyrmia8zzmz7fp9fmdgjla1yx7zgmfhb-enlightenment-0.22.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/j37c78q02k3m10q9vcpv5psf0dfgcw60-ephoto-1.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/yfip8i98gw1isggfsa80kidh10gmd4xp-python2.7-python-efl-1.20.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/kp54rkyb7fl0md3rbmy99ixamcivn3p1-rage-0.3.0.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/6bxq00y381xy4nqp3r1gdryapncll5dp-terminology-1.1.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/rjwxla17a4k92qpi19dymmfxz99zf9mx-econnman-1.1.drv': 2 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/6bxq00y381xy4nqp3r1gdryapncll5dp-terminology-1.1.1.drv', '/nix/store/dyrmia8zzmz7fp9fmdgjla1yx7zgmfhb-enlightenment-0.22.2.drv', '/nix/store/fbq8kc3247a4lsch90v1rkw6bv9s7qkk-efl-1.20.7.drv', '/nix/store/j37c78q02k3m10q9vcpv5psf0dfgcw60-ephoto-1.5.drv', '/nix/store/kp54rkyb7fl0md3rbmy99ixamcivn3p1-rage-0.3.0.drv', '/nix/store/rjwxla17a4k92qpi19dymmfxz99zf9mx-econnman-1.1.drv' failed

@Mic92 Mic92 merged commit d060c3d into NixOS:master Mar 31, 2018
@romildo romildo deleted the fix.efl branch March 31, 2018 17:40
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