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

llvmPackages_7: misc improvements for lldClang #120790

Merged
merged 4 commits into from
May 12, 2021

Conversation

sternenseemann
Copy link
Member

Motivation for this change

This stems from my attempts to make ncurses (more specifically its C++ library) work with useLLVM == true. While this hasn't worked out yet, the libunwind derivation is at least a bit better now.

Curiously, it works with LLVM 8 and I'm not sure what difference between the versions exactly causes that.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • 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 nixpkgs-review --run "nixpkgs-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)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@r-rmcgibbo
Copy link

Result of nixpkgs-review pr 120790 at 03a58636 run on x86_64-linux 1

8 packages marked as broken and skipped:
  • clang-sierraHack
  • clang-sierraHack-stdenv
  • darwin.binutils
  • darwin.binutils-unwrapped
  • darwin.cctools
  • darwin.maloader
  • jucipp
  • macdylibbundler
23 packages skipped due to time constraints:
  • apktool
  • citrix_workspace (citrix_workspace_21_03_0)
  • citrix_workspace_20_04_0
  • citrix_workspace_20_06_0
  • citrix_workspace_20_09_0
  • citrix_workspace_20_10_0
  • citrix_workspace_20_12_0
  • citrix_workspace_21_01_0
  • discord
  • discord-canary
  • ...
3 packages built successfully:
  • libcxx (llvmPackages.libcxx ,llvmPackages_7.libcxx)
  • libcxxabi (llvmPackages.libcxxabi ,llvmPackages_7.libcxxabi)
  • llvmPackages.libunwind (llvmPackages_7.libunwind)
2 suggestions:
  • warning: maintainers-missing

    Package does not have a maintainer. Consider adding yourself?

    Near pkgs/development/compilers/llvm/7/libunwind/default.nix:32:3:

       |
    32 |   cmakeFlags = lib.optionals (!enableShared) [
       |   ^
    
  • warning: license-missing

    Package is missing a license.

    Near pkgs/development/compilers/llvm/7/libunwind/default.nix:32:3:

       |
    32 |   cmakeFlags = lib.optionals (!enableShared) [
       |   ^
    

sternenseemann added a commit to sternenseemann/nixpkgs that referenced this pull request May 10, 2021
Provide a version of nixpkgs which is built using the LLVM toolchain.
This is achieved by reusing the useLLVM attribute usable in the cross
toolchain bootstrapping which is a) perfectly acceptable and b) the only
way to bootstrap a LLVM stdenv across platforms without unreasonable
amounts of work.

This is mostly working now since we fixed some issues with
llvmPackages_7.lldClang in NixOS#119717 and compile glibc with gcc at all
times as of NixOS#119786 (since clang can't compile our glibc at the moment).
There are seemingly some issues left to be ironed out, for example the
C++ library of ncurses fails to build with a linking issue. I have
attempted to alleviate that problem with NixOS#120790, but to no avail so
far.

Nonetheless, having a working pkgsLLVM.hello is a good start.

A currently present issue is that there is no way to change the libc
since there is some issue with lldClang actually picking up on the set
libc. This will need investigation and fixing.
@Ericson2314
Copy link
Member

This was failing eval but I merged as part of #122655 which wasn't. Bisecting --first-parent won't be any worse because there is just one merge commit for the downstream PR.

@sternenseemann sternenseemann deleted the llvm7-imporvements branch May 12, 2021 09:42
@rrbutani rrbutani added the 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related label May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 10.rebuild-darwin: 1-10 10.rebuild-linux: 11-100
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants