summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2022-12-09 14:45:31 +0100
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2022-12-10 17:13:59 +0100
commitdfaad6f5baa01c6c0975237963e35edcfa37ec08 (patch)
tree393ac5d8e204c6d87337f0f9663b2db1db2e4a08
parent35bdd5efa71ba32a6c1cdfbabfa4b8dc71760aac (diff)
downloadfork-godot-webrtc-native-dfaad6f5baa01c6c0975237963e35edcfa37ec08.tar.gz
fork-godot-webrtc-native-dfaad6f5baa01c6c0975237963e35edcfa37ec08.tar.bz2
fork-godot-webrtc-native-dfaad6f5baa01c6c0975237963e35edcfa37ec08.zip
Bump godot-cpp to beta8, libdatachannel to v0.18.0
libdatachannel and libjuice are now released under MPL 2.0. Dependencies has been refactored under a `thirdparty` folder similar to what we have in Godot, with a dedicated `thirdparty/README.md` containing details information on dependencies upstreams, versions, and licenses.
-rw-r--r--.github/workflows/build_release.yml18
-rw-r--r--.gitmodules4
-rw-r--r--README.md4
-rw-r--r--SConstruct2
-rw-r--r--bin/thirdparty/.gitignore (renamed from deps/build/.gitignore)0
-rw-r--r--builders.py4
m---------deps/libdatachannel0
m---------godot-cpp0
-rw-r--r--thirdparty/README.md82
m---------thirdparty/libdatachannel0
m---------thirdparty/openssl (renamed from deps/openssl)0
11 files changed, 98 insertions, 16 deletions
diff --git a/.github/workflows/build_release.yml b/.github/workflows/build_release.yml
index ab7ee01..668d26a 100644
--- a/.github/workflows/build_release.yml
+++ b/.github/workflows/build_release.yml
@@ -177,7 +177,9 @@ jobs:
- uses: actions/upload-artifact@v3
with:
name: ${{ github.job }}-${{ matrix.platform }}-${{ matrix.arch }}
- path: bin/*
+ path: |
+ bin/
+ !bin/thirdparty/
package:
name: 📦 Package
@@ -195,13 +197,13 @@ jobs:
- name: Bundle licenses.
run: |
cp LICENSE artifacts/LICENSE.webrtc-native
- cp deps/libdatachannel/LICENSE artifacts/LICENSE.libdatachannel
- cp deps/openssl/LICENSE.txt artifacts/LICENSE.openssl
- cp deps/libdatachannel/deps/libjuice/LICENSE artifacts/LICENSE.libjuice
- cp deps/libdatachannel/deps/usrsctp/LICENSE.md artifacts/LICENSE.usrsctp
- cp deps/libdatachannel/deps/libsrtp/LICENSE artifacts/LICENSE.libsrtp
- cp deps/libdatachannel/deps/json/LICENSE.MIT artifacts/LICENSE.json
- cp deps/libdatachannel/deps/plog/LICENSE artifacts/LICENSE.plog
+ cp thirdparty/libdatachannel/LICENSE artifacts/LICENSE.libdatachannel
+ cp thirdparty/openssl/LICENSE.txt artifacts/LICENSE.openssl
+ cp thirdparty/libdatachannel/deps/libjuice/LICENSE artifacts/LICENSE.libjuice
+ cp thirdparty/libdatachannel/deps/usrsctp/LICENSE.md artifacts/LICENSE.usrsctp
+ cp thirdparty/libdatachannel/deps/libsrtp/LICENSE artifacts/LICENSE.libsrtp
+ cp thirdparty/libdatachannel/deps/json/LICENSE.MIT artifacts/LICENSE.json
+ cp thirdparty/libdatachannel/deps/plog/LICENSE artifacts/LICENSE.plog
- name: Package artifacts for release
env:
diff --git a/.gitmodules b/.gitmodules
index 1aa8d48..cc07501 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -5,8 +5,8 @@
path = godot-cpp
url = https://github.com/godotengine/godot-cpp.git
[submodule "libdatachannel"]
- path = deps/libdatachannel
+ path = thirdparty/libdatachannel
url = https://github.com/paullouisageneau/libdatachannel.git
[submodule "openssl"]
- path = deps/openssl
+ path = thirdparty/openssl
url = https://github.com/openssl/openssl.git
diff --git a/README.md b/README.md
index b2e87f9..458f399 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,4 @@ You simply need to copy that folder to the root folder of your project. Note tha
### License
-The `webrtc-native` plugin is licensed under the MIT license (see [LICENSE](https://github.com/godotengine/webrtc-native/blob/master/LICENSE)), while `libdatachannel` and one of its dependencies (`libjuice`) are licensed under LGPLv2.1 or later, see [libdatachannel LICENSE](https://github.com/paullouisageneau/libdatachannel/blob/master/LICENSE) and [libjuice LICENSE](https://github.com/paullouisageneau/libjuice/blob/master/LICENSE).
-
-Make sure you understand and comply with the LGPLv2.1 license when redistributing this plugin.
+The `webrtc-native` plugin is licensed under the MIT license (see [LICENSE](https://github.com/godotengine/webrtc-native/blob/master/LICENSE)), while `libdatachannel` and its dependencies are licensed under other permissive open source licences. Please see [`thirdparty/README.md`](thirdparty/README.md) for more informations.
diff --git a/SConstruct b/SConstruct
index 755d650..e804557 100644
--- a/SConstruct
+++ b/SConstruct
@@ -101,7 +101,6 @@ else:
result_path = os.path.join("bin", "extension", "webrtc")
# Dependencies
-deps_source_dir = "deps"
env.Append(BUILDERS={
"BuildOpenSSL": env.Builder(action=builders.ssl_action, emitter=builders.ssl_emitter),
"BuildLibDataChannel": env.Builder(action=builders.rtc_action, emitter=builders.rtc_emitter),
@@ -126,6 +125,7 @@ env.Prepend(LIBS=[builders.get_rtc_libs(env)])
# Our includes and sources
env.Append(CPPPATH=["src/"])
+env.Append(CPPDEFINES=["RTC_STATIC"])
sources = []
sources.append(
[
diff --git a/deps/build/.gitignore b/bin/thirdparty/.gitignore
index d6b7ef3..d6b7ef3 100644
--- a/deps/build/.gitignore
+++ b/bin/thirdparty/.gitignore
diff --git a/builders.py b/builders.py
index 2f35527..8f1a3bd 100644
--- a/builders.py
+++ b/builders.py
@@ -8,11 +8,11 @@ def get_android_api(env):
def get_deps_dir(env):
- return env.Dir("#deps").abspath
+ return env.Dir("#thirdparty").abspath
def get_deps_build_dir(env):
- return get_deps_dir(env) + "/build/build{}.{}.dir".format(env["suffix"], "RelWithDebInfo" if env["debug_symbols"] else "Release")
+ return env.Dir("#bin/thirdparty").abspath + "/{}.{}.dir".format(env["suffix"][1:], "RelWithDebInfo" if env["debug_symbols"] else "Release")
def get_rtc_source_dir(env):
diff --git a/deps/libdatachannel b/deps/libdatachannel
deleted file mode 160000
-Subproject 1ec2a2f519df5586af191b512b23d792524e44f
diff --git a/godot-cpp b/godot-cpp
-Subproject 576bd172851932ba3db95fda8760b4f297c89ef
+Subproject c20ecea090dc0d6fa31f4b72b95dc1f30473654
diff --git a/thirdparty/README.md b/thirdparty/README.md
new file mode 100644
index 0000000..94e1e8f
--- /dev/null
+++ b/thirdparty/README.md
@@ -0,0 +1,82 @@
+# Third party libraries
+
+Please keep categories (`##` level) listed alphabetically and matching their
+respective folder names. Use two empty lines to separate categories for
+readability.
+
+
+## json
+
+- Upstream: https://github.com/nlohmann/json
+- Version: 3.10.5 (4f8fba14066156b73f1189a2b8bd568bde5284c5, 2022)
+- License: MIT
+
+Module location:
+
+- thirdparty/libdatachannel/deps/json
+
+
+## libdatachannel
+
+- Upstream: https://github.com/paullouisageneau/libdatachannel
+- Version: 0.18.0 (084445012d6c63c9f2cc250d88df553aed2eb189, 2022)
+- License: MPL 2.0
+
+Module location:
+
+- thirdparty/libdatachannel
+
+
+# libjuice
+
+- Upstream: https://github.com/paullouisageneau/libjuice
+- Version: 1.1.0 (0dabc046cd23da6908749e4c6add834ec29a7c49, 2022)
+- License: MPL 2.0
+
+Module location:
+
+- thirdparty/libdatachannel/deps/libjuice
+
+
+## libsrtp
+
+- Upstream: https://github.com/cisco/libsrtp
+- Version: 2.4.2 (90d05bf8980d16e4ac3f16c19b77e296c4bc207b, 2021)
+- License: BSD-3-Clause
+
+Module location:
+
+- thirdparty/libdatachannel/deps/libsrtp
+
+
+## openssl
+
+- Upstream: git://git.openssl.org/openssl.git
+- Version: 3.0.7 (19cc035b6c6f2283573d29c7ea7f7d675cf750ce, 2022)
+- License: Apache 2.0
+
+Module location:
+
+- thirdparty/openssl
+
+
+## plog
+
+- Upstream: https://github.com/SergiusTheBest/plog
+- Version: git (d8461e9d473e59fbcc1f79eee021550dcf81e618, 2021)
+- License: MPL 2.0
+
+Module location:
+
+- thirdparty/libdatachannel/deps/plog
+
+
+## usrsctp
+
+- Upstream: https://github.com/sctplab/usrsctp
+- Version: git (7c31bd35c79ba67084ce029511193a19ceb97447, 2021)
+- License: BSD-3-Clause
+
+Module location:
+
+- thirdparty/libdatachannel/deps/usrsctp
diff --git a/thirdparty/libdatachannel b/thirdparty/libdatachannel
new file mode 160000
+Subproject 084445012d6c63c9f2cc250d88df553aed2eb18
diff --git a/deps/openssl b/thirdparty/openssl
-Subproject 19cc035b6c6f2283573d29c7ea7f7d675cf750c
+Subproject 19cc035b6c6f2283573d29c7ea7f7d675cf750c