mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-19 10:26:54 +01:00
504 lines
14 KiB
Markdown
Vendored
504 lines
14 KiB
Markdown
Vendored
# Third party libraries
|
|
|
|
Please keep categories (`##` level) listed alphabetically and matching their
|
|
respective folder names. Use two empty lines to separate categories for
|
|
readability.
|
|
|
|
## brotli
|
|
|
|
- Upstream: https://github.com/google/brotli
|
|
- Version: 1.1.0 (ed738e842d2fbdf2d6459e39267a633c4a9b2f5d, 2023)
|
|
- License: MIT
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `common/`, `dec/` and `include/` folders from `c/`,
|
|
minus the `dictionary.bin*` files
|
|
- `LICENSE`
|
|
|
|
## certs
|
|
|
|
- Upstream: Mozilla, via https://github.com/bagder/ca-bundle
|
|
- Version: git (bef37a977ccb45fb4c1b213b79dd6ba438077561, 2023)
|
|
- License: MPL 2.0
|
|
|
|
|
|
## cvtt
|
|
|
|
- Upstream: https://github.com/elasota/cvtt
|
|
- Version: 1.0.0-beta4 (cc8472a04ba110fe999c686d07af40f7839051fd, 2018)
|
|
- License: MIT
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .cpp, .h, and .txt files in ConvectionKernels/
|
|
|
|
## enet
|
|
|
|
- Upstream: http://enet.bespin.org
|
|
- Version: git (ea4607a90dbfbcf4da2669ea998585253d8e70b1, 2023)
|
|
- License: MIT
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .c files in the main directory (except unix.c win32.c)
|
|
- the include/enet/ folder as enet/ (except unix.h win32.h)
|
|
- LICENSE file
|
|
|
|
Important: enet.h, host.c, protocol.c have been slightly modified
|
|
to be usable by Godot's socket implementation and allow IPv6 and DTLS.
|
|
Apply the patches in the `patches/` folder when syncing on newer upstream
|
|
commits.
|
|
|
|
Three files (godot.cpp, enet/godot.h, enet/godot_ext.h) have been added to provide
|
|
enet socket implementation using Godot classes.
|
|
|
|
It is still possible to build against a system wide ENet but doing so
|
|
will limit its functionality to IPv4 only.
|
|
|
|
|
|
## etc2comp
|
|
|
|
- Upstream: https://github.com/google/etc2comp
|
|
- Version: git (9cd0f9cae0f32338943699bb418107db61bb66f2, 2017)
|
|
- License: Apache 2.0
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .cpp and .h files in EtcLib/
|
|
- README.md, LICENSE, AUTHORS
|
|
|
|
Important: Some files have Godot-made changes.
|
|
They are marked with `// -- PANDEMONIUM start --` and `// -- PANDEMONIUM end --`
|
|
comments.
|
|
|
|
|
|
## fonts
|
|
|
|
- `NotoSans*.woff2`, `NotoNaskhArabicUI_Regular.woff2`:
|
|
* Upstream: https://github.com/googlei18n/noto-fonts
|
|
* Version: 1.06 (2017)
|
|
* License: OFL-1.1
|
|
* Comment: Use UI font variant if available, because it has tight vertical metrics and
|
|
good for UI.
|
|
- `Hack_Regular.woff2`:
|
|
* Upstream: https://github.com/source-foundry/Hack
|
|
* Version: 3.003 (2018)
|
|
* License: MIT + Bitstream Vera License
|
|
- `DroidSans*.woff2`:
|
|
* Upstream: https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts/
|
|
* Version: ? (pre-2014 commit when DroidSansJapanese.ttf was obsoleted)
|
|
* License: Apache 2.0
|
|
- All fonts are converted from the `.ttf` sources using `https://github.com/google/woff2` tool.
|
|
|
|
|
|
## freetype
|
|
|
|
- Upstream: https://www.freetype.org
|
|
- Version: 2.12.1 (e8ebfe988b5f57bfb9a3ecb13c70d9791bce9ecf, 2022)
|
|
- License: FreeType License (BSD-like)
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `src/` folder, minus the `dlg` and `tools` subfolders
|
|
* These files can be removed: `.dat`, `.diff`, `.mk`, `.rc`, `README*`
|
|
* In `src/gzip/`, remove zlib files (everything but `ftgzip.c` and `ftzconf.h`)
|
|
- `include/` folder, minus the `dlg` subfolder
|
|
- `LICENSE.TXT` and `docs/FTL.TXT`
|
|
|
|
Some changes have been made in order to prevent LTO from removing code.
|
|
They are marked with `// -- GODOT start --` and `// -- GODOT end --`
|
|
comments. Apply the patches in the `patches/` folder when syncing on newer upstream
|
|
commits.
|
|
|
|
|
|
## glad
|
|
|
|
- Upstream: https://github.com/Dav1dde/glad
|
|
- Version: 0.1.34 (a5ca31c88a4cc5847ea012629aff3690f261c7c4, 2020)
|
|
- License: MIT
|
|
|
|
The files we package are automatically generated.
|
|
See the header of glad.c for instructions on how to generate them for
|
|
the GLES version Godot targets.
|
|
|
|
|
|
## jpeg-compressor
|
|
|
|
- Upstream: https://github.com/richgel999/jpeg-compressor
|
|
- Version: 2.00 (aeb7d3b463aa8228b87a28013c15ee50a7e6fcf3, 2020)
|
|
- License: Public domain or MIT
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `jpgd*.{c,h}`
|
|
|
|
|
|
## libogg
|
|
|
|
- Upstream: https://www.xiph.org/ogg
|
|
- Version: 1.3.5 (e1774cd77f471443541596e09078e78fdc342e4f, 2021)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `src/*.{c,h}`
|
|
- `include/ogg/*.h` in `ogg/` (run `configure` to generate `config_types.h`)
|
|
- `COPYING`
|
|
|
|
|
|
## libpng
|
|
|
|
- Upstream: http://libpng.org/pub/png/libpng.html
|
|
- Version: 1.6.40 (f135775ad4e5d4408d2e12ffcc71bb36e6b48551, 2023)
|
|
- License: libpng/zlib
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .c and .h files of the main directory, except from
|
|
`example.c` and `pngtest.c`
|
|
- the arm/ folder
|
|
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
|
|
- `LICENSE`
|
|
|
|
|
|
## libtheora
|
|
|
|
- Upstream: https://www.theora.org
|
|
- Version: 1.1.1 (2010)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .c, .h in lib/
|
|
- all .h files in include/theora/ as theora/
|
|
- COPYING and LICENSE
|
|
|
|
Upstream patches included in the `patches` directory have been applied
|
|
on top of the 1.1.1 source (not included in any stable release yet).
|
|
|
|
|
|
## libvorbis
|
|
|
|
- Upstream: https://www.xiph.org/vorbis
|
|
- Version: 1.3.7 (0657aee69dec8508a0011f47f3b69d7538e9d262, 2020)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `lib/*` except from: `lookups.pl`, `Makefile.*`
|
|
- `include/vorbis/*.h` as `vorbis/`
|
|
- `COPYING`
|
|
|
|
## mbedtls
|
|
|
|
- Upstream: https://github.com/Mbed-TLS/mbedtls
|
|
- Version: 2.28.7 (555f84735aecdbd76a566cf087ec8425dfb0c8ab, 2024)
|
|
- License: Apache 2.0
|
|
|
|
File extracted from upstream release tarball:
|
|
|
|
- All `.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/`
|
|
except `config_psa.h` and `psa_util.h`
|
|
- All `.c` and `.h` from `library/` to `thirdparty/mbedtls/library/` except
|
|
those starting with `psa_*`
|
|
- The `LICENSE` file (edited to keep only the Apache 2.0 variant)
|
|
- Applied the patch `windows-arm64-hardclock.diff` to fix Windows ARM64 build
|
|
Applied the patch `windows-entropy-bcrypt.diff` to fix Windows Store support
|
|
- Added 2 files `pandemonium_core_mbedtls_platform.c` and `pandemonium_core_mbedtls_config.h`
|
|
providing configuration for light bundling with core.
|
|
|
|
|
|
## minimp3
|
|
|
|
- Upstream: https://github.com/lieff/minimp3
|
|
- Version: git (afb604c06bc8beb145fecd42c0ceb5bda8795144, 2021)
|
|
- License: CC0 1.0
|
|
|
|
Files extracted from upstream repository:
|
|
|
|
- `minimp3.h`
|
|
- `minimp3_ex.h`
|
|
- `LICENSE`
|
|
|
|
|
|
## miniupnpc
|
|
|
|
- Upstream: https://github.com/miniupnp/miniupnp
|
|
- Version: 2.2.5 (58837ef586278d18cbebee50be758835ed4be79a, 2023)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- Copy `miniupnpc/src` and `miniupnpc/include` to `thirdparty/miniupnpc`
|
|
- Remove the following test or sample files:
|
|
`listdevices.c minihttptestserver.c miniupnpcmodule.c upnpc.c upnperrors.* test*`
|
|
- `LICENSE`
|
|
|
|
The only modified file is `src/miniupnpcstrings.h`, which was created for Godot
|
|
(it is usually autogenerated by cmake). Bump the version number for miniupnpc in
|
|
that file when upgrading.
|
|
|
|
|
|
## minizip
|
|
|
|
- Upstream: https://www.zlib.net
|
|
- Version: 1.3 (zlib contrib, 2023)
|
|
- License: zlib
|
|
|
|
Files extracted from the upstream source:
|
|
|
|
- From `contrib/minizip`:
|
|
`{crypt.h,ioapi.{c,h},unzip.{c,h},zip.{c,h}}`
|
|
`MiniZip64_info.txt`
|
|
|
|
|
|
Important: Some files have Godot-made changes for use in core/io.
|
|
They are marked with `/* PANDEMONIUM start */` and `/* PANDEMONIUM end */`
|
|
comments and a patch is provided in the `patches` folder.
|
|
|
|
Another patch is included to fix CVE-2023-45853.
|
|
|
|
|
|
## misc
|
|
|
|
Collection of single-file libraries used in Godot components.
|
|
|
|
- `clipper.{cpp,hpp}`
|
|
* Upstream: https://sourceforge.net/projects/polyclipping
|
|
* Version: 6.4.2 (2017) + Godot changes (added optional exceptions handling)
|
|
* License: BSL-1.0
|
|
- `fastlz.{c,h}`
|
|
* Upstream: https://github.com/ariya/FastLZ
|
|
* Version: 0.5.0 (4f20f54d46f5a6dd4fae4def134933369b7602d2, 2020)
|
|
* License: MIT
|
|
- `hq2x.{cpp,h}`
|
|
* Upstream: https://github.com/brunexgeek/hqx
|
|
* Version: TBD, file structure differs
|
|
* License: Apache 2.0
|
|
- `ifaddrs-android.{cc,h}`
|
|
* Upstream: https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/base/ifaddrs-android.h
|
|
* Version: git (5976650443d68ccfadf1dea24999ee459dd2819d, 2013)
|
|
* License: BSD-3-Clause
|
|
- `mikktspace.{c,h}`
|
|
* Upstream: https://archive.blender.org/wiki/index.php/Dev:Shading/Tangent_Space_Normal_Maps/
|
|
* Version: 1.0 (2011)
|
|
* License: zlib
|
|
- `open-simplex-noise.{c,h}`
|
|
* Upstream: https://github.com/smcameron/open-simplex-noise-in-c
|
|
* Version: git (826f1dd1724e6fb3ff45f58e48c0fbae864c3403, 2020) + custom changes
|
|
* License: Public Domain or Unlicense
|
|
- `pcg.{cpp,h}`
|
|
* Upstream: http://www.pcg-random.org
|
|
* Version: minimal C implementation, http://www.pcg-random.org/download.html
|
|
* License: Apache 2.0
|
|
- `smaz.{c,h}`
|
|
* Upstream: https://github.com/antirez/smaz
|
|
* Version: git (2f625846a775501fb69456567409a8b12f10ea25, 2012)
|
|
* License: BSD-3-Clause
|
|
* Modifications: use `const char*` instead of `char*` for input string
|
|
- `stb_rect_pack.h`
|
|
* Upstream: https://github.com/nothings/stb
|
|
* Version: 1.01 (1ee679ca2ef753a528db5ba6801e1067b40481b8, 2021)
|
|
* License: Public Domain or Unlicense or MIT
|
|
- `stb_vorbis.c`
|
|
* Upstream: https://github.com/nothings/stb
|
|
* Version: 1.22 (1ee679ca2ef753a528db5ba6801e1067b40481b8, 2021)
|
|
* License: Public Domain or Unlicense or MIT
|
|
- `triangulator.{cpp,h}`
|
|
* Upstream: https://github.com/ivanfratric/polypartition (`src/polypartition.cpp`)
|
|
* Version: TBD, class was renamed
|
|
* License: MIT
|
|
- `yuv2rgb.h`
|
|
* Upstream: http://wss.co.uk/pinknoise/yuv2rgb/ (to check)
|
|
* Version: ?
|
|
* License: BSD
|
|
|
|
|
|
## nanosvg
|
|
|
|
- Upstream: https://github.com/memononen/nanosvg
|
|
- Version: git (f0a3e1034dd22e2e87e5db22401e44998383124e, 2022)
|
|
- License: zlib
|
|
|
|
Files extracted from the upstream source:
|
|
|
|
- All `.h` files in `src/`
|
|
- `LICENSE.txt`
|
|
|
|
`nanosvg.cc` is a custom file added to configure the build of the header only
|
|
library.
|
|
|
|
|
|
## opus
|
|
|
|
- Upstream: https://opus-codec.org
|
|
- Version: 1.1.5 (opus) and 0.8 (opusfile) (2017)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .c and .h files in src/ (both opus and opusfile)
|
|
- all .h files in include/ (both opus and opusfile) as opus/
|
|
- remove unused `opus_demo.c`,
|
|
- remove `http.c`, `wincerts.c` and `winerrno.h` (part of
|
|
unused libopusurl)
|
|
- celt/ and silk/ subfolders
|
|
- COPYING
|
|
|
|
|
|
## pcre2
|
|
|
|
- Upstream: http://www.pcre.org
|
|
- Version: 10.42 (52c08847921a324c804cabf2814549f50bce1265, 2022)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- Files listed in the file NON-AUTOTOOLS-BUILD steps 1-4
|
|
- All .h files in src/ apart from pcre2posix.h
|
|
- src/pcre2_jit_match.c
|
|
- src/pcre2_jit_misc.c
|
|
- src/sljit/
|
|
- AUTHORS and LICENCE
|
|
|
|
A sljit patch from upstream was backported to fix macOS < 11.0 compilation
|
|
in 10.40, it can be found in the `patches` folder.
|
|
|
|
|
|
## pvrtccompressor
|
|
|
|
- Upstream: https://bitbucket.org/jthlim/pvrtccompressor (dead link)
|
|
Unofficial backup fork: https://github.com/LibreGamesArchive/PVRTCCompressor
|
|
- Version: hg (cf7177748ee0dcdccfe89716dc11a47d2dc81af5, 2015)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .cpp and .h files apart from `main.cpp`
|
|
- LICENSE.TXT
|
|
|
|
|
|
## recastnavigation
|
|
|
|
- Upstream: https://github.com/recastnavigation/recastnavigation
|
|
- Version: 1.6.0 (6dc1667f580357e8a2154c28b7867bea7e8ad3a7, 2023)
|
|
- License: zlib
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `Recast/` folder without `CMakeLists.txt`
|
|
- License.txt
|
|
|
|
|
|
## rvo2
|
|
|
|
For 2D in `rvo2_2d` folder
|
|
|
|
- Upstream: https://github.com/snape/RVO2
|
|
- Version: git (f7c5380235f6c9ac8d19cbf71fc94e2d4758b0a3, 2021)
|
|
- License: Apache 2.0
|
|
|
|
For 3D in `rvo2_3d` folder
|
|
|
|
- Upstream: https://github.com/snape/RVO2-3D
|
|
- Version: git (bfc048670a4e85066e86a1f923d8ea92e3add3b2, 2021)
|
|
- License: Apache 2.0
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- All .cpp and .h files in the `src/` folder except for Export.h and RVO.h
|
|
- LICENSE
|
|
|
|
Important: Nearly all files have Godot-made changes and renames
|
|
to make the 2D and 3D rvo libraries compatible with each other
|
|
and solve conflicts and also enrich the feature set originally
|
|
proposed by these libraries and better integrate them with Godot.
|
|
|
|
|
|
## squish
|
|
|
|
- Upstream: https://sourceforge.net/projects/libsquish
|
|
- Version: 1.15 (r104, 2017)
|
|
- License: MIT
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- all .cpp, .h and .inl files
|
|
|
|
Important: Some files have Godot-made changes.
|
|
They are marked with `// -- PANDEMONIUM start --` and `// -- PANDEMONIUM end --`
|
|
comments and a patch is provided in the squish/ folder.
|
|
|
|
|
|
## tinyexr
|
|
|
|
- Upstream: https://github.com/syoyo/tinyexr
|
|
- Version: 1.0.7 (6e8cac308cdf4d717078f3f37c4aa39bf3b356b4, 2023)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `tinyexr.{cc,h}`
|
|
|
|
The `tinyexr.cc` file was modified to include `zlib.h` which we provide,
|
|
instead of `miniz.h` as an external dependency.
|
|
|
|
|
|
## vhacd
|
|
|
|
- Upstream: https://github.com/kmammou/v-hacd
|
|
- Version: git (b07958e18e01d504e3af80eeaeb9f033226533d7, 2019)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- From `src/VHACD_Lib/`: `inc`, `public` and `src`
|
|
- `LICENSE`
|
|
|
|
Some downstream changes have been made and are identified by
|
|
`// -- PANDEMONIUM start --` and `// -- PANDEMONIUM end --` comments.
|
|
They can be reapplied using the patches included in the `vhacd`
|
|
folder.
|
|
|
|
|
|
## wslay
|
|
|
|
- Upstream: https://github.com/tatsuhiro-t/wslay
|
|
- Version: 1.1.1+git (0e7d106ff89ad6638090fd811a9b2e4c5dda8d40, 2022)
|
|
- License: MIT
|
|
|
|
File extracted from upstream release tarball:
|
|
|
|
- Run `cmake .` to generate `config.h` and `wslayver.h`.
|
|
Contents might need tweaking for Godot, review diff.
|
|
- All `*.c` and `*.h` files from `lib/`
|
|
- All `*.h` in `lib/includes/wslay/` as `wslay/`
|
|
- `wslay/wslay.h` has a small Godot addition to fix MSVC build.
|
|
See `patches/msvcfix.diff`
|
|
- `COPYING`
|
|
|
|
|
|
## zlib
|
|
|
|
- Upstream: https://www.zlib.net
|
|
- Version: 1.3 (2023)
|
|
- License: zlib
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- All `*.c` and `*.h` files, minus `infback.c`
|
|
- `LICENSE`
|
|
|
|
|
|
## zstd
|
|
|
|
- Upstream: https://github.com/facebook/zstd
|
|
- Version: 1.5.5 (63779c798237346c2b245c546c40b72a5a5913fe, 2023)
|
|
- License: BSD-3-Clause
|
|
|
|
Files extracted from upstream source:
|
|
|
|
- `lib/{common/,compress/,decompress/,zstd.h,zstd_errors.h}`
|
|
- `LICENSE`
|