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

libwebrtc #100062

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft

libwebrtc #100062

wants to merge 6 commits into from

Conversation

@mkg20001
Copy link
Member

@mkg20001 mkg20001 commented Oct 9, 2020

Motivation for this change

Make telegram calls work again

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.
@mkg20001
Copy link
Member Author

@mkg20001 mkg20001 commented Oct 9, 2020

Currently there's a problem with gclient, as it tries to fetch the source

Possibly creating a git repo out of the source and fetching from there could work, or disabling pulling

@mkg20001
Copy link
Member Author

@mkg20001 mkg20001 commented Oct 9, 2020

Got the cloning to work, problem is there's a list of deps in ${src}/DEPS that it tries to pull in

Should be possible to take those deps and also create fake git repos

@mkg20001
Copy link
Member Author

@mkg20001 mkg20001 commented Oct 9, 2020

Working on pre-fetching those deps and then placing them into the right dir in configure

@mkg20001
Copy link
Member Author

@mkg20001 mkg20001 commented Oct 9, 2020

I postponed that until I actually get past configure phase

@primeos
Copy link
Member

@primeos primeos commented Oct 9, 2020

Currently there's a problem with gclient, as it tries to fetch the source

Yeah, that should be the most difficult problem to solve.

Working on pre-fetching those deps and then placing them into the right dir in configure

That would be very nice if that works out.

If it turns out to be too difficult and if gclient fetches the dependencies in a deterministic way (AFAIK all dependencies are either specified via a Git revision (but git-clone isn't deterministic IIRC) or e.g. a hash of the binary to fetch) then you could also write an intermediate fixed-output derivation that takes the libwebrtc source and then runs gclient to fetch the sources.

Edit: Oh and huge thanks for looking into this btw :)

@mkg20001
Copy link
Member Author

@mkg20001 mkg20001 commented Oct 9, 2020

Currently git fetching is done by nix-prefetch-git, but some of the packages have cipd packages as sources specified, I'm not sure how that should be handled

So far I've found that packages require a platform variable, like linux-amd64, which if replaced leads to a package https://chrome-infra-packages.appspot.com/p/infra/tools/luci/isolate/linux-amd64/+/

Then choosing the latest version and downloading that https://chrome-infra-packages.appspot.com/p/infra/tools/luci/isolate/linux-amd64/+/ScErc0J9LrGAd_W-B-h0JC5BGACx-AQrJl4NVezfSAUC gives a zip file

In that particular case I got a binary, I'd either need to patchelf it or create a FHS, right?

This is getting complicated...

@primeos
Copy link
Member

@primeos primeos commented Oct 10, 2020

In that particular case I got a binary, I'd either need to patchelf it or create a FHS, right?

Yeah, running the autoPatchelf command manually might be the best/easiest approach (see autoPatchelfHook in https://nixos.org/manual/nixpkgs/stable/#ssec-setup-hooks). There might be an even better approach but I never really looked into those things (/ luckily never needed them much).

This is getting complicated...

Yeah, unfortunately this'll be a huge PITA to get packaged with Nix :o

@SuperSandro2000
Copy link
Member

@SuperSandro2000 SuperSandro2000 commented Nov 27, 2020

Please fix the pipeline.

@mkg20001
Copy link
Member Author

@mkg20001 mkg20001 commented Nov 29, 2020

I currently don't have the time to push this forward. PR can be taken over if someone else is willing to finish it

@SuperSandro2000
Copy link
Member

@SuperSandro2000 SuperSandro2000 commented Dec 27, 2020

@ofborg eval

@stale
Copy link

@stale stale bot commented Jun 26, 2021

I marked this as stale due to inactivity. → More info

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants