From 62785d463c3da99beb8f339f600b04b6222273c2 Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Wed, 16 Oct 2024 19:48:23 -0400 Subject: [PATCH] This is how you can lock meson build dependencies. Not sure why I didn't think of this before but you just put the .wrap files somewhere and instead of meson wrap install you copy them into subprojects. --- scripts/reset_build.ps1 | 18 +----------------- scripts/reset_build.sh | 18 ++---------------- wraps/catch2.wrap | 11 +++++++++++ wraps/efsw.wrap | 11 +++++++++++ wraps/flac.wrap | 13 +++++++++++++ wraps/fmt.wrap | 13 +++++++++++++ wraps/freetype2.wrap | 11 +++++++++++ wraps/imgui-sfml.wrap | 13 +++++++++++++ wraps/imgui.wrap | 13 +++++++++++++ wraps/libgit2.wrap | 11 +++++++++++ wraps/libpng.wrap | 13 +++++++++++++ wraps/nlohmann_json.wrap | 11 +++++++++++ wraps/ogg.wrap | 13 +++++++++++++ wraps/openal-soft.wrap | 13 +++++++++++++ wraps/sfml.wrap | 13 +++++++++++++ wraps/sqlite3.wrap | 13 +++++++++++++ wraps/sqlitecpp.wrap | 10 ++++++++++ wraps/vorbis.wrap | 14 ++++++++++++++ 18 files changed, 199 insertions(+), 33 deletions(-) create mode 100644 wraps/catch2.wrap create mode 100644 wraps/efsw.wrap create mode 100644 wraps/flac.wrap create mode 100644 wraps/fmt.wrap create mode 100644 wraps/freetype2.wrap create mode 100644 wraps/imgui-sfml.wrap create mode 100644 wraps/imgui.wrap create mode 100644 wraps/libgit2.wrap create mode 100644 wraps/libpng.wrap create mode 100644 wraps/nlohmann_json.wrap create mode 100644 wraps/ogg.wrap create mode 100644 wraps/openal-soft.wrap create mode 100644 wraps/sfml.wrap create mode 100644 wraps/sqlite3.wrap create mode 100644 wraps/sqlitecpp.wrap create mode 100644 wraps/vorbis.wrap diff --git a/scripts/reset_build.ps1 b/scripts/reset_build.ps1 index da9e1b7..af8305b 100644 --- a/scripts/reset_build.ps1 +++ b/scripts/reset_build.ps1 @@ -2,22 +2,6 @@ mv .\subprojects\packagecache . rm -recurse -force .\subprojects\,.\builddir\ mkdir subprojects mv .\packagecache .\subprojects\ -cp *.wrap subprojects mkdir builddir -meson wrap install fmt -meson wrap install sqlite3 -meson wrap install sqlitecpp -meson wrap install catch2 -meson wrap install libpng -meson wrap install vorbis -meson wrap install ogg -meson wrap install flac -meson wrap install freetype2 -meson wrap install openal-soft -meson wrap install sfml -meson wrap install imgui -meson wrap install imgui-sfml -meson wrap install nlohmann_json -# $env:CC="clang" -# $env:CXX="clang++" +cp wraps\*.wrap subprojects\ meson setup --default-library=static --prefer-static builddir diff --git a/scripts/reset_build.sh b/scripts/reset_build.sh index d197853..11e8d63 100644 --- a/scripts/reset_build.sh +++ b/scripts/reset_build.sh @@ -6,19 +6,5 @@ rm -rf subprojects builddir mkdir subprojects mv packagecache ./subprojects/ mkdir builddir -cp *.wrap subprojects -meson wrap install fmt -meson wrap install sqlite3 -meson wrap install sqlitecpp -meson wrap install catch2 -meson wrap install libpng -meson wrap install vorbis -meson wrap install ogg -meson wrap install flac -meson wrap install freetype2 -meson wrap install openal-soft -meson wrap install imgui -meson wrap install sfml -meson wrap install imgui-sfml -meson wrap install nlohmann_json -meson setup builddir +cp wraps/*.wrap subprojects/ +meson setup --default-library=static --prefer-static builddir diff --git a/wraps/catch2.wrap b/wraps/catch2.wrap new file mode 100644 index 0000000..489db6c --- /dev/null +++ b/wraps/catch2.wrap @@ -0,0 +1,11 @@ +[wrap-file] +directory = Catch2-3.7.0 +source_url = https://github.com/catchorg/Catch2/archive/v3.7.0.tar.gz +source_filename = Catch2-3.7.0.tar.gz +source_hash = 5b10cd536fa3818112a82820ce0787bd9f2a906c618429e7c4dea639983c8e88 +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/catch2_3.7.0-1/Catch2-3.7.0.tar.gz +wrapdb_version = 3.7.0-1 + +[provide] +catch2 = catch2_dep +catch2-with-main = catch2_with_main_dep diff --git a/wraps/efsw.wrap b/wraps/efsw.wrap new file mode 100644 index 0000000..f7844f5 --- /dev/null +++ b/wraps/efsw.wrap @@ -0,0 +1,11 @@ +[wrap-git] +url = https://github.com/SpartanJ/efsw.git +revision = 1.3.1 +depth = 1 +method = cmake +# patch_filename = +# patch_hash = + + +[provide] +efsw = efsw_dep diff --git a/wraps/flac.wrap b/wraps/flac.wrap new file mode 100644 index 0000000..ee36479 --- /dev/null +++ b/wraps/flac.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = flac-1.4.3 +source_url = https://github.com/xiph/flac/releases/download/1.4.3/flac-1.4.3.tar.xz +source_filename = flac-1.4.3.tar.xz +source_hash = 6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70 +patch_filename = flac_1.4.3-2_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/flac_1.4.3-2/get_patch +patch_hash = 3eace1bd0769d3e0d4ff099960160766a5185d391c8f583293b087a1f96c2a9c +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/flac_1.4.3-2/flac-1.4.3.tar.xz +wrapdb_version = 1.4.3-2 + +[provide] +flac = flac_dep diff --git a/wraps/fmt.wrap b/wraps/fmt.wrap new file mode 100644 index 0000000..42b6159 --- /dev/null +++ b/wraps/fmt.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = fmt-11.0.1 +source_url = https://github.com/fmtlib/fmt/archive/11.0.1.tar.gz +source_filename = fmt-11.0.1.tar.gz +source_hash = 7d009f7f89ac84c0a83f79ed602463d092fbf66763766a907c97fd02b100f5e9 +patch_filename = fmt_11.0.1-1_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/fmt_11.0.1-1/get_patch +patch_hash = 0a8b93d1ee6d84a82d3872a9bfb4c3977d8a53f7f484d42d1f7ed63ed496d549 +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/fmt_11.0.1-1/fmt-11.0.1.tar.gz +wrapdb_version = 11.0.1-1 + +[provide] +fmt = fmt_dep diff --git a/wraps/freetype2.wrap b/wraps/freetype2.wrap new file mode 100644 index 0000000..acad6f4 --- /dev/null +++ b/wraps/freetype2.wrap @@ -0,0 +1,11 @@ +[wrap-file] +directory = freetype-2.13.3 +source_url = https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/freetype2_2.13.3-1/freetype-2.13.3.tar.xz +source_filename = freetype-2.13.3.tar.xz +source_hash = 0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289 +wrapdb_version = 2.13.3-1 + +[provide] +freetype2 = freetype_dep +freetype = freetype_dep diff --git a/wraps/imgui-sfml.wrap b/wraps/imgui-sfml.wrap new file mode 100644 index 0000000..b385b05 --- /dev/null +++ b/wraps/imgui-sfml.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = imgui-sfml-2.6 +source_url = https://github.com/eliasdaler/imgui-sfml/archive/refs/tags/v2.6.tar.gz +source_filename = v2.6.tar.gz +source_hash = b1195ca1210dd46c8049cfc8cae7f31cd34f1591da7de1c56297b277ac9c5cc0 +patch_filename = imgui-sfml_2.6-1_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/imgui-sfml_2.6-1/get_patch +patch_hash = a804978cf015af2db13476eefd2ed16e64c2c5142eb4e4a93be5f19e0c7cbdbb +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/imgui-sfml_2.6-1/v2.6.tar.gz +wrapdb_version = 2.6-1 + +[provide] +imgui-sfml = imgui_sfml_dep diff --git a/wraps/imgui.wrap b/wraps/imgui.wrap new file mode 100644 index 0000000..6334713 --- /dev/null +++ b/wraps/imgui.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = imgui-1.91.0 +source_url = https://github.com/ocornut/imgui/archive/refs/tags/v1.91.0.tar.gz +source_filename = imgui-1.91.0.tar.gz +source_hash = 6e62c87252e6b3725ba478a1c04dc604aa0aaeec78fedcf4011f1e52548f4cc9 +patch_filename = imgui_1.91.0-1_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/imgui_1.91.0-1/get_patch +patch_hash = 354fc499bb53ed37ef7a23122d9253f6b119098ae95ff14a571d2d7e98fa3338 +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/imgui_1.91.0-1/imgui-1.91.0.tar.gz +wrapdb_version = 1.91.0-1 + +[provide] +imgui = imgui_dep diff --git a/wraps/libgit2.wrap b/wraps/libgit2.wrap new file mode 100644 index 0000000..9291d77 --- /dev/null +++ b/wraps/libgit2.wrap @@ -0,0 +1,11 @@ +[wrap-file] +directory = libgit2-1.8.1 +source_url = https://github.com/libgit2/libgit2/archive/refs/tags/v1.8.1.tar.gz +source_filename = v1.8.1.tar.gz +source_hash = 8c1eaf0cf07cba0e9021920bfba9502140220786ed5d8a8ec6c7ad9174522f8e +wrapdb_version = 2.4.1-3 +# patch_filename = +# patch_hash = + +[provide] +libgit2 = libgit2_dep diff --git a/wraps/libpng.wrap b/wraps/libpng.wrap new file mode 100644 index 0000000..2c5f9c6 --- /dev/null +++ b/wraps/libpng.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = libpng-1.6.43 +source_url = https://github.com/glennrp/libpng/archive/v1.6.43.tar.gz +source_filename = libpng-1.6.43.tar.gz +source_hash = fecc95b46cf05e8e3fc8a414750e0ba5aad00d89e9fdf175e94ff041caf1a03a +patch_filename = libpng_1.6.43-2_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/libpng_1.6.43-2/get_patch +patch_hash = 49951297edf03e81d925ab03726555f09994ad1ed78fb539a269216430eef3da +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/libpng_1.6.43-2/libpng-1.6.43.tar.gz +wrapdb_version = 1.6.43-2 + +[provide] +libpng = libpng_dep diff --git a/wraps/nlohmann_json.wrap b/wraps/nlohmann_json.wrap new file mode 100644 index 0000000..8c46676 --- /dev/null +++ b/wraps/nlohmann_json.wrap @@ -0,0 +1,11 @@ +[wrap-file] +directory = nlohmann_json-3.11.3 +lead_directory_missing = true +source_url = https://github.com/nlohmann/json/releases/download/v3.11.3/include.zip +source_filename = nlohmann_json-3.11.3.zip +source_hash = a22461d13119ac5c78f205d3df1db13403e58ce1bb1794edc9313677313f4a9d +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/nlohmann_json_3.11.3-1/nlohmann_json-3.11.3.zip +wrapdb_version = 3.11.3-1 + +[provide] +nlohmann_json = nlohmann_json_dep diff --git a/wraps/ogg.wrap b/wraps/ogg.wrap new file mode 100644 index 0000000..e7f23eb --- /dev/null +++ b/wraps/ogg.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = libogg-1.3.5 +source_url = https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz +source_filename = libogg-1.3.5.tar.xz +source_hash = c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705 +patch_filename = ogg_1.3.5-6_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/ogg_1.3.5-6/get_patch +patch_hash = 8be6dcd5f93bbf9c0b9c8ec1fa29810226a60f846383074ca05b313a248e78b2 +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/ogg_1.3.5-6/libogg-1.3.5.tar.xz +wrapdb_version = 1.3.5-6 + +[provide] +ogg = libogg_dep diff --git a/wraps/openal-soft.wrap b/wraps/openal-soft.wrap new file mode 100644 index 0000000..a46c525 --- /dev/null +++ b/wraps/openal-soft.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = openal-soft-1.23.1 +source_url = https://github.com/kcat/openal-soft/archive/refs/tags/1.23.1.tar.gz +source_filename = openal-soft-1.23.1.tar.gz +source_hash = dfddf3a1f61059853c625b7bb03de8433b455f2f79f89548cbcbd5edca3d4a4a +patch_filename = openal-soft_1.23.1-2_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/openal-soft_1.23.1-2/get_patch +patch_hash = e03c3afe0bb40a931d25d41d92a08b90e3c33b217d1b47210b26ca6627eb3aa3 +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/openal-soft_1.23.1-2/openal-soft-1.23.1.tar.gz +wrapdb_version = 1.23.1-2 + +[provide] +openal = openal_dep diff --git a/wraps/sfml.wrap b/wraps/sfml.wrap new file mode 100644 index 0000000..1d84525 --- /dev/null +++ b/wraps/sfml.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = SFML-2.6.1 +source_url = https://github.com/SFML/SFML/archive/refs/tags/2.6.1.tar.gz +source_filename = 2.6.1.tar.gz +source_hash = 82535db9e57105d4f3a8aedabd138631defaedc593cab589c924b7d7a11ffb9d +patch_filename = sfml_2.6.1-1_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/sfml_2.6.1-1/get_patch +patch_hash = 10367d927ec489dc575491de0059945a63ba08eef3f6fc146e6ba339176c9f18 +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sfml_2.6.1-1/2.6.1.tar.gz +wrapdb_version = 2.6.1-1 + +[provide] +sfml = sfml_dep diff --git a/wraps/sqlite3.wrap b/wraps/sqlite3.wrap new file mode 100644 index 0000000..bb03a37 --- /dev/null +++ b/wraps/sqlite3.wrap @@ -0,0 +1,13 @@ +[wrap-file] +directory = sqlite-amalgamation-3460100 +source_url = https://www.sqlite.org/2024/sqlite-amalgamation-3460100.zip +source_filename = sqlite-amalgamation-3460100.zip +source_hash = 77823cb110929c2bcb0f5d48e4833b5c59a8a6e40cdea3936b99e199dbbe5784 +patch_filename = sqlite3_3.46.1-1_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/sqlite3_3.46.1-1/get_patch +patch_hash = 1358b931e30a454e55dbedbc28d5844946a17c68b45a5333093152d7af75982b +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sqlite3_3.46.1-1/sqlite-amalgamation-3460100.zip +wrapdb_version = 3.46.1-1 + +[provide] +sqlite3 = sqlite3_dep diff --git a/wraps/sqlitecpp.wrap b/wraps/sqlitecpp.wrap new file mode 100644 index 0000000..129ee94 --- /dev/null +++ b/wraps/sqlitecpp.wrap @@ -0,0 +1,10 @@ +[wrap-file] +directory = SQLiteCpp-3.3.2 +source_url = https://github.com/SRombauts/SQLiteCpp/archive/refs/tags/3.3.2.zip +source_filename = sqlitecpp-3.3.2.zip +source_hash = 1f41ef7322da573fdfca95655bd1329282638b4d9d3dc16a48f4bad16008eda8 +source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/sqlitecpp_3.3.2-1/sqlitecpp-3.3.2.zip +wrapdb_version = 3.3.2-1 + +[provide] +sqlitecpp = sqlitecpp_dep diff --git a/wraps/vorbis.wrap b/wraps/vorbis.wrap new file mode 100644 index 0000000..7425c11 --- /dev/null +++ b/wraps/vorbis.wrap @@ -0,0 +1,14 @@ +[wrap-file] +directory = libvorbis-1.3.7 +source_url = https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz +source_filename = libvorbis-1.3.7.tar.xz +source_hash = b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b +patch_filename = vorbis_1.3.7-4_patch.zip +patch_url = https://wrapdb.mesonbuild.com/v2/vorbis_1.3.7-4/get_patch +patch_hash = 979e22b24b16c927040700dfd8319cd6ba29bf52a14dbc66b1cb4ea60504f14a +wrapdb_version = 1.3.7-4 + +[provide] +vorbis = vorbis_dep +vorbisfile = vorbisfile_dep +vorbisenc = vorbisenc_dep