[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #28942 [Circumvention/Snowflake]: Evaluate pion WebRTC
#28942: Evaluate pion WebRTC
--------------------------------------------+------------------------------
Reporter: backkem | Owner: cohosh
Type: enhancement | Status: accepted
Priority: Medium | Milestone:
Component: Circumvention/Snowflake | Version:
Severity: Normal | Resolution:
Keywords: anti-censorship-roadmap-august | Actual Points:
Parent ID: | Points: 5
Reviewer: | Sponsor:
| Sponsor28-must
--------------------------------------------+------------------------------
Comment (by boklm):
Replying to [comment:40 dcf]:
> Replying to [comment:39 cohosh]:
> > Just to give an update on this, building Tor Browser with this pion
library is a bit painful right now. Our reproducible build system (rbm)
doesn't work nicely with modules and, after a conversation with boklm,
it's preferrable to create a separate project for each go lib dependency.
This means a total of 13 pion libraries plus an additional 14+
dependencies that these libraries have. There might be more, I stopped
going down the rabbit hole after a while. I don't think creating 30-ish
projects just to build this is a viable or sustainable option.
>
> I'm going to try brute-force packaging all the dependency projects. The
`go mod graph` command outputs a tree of dependencies. I'm going to use
that to try and automate the creation of most of the dependency projects,
probably followed by some manual editing.
One idea that I didn't try yet but that could maybe help with this would
be to create a generic `go-module` project, in order to be able to list
all go dependencies in `input_files` without having to create a separate
project for each. For example a project requiring goxnet and goxsys would
include this in its `input_files`:
{{{
input_files:
- project: go-module
git_url: https://go.googlesource.com/net
git_hash: 7dbad50ab5b31073856416cdcfeb2796d682f844
var:
go_module_name: goxnet
go_lib: golang.org/x/net
go_lib_install:
- golang.org/x/net/proxy
- project: go-module
git_url: https://github.com/golang/sys
git_hash: 11f53e03133963fb11ae0588e08b5e0b85be8be5
var:
go_module_name: goxsys
go_lib: golang.org/x/sys
go_lib_install:
- golang.org/x/sys/cpu
}}}
In order to avoid cloning all modules in the same `git_clones` directory,
`projects/go-module/config` would need to define `git_clone_dir` to
something like:
{{{
git_clone_dir: 'git_clones/go-module/[% c("var/go_module_name") %]'
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28942#comment:42>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs