Use keys from dependencies JSON
This commit is contained in:
parent
658d9ce258
commit
ff00aaa6d3
@ -114,35 +114,17 @@ ARCHITECTURES = {
|
|||||||
"ARM64": {"vcvars_arch": "x86_arm64", "msbuild_arch": "ARM64"},
|
"ARM64": {"vcvars_arch": "x86_arm64", "msbuild_arch": "ARM64"},
|
||||||
}
|
}
|
||||||
|
|
||||||
_versions = json.loads(
|
V = json.loads(
|
||||||
(Path(__file__).parents[1] / ".github" / "dependencies.json").read_text()
|
(Path(__file__).parents[1] / ".github" / "dependencies.json").read_text()
|
||||||
)
|
)
|
||||||
|
V["libpng-xy"] = "".join(V["libpng"].split(".")[:2])
|
||||||
|
|
||||||
V = {
|
|
||||||
"BROTLI": _versions["brotli"],
|
|
||||||
"FREETYPE": _versions["freetype"],
|
|
||||||
"FRIBIDI": _versions["fribidi"],
|
|
||||||
"HARFBUZZ": _versions["harfbuzz"],
|
|
||||||
"JPEGTURBO": _versions["jpegturbo"],
|
|
||||||
"LCMS2": _versions["lcms2"],
|
|
||||||
"LIBAVIF": _versions["libavif"],
|
|
||||||
"LIBIMAGEQUANT": _versions["libimagequant"],
|
|
||||||
"LIBPNG": _versions["libpng"],
|
|
||||||
"LIBWEBP": _versions["libwebp"],
|
|
||||||
"OPENJPEG": _versions["openjpeg"],
|
|
||||||
"TIFF": _versions["tiff"],
|
|
||||||
"XZ": _versions["xz"],
|
|
||||||
"ZLIBNG": _versions["zlib-ng"],
|
|
||||||
}
|
|
||||||
V["LIBPNG_XY"] = "".join(V["LIBPNG"].split(".")[:2])
|
|
||||||
|
|
||||||
|
|
||||||
# dependencies, listed in order of compilation
|
# dependencies, listed in order of compilation
|
||||||
DEPS: dict[str, dict[str, Any]] = {
|
DEPS: dict[str, dict[str, Any]] = {
|
||||||
"libjpeg": {
|
"libjpeg": {
|
||||||
"url": f"https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/{V['JPEGTURBO']}/libjpeg-turbo-{V['JPEGTURBO']}.tar.gz",
|
"url": f"https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/{V['jpegturbo']}/libjpeg-turbo-{V['jpegturbo']}.tar.gz",
|
||||||
"filename": f"libjpeg-turbo-{V['JPEGTURBO']}.tar.gz",
|
"filename": f"libjpeg-turbo-{V['jpegturbo']}.tar.gz",
|
||||||
"license": ["README.ijg", "LICENSE.md"],
|
"license": ["README.ijg", "LICENSE.md"],
|
||||||
"license_pattern": (
|
"license_pattern": (
|
||||||
"(LEGAL ISSUES\n============\n\n.+?)\n\nREFERENCES\n=========="
|
"(LEGAL ISSUES\n============\n\n.+?)\n\nREFERENCES\n=========="
|
||||||
@ -169,8 +151,8 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"bins": ["djpeg.exe"],
|
"bins": ["djpeg.exe"],
|
||||||
},
|
},
|
||||||
"zlib": {
|
"zlib": {
|
||||||
"url": f"https://github.com/zlib-ng/zlib-ng/archive/refs/tags/{V['ZLIBNG']}.tar.gz",
|
"url": f"https://github.com/zlib-ng/zlib-ng/archive/refs/tags/{V['zlib-ng']}.tar.gz",
|
||||||
"filename": f"zlib-ng-{V['ZLIBNG']}.tar.gz",
|
"filename": f"zlib-ng-{V['zlib-ng']}.tar.gz",
|
||||||
"license": "LICENSE.md",
|
"license": "LICENSE.md",
|
||||||
"patch": {
|
"patch": {
|
||||||
r"CMakeLists.txt": {
|
r"CMakeLists.txt": {
|
||||||
@ -186,8 +168,8 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"libs": [r"zlib.lib"],
|
"libs": [r"zlib.lib"],
|
||||||
},
|
},
|
||||||
"xz": {
|
"xz": {
|
||||||
"url": f"https://github.com/tukaani-project/xz/releases/download/v{V['XZ']}/FILENAME",
|
"url": f"https://github.com/tukaani-project/xz/releases/download/v{V['xz']}/FILENAME",
|
||||||
"filename": f"xz-{V['XZ']}.tar.gz",
|
"filename": f"xz-{V['xz']}.tar.gz",
|
||||||
"license": "COPYING",
|
"license": "COPYING",
|
||||||
"build": [
|
"build": [
|
||||||
*cmds_cmake("liblzma", "-DBUILD_SHARED_LIBS:BOOL=OFF"),
|
*cmds_cmake("liblzma", "-DBUILD_SHARED_LIBS:BOOL=OFF"),
|
||||||
@ -199,7 +181,7 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
},
|
},
|
||||||
"libwebp": {
|
"libwebp": {
|
||||||
"url": "http://downloads.webmproject.org/releases/webp/FILENAME",
|
"url": "http://downloads.webmproject.org/releases/webp/FILENAME",
|
||||||
"filename": f"libwebp-{V['LIBWEBP']}.tar.gz",
|
"filename": f"libwebp-{V['libwebp']}.tar.gz",
|
||||||
"license": "COPYING",
|
"license": "COPYING",
|
||||||
"patch": {
|
"patch": {
|
||||||
r"src\enc\picture_csp_enc.c": {
|
r"src\enc\picture_csp_enc.c": {
|
||||||
@ -220,7 +202,7 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
},
|
},
|
||||||
"libtiff": {
|
"libtiff": {
|
||||||
"url": "https://download.osgeo.org/libtiff/FILENAME",
|
"url": "https://download.osgeo.org/libtiff/FILENAME",
|
||||||
"filename": f"tiff-{V['TIFF']}.tar.gz",
|
"filename": f"tiff-{V['tiff']}.tar.gz",
|
||||||
"license": "LICENSE.md",
|
"license": "LICENSE.md",
|
||||||
"patch": {
|
"patch": {
|
||||||
r"libtiff\tif_lzma.c": {
|
r"libtiff\tif_lzma.c": {
|
||||||
@ -244,22 +226,22 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"libs": [r"libtiff\*.lib"],
|
"libs": [r"libtiff\*.lib"],
|
||||||
},
|
},
|
||||||
"libpng": {
|
"libpng": {
|
||||||
"url": f"{SF_PROJECTS}/libpng/files/libpng{V['LIBPNG_XY']}/{V['LIBPNG']}/"
|
"url": f"{SF_PROJECTS}/libpng/files/libpng{V['libpng-xy']}/{V['libpng']}/"
|
||||||
f"FILENAME/download",
|
f"FILENAME/download",
|
||||||
"filename": f"libpng-{V['LIBPNG']}.tar.gz",
|
"filename": f"libpng-{V['libpng']}.tar.gz",
|
||||||
"license": "LICENSE",
|
"license": "LICENSE",
|
||||||
"build": [
|
"build": [
|
||||||
*cmds_cmake("png_static", "-DPNG_SHARED:BOOL=OFF", "-DPNG_TESTS:BOOL=OFF"),
|
*cmds_cmake("png_static", "-DPNG_SHARED:BOOL=OFF", "-DPNG_TESTS:BOOL=OFF"),
|
||||||
cmd_copy(
|
cmd_copy(
|
||||||
f"libpng{V['LIBPNG_XY']}_static.lib", f"libpng{V['LIBPNG_XY']}.lib"
|
f"libpng{V['libpng-xy']}_static.lib", f"libpng{V['libpng-xy']}.lib"
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
"headers": [r"png*.h"],
|
"headers": [r"png*.h"],
|
||||||
"libs": [f"libpng{V['LIBPNG_XY']}.lib"],
|
"libs": [f"libpng{V['libpng-xy']}.lib"],
|
||||||
},
|
},
|
||||||
"brotli": {
|
"brotli": {
|
||||||
"url": f"https://github.com/google/brotli/archive/refs/tags/v{V['BROTLI']}.tar.gz",
|
"url": f"https://github.com/google/brotli/archive/refs/tags/v{V['brotli']}.tar.gz",
|
||||||
"filename": f"brotli-{V['BROTLI']}.tar.gz",
|
"filename": f"brotli-{V['brotli']}.tar.gz",
|
||||||
"license": "LICENSE",
|
"license": "LICENSE",
|
||||||
"build": [
|
"build": [
|
||||||
*cmds_cmake(("brotlicommon", "brotlidec"), "-DBUILD_SHARED_LIBS:BOOL=OFF"),
|
*cmds_cmake(("brotlicommon", "brotlidec"), "-DBUILD_SHARED_LIBS:BOOL=OFF"),
|
||||||
@ -269,7 +251,7 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
},
|
},
|
||||||
"freetype": {
|
"freetype": {
|
||||||
"url": "https://download.savannah.gnu.org/releases/freetype/FILENAME",
|
"url": "https://download.savannah.gnu.org/releases/freetype/FILENAME",
|
||||||
"filename": f"freetype-{V['FREETYPE']}.tar.gz",
|
"filename": f"freetype-{V['freetype']}.tar.gz",
|
||||||
"license": ["LICENSE.TXT", r"docs\FTL.TXT", r"docs\GPLv2.TXT"],
|
"license": ["LICENSE.TXT", r"docs\FTL.TXT", r"docs\GPLv2.TXT"],
|
||||||
"patch": {
|
"patch": {
|
||||||
r"builds\windows\vc2010\freetype.vcxproj": {
|
r"builds\windows\vc2010\freetype.vcxproj": {
|
||||||
@ -282,7 +264,7 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"<UserDefines></UserDefines>": "<UserDefines>FT_CONFIG_OPTION_SYSTEM_ZLIB;FT_CONFIG_OPTION_USE_PNG;FT_CONFIG_OPTION_USE_HARFBUZZ;FT_CONFIG_OPTION_USE_BROTLI</UserDefines>", # noqa: E501
|
"<UserDefines></UserDefines>": "<UserDefines>FT_CONFIG_OPTION_SYSTEM_ZLIB;FT_CONFIG_OPTION_USE_PNG;FT_CONFIG_OPTION_USE_HARFBUZZ;FT_CONFIG_OPTION_USE_BROTLI</UserDefines>", # noqa: E501
|
||||||
"<UserIncludeDirectories></UserIncludeDirectories>": r"<UserIncludeDirectories>{dir_harfbuzz}\src;{inc_dir}</UserIncludeDirectories>", # noqa: E501
|
"<UserIncludeDirectories></UserIncludeDirectories>": r"<UserIncludeDirectories>{dir_harfbuzz}\src;{inc_dir}</UserIncludeDirectories>", # noqa: E501
|
||||||
"<UserLibraryDirectories></UserLibraryDirectories>": "<UserLibraryDirectories>{lib_dir}</UserLibraryDirectories>", # noqa: E501
|
"<UserLibraryDirectories></UserLibraryDirectories>": "<UserLibraryDirectories>{lib_dir}</UserLibraryDirectories>", # noqa: E501
|
||||||
"<UserDependencies></UserDependencies>": f"<UserDependencies>zlib.lib;libpng{V['LIBPNG_XY']}.lib;brotlicommon.lib;brotlidec.lib</UserDependencies>", # noqa: E501
|
"<UserDependencies></UserDependencies>": f"<UserDependencies>zlib.lib;libpng{V['libpng-xy']}.lib;brotlicommon.lib;brotlidec.lib</UserDependencies>", # noqa: E501
|
||||||
},
|
},
|
||||||
r"src/autofit/afshaper.c": {
|
r"src/autofit/afshaper.c": {
|
||||||
# link against harfbuzz.lib
|
# link against harfbuzz.lib
|
||||||
@ -302,8 +284,8 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"libs": [r"objs\{msbuild_arch}\Release Static\freetype.lib"],
|
"libs": [r"objs\{msbuild_arch}\Release Static\freetype.lib"],
|
||||||
},
|
},
|
||||||
"lcms2": {
|
"lcms2": {
|
||||||
"url": f"{SF_PROJECTS}/lcms/files/lcms/{V['LCMS2']}/FILENAME/download",
|
"url": f"{SF_PROJECTS}/lcms/files/lcms/{V['lcms2']}/FILENAME/download",
|
||||||
"filename": f"lcms2-{V['LCMS2']}.tar.gz",
|
"filename": f"lcms2-{V['lcms2']}.tar.gz",
|
||||||
"license": "LICENSE",
|
"license": "LICENSE",
|
||||||
"patch": {
|
"patch": {
|
||||||
r"Projects\VC2022\lcms2_static\lcms2_static.vcxproj": {
|
r"Projects\VC2022\lcms2_static\lcms2_static.vcxproj": {
|
||||||
@ -327,21 +309,21 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"libs": [r"Lib\MS\*.lib"],
|
"libs": [r"Lib\MS\*.lib"],
|
||||||
},
|
},
|
||||||
"openjpeg": {
|
"openjpeg": {
|
||||||
"url": f"https://github.com/uclouvain/openjpeg/archive/v{V['OPENJPEG']}.tar.gz",
|
"url": f"https://github.com/uclouvain/openjpeg/archive/v{V['openjpeg']}.tar.gz",
|
||||||
"filename": f"openjpeg-{V['OPENJPEG']}.tar.gz",
|
"filename": f"openjpeg-{V['openjpeg']}.tar.gz",
|
||||||
"license": "LICENSE",
|
"license": "LICENSE",
|
||||||
"build": [
|
"build": [
|
||||||
*cmds_cmake(
|
*cmds_cmake(
|
||||||
"openjp2", "-DBUILD_CODEC:BOOL=OFF", "-DBUILD_SHARED_LIBS:BOOL=OFF"
|
"openjp2", "-DBUILD_CODEC:BOOL=OFF", "-DBUILD_SHARED_LIBS:BOOL=OFF"
|
||||||
),
|
),
|
||||||
cmd_mkdir(rf"{{inc_dir}}\openjpeg-{V['OPENJPEG']}"),
|
cmd_mkdir(rf"{{inc_dir}}\openjpeg-{V['openjpeg']}"),
|
||||||
cmd_copy(r"src\lib\openjp2\*.h", rf"{{inc_dir}}\openjpeg-{V['OPENJPEG']}"),
|
cmd_copy(r"src\lib\openjp2\*.h", rf"{{inc_dir}}\openjpeg-{V['openjpeg']}"),
|
||||||
],
|
],
|
||||||
"libs": [r"bin\*.lib"],
|
"libs": [r"bin\*.lib"],
|
||||||
},
|
},
|
||||||
"libimagequant": {
|
"libimagequant": {
|
||||||
"url": "https://github.com/ImageOptim/libimagequant/archive/{V['LIBIMAGEQUANT']}.tar.gz",
|
"url": "https://github.com/ImageOptim/libimagequant/archive/{V['libimagequant']}.tar.gz",
|
||||||
"filename": f"libimagequant-{V['LIBIMAGEQUANT']}.tar.gz",
|
"filename": f"libimagequant-{V['libimagequant']}.tar.gz",
|
||||||
"license": "COPYRIGHT",
|
"license": "COPYRIGHT",
|
||||||
"build": [
|
"build": [
|
||||||
cmd_cd("imagequant-sys"),
|
cmd_cd("imagequant-sys"),
|
||||||
@ -351,8 +333,8 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"libs": [r"..\target\release\imagequant_sys.lib"],
|
"libs": [r"..\target\release\imagequant_sys.lib"],
|
||||||
},
|
},
|
||||||
"harfbuzz": {
|
"harfbuzz": {
|
||||||
"url": f"https://github.com/harfbuzz/harfbuzz/releases/download/{V['HARFBUZZ']}/FILENAME",
|
"url": f"https://github.com/harfbuzz/harfbuzz/releases/download/{V['harfbuzz']}/FILENAME",
|
||||||
"filename": f"harfbuzz-{V['HARFBUZZ']}.tar.xz",
|
"filename": f"harfbuzz-{V['harfbuzz']}.tar.xz",
|
||||||
"license": "COPYING",
|
"license": "COPYING",
|
||||||
"build": [
|
"build": [
|
||||||
*cmds_cmake(
|
*cmds_cmake(
|
||||||
@ -365,11 +347,11 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"libs": [r"*.lib"],
|
"libs": [r"*.lib"],
|
||||||
},
|
},
|
||||||
"fribidi": {
|
"fribidi": {
|
||||||
"url": f"https://github.com/fribidi/fribidi/archive/v{V['FRIBIDI']}.zip",
|
"url": f"https://github.com/fribidi/fribidi/archive/v{V['fribidi']}.zip",
|
||||||
"filename": f"fribidi-{V['FRIBIDI']}.zip",
|
"filename": f"fribidi-{V['fribidi']}.zip",
|
||||||
"license": "COPYING",
|
"license": "COPYING",
|
||||||
"build": [
|
"build": [
|
||||||
cmd_copy(r"COPYING", rf"{{bin_dir}}\fribidi-{V['FRIBIDI']}-COPYING"),
|
cmd_copy(r"COPYING", rf"{{bin_dir}}\fribidi-{V['fribidi']}-COPYING"),
|
||||||
cmd_copy(r"{winbuild_dir}\fribidi.cmake", r"CMakeLists.txt"),
|
cmd_copy(r"{winbuild_dir}\fribidi.cmake", r"CMakeLists.txt"),
|
||||||
# generated tab.i files cannot be cross-compiled
|
# generated tab.i files cannot be cross-compiled
|
||||||
" ^&^& ".join(
|
" ^&^& ".join(
|
||||||
@ -383,8 +365,8 @@ DEPS: dict[str, dict[str, Any]] = {
|
|||||||
"bins": [r"*.dll"],
|
"bins": [r"*.dll"],
|
||||||
},
|
},
|
||||||
"libavif": {
|
"libavif": {
|
||||||
"url": f"https://github.com/AOMediaCodec/libavif/archive/v{V['LIBAVIF']}.tar.gz",
|
"url": f"https://github.com/AOMediaCodec/libavif/archive/v{V['libavif']}.tar.gz",
|
||||||
"filename": f"libavif-{V['LIBAVIF']}.tar.gz",
|
"filename": f"libavif-{V['libavif']}.tar.gz",
|
||||||
"license": "LICENSE",
|
"license": "LICENSE",
|
||||||
"build": [
|
"build": [
|
||||||
"rustup update",
|
"rustup update",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user