diff --git a/gvsbuild/projects/__init__.py b/gvsbuild/projects/__init__.py index 5cbd9f1b8..69a459965 100644 --- a/gvsbuild/projects/__init__.py +++ b/gvsbuild/projects/__init__.py @@ -1,6 +1,7 @@ # flake8: noqa from gvsbuild.projects.adwaita_icon_theme import AdwaitaIconTheme +from gvsbuild.projects.abseil import AbseilCpp from gvsbuild.projects.atk import Atk from gvsbuild.projects.boringssl import BoringSSL from gvsbuild.projects.cairo import Cairo diff --git a/gvsbuild/projects/abseil.py b/gvsbuild/projects/abseil.py new file mode 100644 index 000000000..071667a2c --- /dev/null +++ b/gvsbuild/projects/abseil.py @@ -0,0 +1,43 @@ +# Copyright (C) 2016 - Yevgen Muntyan +# Copyright (C) 2016 - Ignacio Casal Quinteiro +# Copyright (C) 2016 - Arnavion +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . + +from gvsbuild.utils.base_builders import CmakeProject +from gvsbuild.utils.base_expanders import Tarball +from gvsbuild.utils.base_project import Project, project_add + + +@project_add +class AbseilCpp(Tarball, CmakeProject): + def __init__(self): + Project.__init__( + self, + "abseil-cpp", + version="20230125.3", + archive_url="https://github.com/abseil/abseil-cpp/archive/refs/tags/{version}.tar.gz", + archive_file_name="abseil-cpp-{version}.tar.gz", + hash="5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36", + dependencies=["cmake", "ninja"], + ) + + def build(self, **kwargs): + CmakeProject.build( + self, + use_ninja=True, + cmake_params=r"-DABSL_PROPAGATE_CXX_STD=ON -DABSL_BUILD_DLL=ON", + ) + + self.install(r".\LICENSE share\doc\abseil-cpp") diff --git a/gvsbuild/projects/protobuf.py b/gvsbuild/projects/protobuf.py index ba907f31d..d39d26482 100644 --- a/gvsbuild/projects/protobuf.py +++ b/gvsbuild/projects/protobuf.py @@ -15,6 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, see . + from gvsbuild.utils.base_builders import CmakeProject from gvsbuild.utils.base_expanders import Tarball from gvsbuild.utils.base_project import Project, project_add @@ -26,14 +27,15 @@ def __init__(self): Project.__init__( self, "protobuf", - version="3.21.12", + version="3.23.0", lastversion_major=3, - archive_url="https://github.com/protocolbuffers/protobuf/releases/download/v{minor}.{micro}/protobuf-cpp-{version}.tar.gz", - hash="4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460", + archive_url="https://github.com/protocolbuffers/protobuf/releases/download/v{minor}.{micro}/protobuf-{minor}.{micro}.tar.gz", + hash="b29fc5fc13926f347b7a8b676ae1e63f7ccdb92c2fc8ca326bc3a883dcc168ac", dependencies=[ "cmake", "zlib", "ninja", + "abseil-cpp", ], ) @@ -41,7 +43,10 @@ def build(self): # We need to compile with STATIC_RUNTIME off since protobuf-c also compiles with it OFF CmakeProject.build( self, - cmake_params=r'-DBUILD_SHARED_LIBS=ON -Dprotobuf_DEBUG_POSTFIX="" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_WITH_ZLIB=ON -Dprotobuf_MSVC_STATIC_RUNTIME=OFF', + cmake_params=r'-DBUILD_SHARED_LIBS=ON -Dprotobuf_DEBUG_POSTFIX="" -Dprotobuf_BUILD_TESTS=OFF ' + r"-Dprotobuf_WITH_ZLIB=ON -Dprotobuf_MSVC_STATIC_RUNTIME=OFF " + r'-Dprotobuf_ABSL_PROVIDER=package -DCMAKE_PREFIX_PATH="%(pkg_dir)s\lib" ' + r'-Dabsl_DIR="%(pkg_dir)s\lib\cmake\absl"', use_ninja=True, )