diff options
author | robot-piglet <[email protected]> | 2025-03-12 15:23:05 +0300 |
---|---|---|
committer | robot-piglet <[email protected]> | 2025-03-12 15:35:41 +0300 |
commit | e168b9c40d0c681bff53af1f3cfadf912278e4ab (patch) | |
tree | d9cb2acae14e20d0e009de931fa5e3a6a618afef | |
parent | 6be15d55eee03989c22613608f68419703afa891 (diff) |
Intermediate changes
commit_hash:4a7b107595b27e8638b5cf772d691c8914fcb6ca
86 files changed, 1712 insertions, 0 deletions
diff --git a/contrib/restricted/boost/algorithm/.yandex_meta/__init__.py b/contrib/restricted/boost/algorithm/.yandex_meta/__init__.py new file mode 100644 index 00000000000..ac2ed2b8bc4 --- /dev/null +++ b/contrib/restricted/boost/algorithm/.yandex_meta/__init__.py @@ -0,0 +1,20 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_algorithm = NixSourceProject( + nixattr="boost_algorithm", + arcdir=boost.make_arcdir("algorithm"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + disable_includes=[ + "slist", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/algorithm/.yandex_meta/default.nix b/contrib/restricted/boost/algorithm/.yandex_meta/default.nix new file mode 100644 index 00000000000..86f74f56fd9 --- /dev/null +++ b/contrib/restricted/boost/algorithm/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_algorithm = stdenv.mkDerivation rec { + pname = "boost_algorithm"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "algorithm"; + rev = "boost-${version}"; + hash = "sha256-+rnClgwIlt25oJ0MVzjaJn3N7eD3QXi0rf0v+cZDgvw="; + }; + }; +} diff --git a/contrib/restricted/boost/align/.yandex_meta/__init__.py b/contrib/restricted/boost/align/.yandex_meta/__init__.py new file mode 100644 index 00000000000..a2e550d41bc --- /dev/null +++ b/contrib/restricted/boost/align/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_align = NixSourceProject( + nixattr="boost_align", + arcdir=boost.make_arcdir("align"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/align/.yandex_meta/default.nix b/contrib/restricted/boost/align/.yandex_meta/default.nix new file mode 100644 index 00000000000..753c2e88b87 --- /dev/null +++ b/contrib/restricted/boost/align/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_align = stdenv.mkDerivation rec { + pname = "boost_align"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "align"; + rev = "boost-${version}"; + hash = "sha256-pmYhhmJk69bAemvm2RNW9wSzUnaSMYNZz5QHZmRO7YY="; + }; + }; +} diff --git a/contrib/restricted/boost/any/.yandex_meta/__init__.py b/contrib/restricted/boost/any/.yandex_meta/__init__.py new file mode 100644 index 00000000000..b5a7c4d3a31 --- /dev/null +++ b/contrib/restricted/boost/any/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_any = NixSourceProject( + nixattr="boost_any", + arcdir=boost.make_arcdir("any"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/any/.yandex_meta/default.nix b/contrib/restricted/boost/any/.yandex_meta/default.nix new file mode 100644 index 00000000000..5271f3b57cd --- /dev/null +++ b/contrib/restricted/boost/any/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_any = stdenv.mkDerivation rec { + pname = "boost_any"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "any"; + rev = "boost-${version}"; + hash = "sha256-ysJiQM+TB/VNdSmkwPXz/xLMG5uGIXNo9chxBSumlb4="; + }; + }; +} diff --git a/contrib/restricted/boost/array/.yandex_meta/__init__.py b/contrib/restricted/boost/array/.yandex_meta/__init__.py new file mode 100644 index 00000000000..125152c5ca0 --- /dev/null +++ b/contrib/restricted/boost/array/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_array = NixSourceProject( + nixattr="boost_array", + arcdir=boost.make_arcdir("array"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/array/.yandex_meta/default.nix b/contrib/restricted/boost/array/.yandex_meta/default.nix new file mode 100644 index 00000000000..31d056ef971 --- /dev/null +++ b/contrib/restricted/boost/array/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_array = stdenv.mkDerivation rec { + pname = "boost_array"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "array"; + rev = "boost-${version}"; + hash = "sha256-KlUpm9POv39C7BBpC2foHzTUCE9t2uEEka9kMdRVgcA="; + }; + }; +} diff --git a/contrib/restricted/boost/asio/.yandex_meta/__init__.py b/contrib/restricted/boost/asio/.yandex_meta/__init__.py new file mode 100644 index 00000000000..e92764bf23b --- /dev/null +++ b/contrib/restricted/boost/asio/.yandex_meta/__init__.py @@ -0,0 +1,31 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library( + self, + PEERDIR=[ + "contrib/libs/openssl", + ], + ) + + +boost_asio = NixSourceProject( + nixattr="boost_asio", + arcdir=boost.make_arcdir("asio"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + disable_includes=[ + "atomic.h", + "liburing.h", + "experimental/coroutine", + "experimental/source_location", + "experimental/string_view", + "BOOST_ASIO_CUSTOM_HANDLER_TRACKING", + "wolfssl/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/asio/.yandex_meta/default.nix b/contrib/restricted/boost/asio/.yandex_meta/default.nix new file mode 100644 index 00000000000..1f04a444340 --- /dev/null +++ b/contrib/restricted/boost/asio/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_asio = stdenv.mkDerivation rec { + pname = "boost_asio"; + version = "1.85.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "asio"; + rev = "boost-${version}"; + hash = "sha256-vYYYna5TXBCAAO1NkoxaUidgErKbCNP06S8uHijzIDE="; + }; + }; +} diff --git a/contrib/restricted/boost/asio/patches/apple-snprintf.patch b/contrib/restricted/boost/asio/patches/apple-snprintf.patch new file mode 100644 index 00000000000..90e8b5df885 --- /dev/null +++ b/contrib/restricted/boost/asio/patches/apple-snprintf.patch @@ -0,0 +1,11 @@ +--- contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp (index) ++++ contrib/restricted/boost/asio/include/boost/asio/detail/config.hpp (working tree) +@@ -2216,7 +2216,7 @@ + // Standard library support for snprintf. + #if !defined(BOOST_ASIO_HAS_SNPRINTF) + # if !defined(BOOST_ASIO_DISABLE_SNPRINTF) +-# if defined(__apple_build_version__) ++# if defined(__APPLE__) + # if (__clang_major__ >= 14) + # define BOOST_ASIO_HAS_SNPRINTF 1 + # endif // (__clang_major__ >= 14) diff --git a/contrib/restricted/boost/assert/.yandex_meta/__init__.py b/contrib/restricted/boost/assert/.yandex_meta/__init__.py new file mode 100644 index 00000000000..41afd117a99 --- /dev/null +++ b/contrib/restricted/boost/assert/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_assert = NixSourceProject( + nixattr="boost_assert", + arcdir=boost.make_arcdir("assert"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/assert/.yandex_meta/default.nix b/contrib/restricted/boost/assert/.yandex_meta/default.nix new file mode 100644 index 00000000000..e4514b5f46e --- /dev/null +++ b/contrib/restricted/boost/assert/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_assert = stdenv.mkDerivation rec { + pname = "boost_assert"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "assert"; + rev = "boost-${version}"; + hash = "sha256-gxA+/HvbCn2Eq5q+Jp8aX58N0f9TJdNPd4ZJfWKP3sI="; + }; + }; +} diff --git a/contrib/restricted/boost/atomic/.yandex_meta/__init__.py b/contrib/restricted/boost/atomic/.yandex_meta/__init__.py new file mode 100644 index 00000000000..cf9dd45597c --- /dev/null +++ b/contrib/restricted/boost/atomic/.yandex_meta/__init__.py @@ -0,0 +1,57 @@ +from devtools.yamaker import boost +from devtools.yamaker.modules import GLOBAL, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library( + self, + populate_srcs=True, + CFLAGS=["-DBOOST_ATOMIC_SOURCE"], + ) + with self.yamakes["."] as atomic: + atomic.ADDINCL.append(f"{self.arcdir}/src") + atomic.after( + "CFLAGS", + Switch( + DYNAMIC_BOOST=Linkable(CFLAGS=[GLOBAL("-DBOOST_ATOMIC_DYN_LINK")]), + ), + ) + + # wait_on_address is a windows-specific source + atomic.SRCS.remove("src/wait_on_address.cpp") + atomic.after( + "PEERDIR", + Switch( + OS_WINDOWS=Linkable( + SRCS=["src/wait_on_address.cpp"], + ), + ), + ) + + atomic.SRCS.remove("src/find_address_sse41.cpp") + atomic.after( + "SRCS", + Switch( + USE_SSE4=Linkable( + CFLAGS=["-DBOOST_ATOMIC_USE_SSE41"], + SRCS=["src/find_address_sse41.cpp"], + ), + ), + ) + + +boost_atomic = NixSourceProject( + nixattr="boost_atomic", + arcdir=boost.make_arcdir("atomic"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + "src/", + ], + disable_includes=[ + # sys/futex.h is bsd-specific header for futex API + "sys/futex.h", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/atomic/.yandex_meta/default.nix b/contrib/restricted/boost/atomic/.yandex_meta/default.nix new file mode 100644 index 00000000000..801b61e0448 --- /dev/null +++ b/contrib/restricted/boost/atomic/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_atomic = stdenv.mkDerivation rec { + pname = "boost_atomic"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "atomic"; + rev = "boost-${version}"; + hash = "sha256-YD1f1dzQ05+av0PG1btTBOGhnH520WpE8pongfYo1ow="; + }; + }; +} diff --git a/contrib/restricted/boost/bimap/.yandex_meta/__init__.py b/contrib/restricted/boost/bimap/.yandex_meta/__init__.py new file mode 100644 index 00000000000..16807dc02d3 --- /dev/null +++ b/contrib/restricted/boost/bimap/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_bimap = NixSourceProject( + nixattr="boost_bimap", + arcdir=boost.make_arcdir("bimap"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/bimap/.yandex_meta/default.nix b/contrib/restricted/boost/bimap/.yandex_meta/default.nix new file mode 100644 index 00000000000..29459e38785 --- /dev/null +++ b/contrib/restricted/boost/bimap/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_bimap = stdenv.mkDerivation rec { + pname = "boost_bimap"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "bimap"; + rev = "boost-${version}"; + hash = "sha256-gyWR4Ix7omtWG+DW2LICGplPvqTvwPAsI7toflUWlSA="; + }; + }; +} diff --git a/contrib/restricted/boost/bind/.yandex_meta/__init__.py b/contrib/restricted/boost/bind/.yandex_meta/__init__.py new file mode 100644 index 00000000000..c49daaae94e --- /dev/null +++ b/contrib/restricted/boost/bind/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_bind = NixSourceProject( + nixattr="boost_bind", + arcdir=boost.make_arcdir("bind"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/bind/.yandex_meta/default.nix b/contrib/restricted/boost/bind/.yandex_meta/default.nix new file mode 100644 index 00000000000..73152bb3163 --- /dev/null +++ b/contrib/restricted/boost/bind/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_bind = stdenv.mkDerivation rec { + pname = "boost_bind"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "bind"; + rev = "boost-${version}"; + hash = "sha256-Eu/inCn4rlpkHd6LFu/N9CtzxwM4IoLms2RPvJgF11Q="; + }; + }; +} diff --git a/contrib/restricted/boost/chrono/.yandex_meta/__init__.py b/contrib/restricted/boost/chrono/.yandex_meta/__init__.py new file mode 100644 index 00000000000..c2638bb0c64 --- /dev/null +++ b/contrib/restricted/boost/chrono/.yandex_meta/__init__.py @@ -0,0 +1,21 @@ +from devtools.yamaker import boost +from devtools.yamaker.modules import GLOBAL, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self, populate_srcs=True) + with self.yamakes["."] as chrono: + chrono.after("CFLAGS", Switch({"DYNAMIC_BOOST": Linkable(CFLAGS=[GLOBAL("-DBOOST_CHRONO_DYN_LINK")])})) + + +boost_chrono = NixSourceProject( + nixattr="boost_chrono", + arcdir=boost.make_arcdir("chrono"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + "src/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/chrono/.yandex_meta/default.nix b/contrib/restricted/boost/chrono/.yandex_meta/default.nix new file mode 100644 index 00000000000..6ad0daee7a9 --- /dev/null +++ b/contrib/restricted/boost/chrono/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_chrono = stdenv.mkDerivation rec { + pname = "boost_chrono"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "chrono"; + rev = "boost-${version}"; + hash = "sha256-pwuPMr+mo5u8xHJgV8+tysVO5NFMJwzsktULyR8cdo0="; + }; + }; +} diff --git a/contrib/restricted/boost/concept_check/.yandex_meta/__init__.py b/contrib/restricted/boost/concept_check/.yandex_meta/__init__.py new file mode 100644 index 00000000000..e813b63341c --- /dev/null +++ b/contrib/restricted/boost/concept_check/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_concept_check = NixSourceProject( + nixattr="boost_concept_check", + arcdir=boost.make_arcdir("concept_check"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/concept_check/.yandex_meta/default.nix b/contrib/restricted/boost/concept_check/.yandex_meta/default.nix new file mode 100644 index 00000000000..83708bd8838 --- /dev/null +++ b/contrib/restricted/boost/concept_check/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_concept_check = stdenv.mkDerivation rec { + pname = "boost_concept_check"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "concept_check"; + rev = "boost-${version}"; + hash = "sha256-W/LAEqMIFXsPBgDJ3ENcsaFAiRODRKrPXrGIMwLbvO4="; + }; + }; +} diff --git a/contrib/restricted/boost/concept_check/patches/fix-clang-cl-build.patch b/contrib/restricted/boost/concept_check/patches/fix-clang-cl-build.patch new file mode 100644 index 00000000000..c42f6bada36 --- /dev/null +++ b/contrib/restricted/boost/concept_check/patches/fix-clang-cl-build.patch @@ -0,0 +1,25 @@ +--- a/include/boost/concept/detail/msvc.hpp (index) ++++ b/include/boost/concept/detail/msvc.hpp (working tree) +@@ -18,6 +18,11 @@ + # pragma warning(disable:4100) + # endif + ++# if defined(__clang__) ++# pragma clang diagnostic push ++# pragma clang diagnostic ignored "-Wnon-virtual-dtor" ++# endif ++ + namespace boost { namespace concepts { + + +@@ -116,6 +121,10 @@ enum \ + # endif + }} + ++# if defined(__clang__) ++# pragma clang diagnostic pop ++# endif ++ + # ifdef BOOST_MSVC + # pragma warning(pop) + # endif diff --git a/contrib/restricted/boost/config/.yandex_meta/__init__.py b/contrib/restricted/boost/config/.yandex_meta/__init__.py new file mode 100644 index 00000000000..49480e5b6a3 --- /dev/null +++ b/contrib/restricted/boost/config/.yandex_meta/__init__.py @@ -0,0 +1,29 @@ +from devtools.yamaker import boost +from devtools.yamaker.modules import GLOBAL +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library( + self, + CFLAGS=[ + GLOBAL("-DBOOST_ALL_NO_LIB"), + ], + ) + + +boost_config = NixSourceProject( + nixattr="boost_config", + arcdir=boost.make_arcdir("config"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/**/*.hpp", + ], + copy_sources_except=[ + "boost/config/platform/vxworks.hpp", + ], + disable_includes=[ + "boost/config/platform/vxworks.hpp", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/config/.yandex_meta/default.nix b/contrib/restricted/boost/config/.yandex_meta/default.nix new file mode 100644 index 00000000000..59934b6e5d3 --- /dev/null +++ b/contrib/restricted/boost/config/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_config = stdenv.mkDerivation rec { + pname = "boost_config"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "config"; + rev = "boost-${version}"; + hash = "sha256-BpML8PxUuRVPfdQ7bf60GHPM44TXtg2nfWmCodzfO4Q="; + }; + }; +} diff --git a/contrib/restricted/boost/config/patches/disable-abi-compat.patch b/contrib/restricted/boost/config/patches/disable-abi-compat.patch new file mode 100644 index 00000000000..0ad0f0cb693 --- /dev/null +++ b/contrib/restricted/boost/config/patches/disable-abi-compat.patch @@ -0,0 +1,11 @@ +--- a/include/boost/config/user.hpp (index) ++++ b/include/boost/config/user.hpp (working tree) +@@ -68,7 +68,7 @@ + // BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any + // prefix/suffix headers that normally control things like struct + // packing and alignment. +-// #define BOOST_DISABLE_ABI_HEADERS ++#define BOOST_DISABLE_ABI_HEADERS + + // BOOST_ABI_PREFIX: A prefix header to include in place of whatever + // boost.config would normally select, any replacement should set up diff --git a/contrib/restricted/boost/config/patches/symbols-visibility.patch b/contrib/restricted/boost/config/patches/symbols-visibility.patch new file mode 100644 index 00000000000..e717d74e1b2 --- /dev/null +++ b/contrib/restricted/boost/config/patches/symbols-visibility.patch @@ -0,0 +1,17 @@ +--- a/include/boost/config/compiler/clang.hpp (index) ++++ b/include/boost/config/compiler/clang.hpp (working tree) +@@ -103,1 +103,3 @@ +-# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) ++# ifndef BOOST_SYMBOL_EXPORT ++# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) ++# endif +@@ -103,1 +103,3 @@ +-# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) ++# ifndef BOOST_SYMBOL_VISIBLE ++# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) ++# endif +@@ -103,1 +103,3 @@ +-# define BOOST_SYMBOL_IMPORT ++# ifndef BOOST_SYMBOL_IMPORT ++# define BOOST_SYMBOL_IMPORT ++# endif diff --git a/contrib/restricted/boost/container/.yandex_meta/__init__.py b/contrib/restricted/boost/container/.yandex_meta/__init__.py new file mode 100644 index 00000000000..2f065542795 --- /dev/null +++ b/contrib/restricted/boost/container/.yandex_meta/__init__.py @@ -0,0 +1,25 @@ +from devtools.yamaker import boost +from devtools.yamaker.modules import GLOBAL, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self, populate_srcs=True) + with self.yamakes["."] as container: + # remove dlmalloc sources, they are used via #include + container.SRCS = [src for src in container.SRCS if not src.endswith("2_8_6.c")] + + container.after("CFLAGS", Switch({"DYNAMIC_BOOST": Linkable(CFLAGS=[GLOBAL("-DBOOST_CONTAINER_DYN_LINK")])})) + + +boost_container = NixSourceProject( + nixattr="boost_container", + arcdir=boost.make_arcdir("container"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + "src/", + ], + disable_includes=["/usr/include/malloc.h"], + post_install=post_install, +) diff --git a/contrib/restricted/boost/container/.yandex_meta/default.nix b/contrib/restricted/boost/container/.yandex_meta/default.nix new file mode 100644 index 00000000000..2e78457a22e --- /dev/null +++ b/contrib/restricted/boost/container/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_container = stdenv.mkDerivation rec { + pname = "boost_container"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "container"; + rev = "boost-${version}"; + hash = "sha256-8kSlNjczI6GjwDdYnnrc7au2DTpw7HmVxhK64TJb/eM="; + }; + }; +} diff --git a/contrib/restricted/boost/container/patches/mobile.patch b/contrib/restricted/boost/container/patches/mobile.patch new file mode 100644 index 00000000000..0e95f0cafdd --- /dev/null +++ b/contrib/restricted/boost/container/patches/mobile.patch @@ -0,0 +1,20 @@ +--- a/include/boost/container/pmr/polymorphic_allocator.hpp (index) ++++ b/include/boost/container/pmr/polymorphic_allocator.hpp (working tree) +@@ -39,6 +39,17 @@ class polymorphic_allocator + { + public: + typedef T value_type; ++ typedef value_type* pointer; ++ typedef const value_type* const_pointer; ++ typedef value_type& reference; ++ typedef const value_type& const_reference; ++ typedef std::size_t size_type; ++ typedef std::ptrdiff_t difference_type; ++ ++ template <typename U> ++ struct rebind { ++ typedef ::boost::container::pmr::polymorphic_allocator<U> other; ++ }; + + //! <b>Effects</b>: Sets m_resource to + //! `get_default_resource()`. diff --git a/contrib/restricted/boost/container_hash/.yandex_meta/__init__.py b/contrib/restricted/boost/container_hash/.yandex_meta/__init__.py new file mode 100644 index 00000000000..e28aa348448 --- /dev/null +++ b/contrib/restricted/boost/container_hash/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_container_hash = NixSourceProject( + nixattr="boost_container_hash", + arcdir=boost.make_arcdir("container_hash"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/container_hash/.yandex_meta/default.nix b/contrib/restricted/boost/container_hash/.yandex_meta/default.nix new file mode 100644 index 00000000000..46ed9a42e3d --- /dev/null +++ b/contrib/restricted/boost/container_hash/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_container_hash = stdenv.mkDerivation rec { + pname = "boost_container_hash"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "container_hash"; + rev = "boost-${version}"; + hash = "sha256-jfRtfQ7/IEgH3ZQv0qNu+ZYX8RFttwARb8G/jjKS6us="; + }; + }; +} diff --git a/contrib/restricted/boost/context/.yandex_meta/__init__.py b/contrib/restricted/boost/context/.yandex_meta/__init__.py new file mode 100644 index 00000000000..58be719a928 --- /dev/null +++ b/contrib/restricted/boost/context/.yandex_meta/__init__.py @@ -0,0 +1,184 @@ +import os.path +import itertools + +from devtools.yamaker import boost, fileutil +from devtools.yamaker.modules import GLOBAL, Library, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + # give masm sources the extension expected by ymake + for p in fileutil.listdir(os.path.join(self.dstdir, "src", "asm")): + # match both masm and armasm + if p.endswith("masm.asm"): + fname = os.path.basename(p) + fname_wo_ext, _ = os.path.splitext(fname) + fileutil.rename(p, fname_wo_ext + ".masm") + + self.yamakes["."] = self.module( + Library, + # duplicated for visibility + ADDINCL=[GLOBAL(os.path.join(self.arcdir, "include"))], + RECURSE=["impl_common", "fcontext_impl", "ucontext_impl"], + ) + with self.yamakes["."] as context: + context.after( + "PEERDIR", + Switch( + { + "SANITIZER_TYPE": Linkable(PEERDIR=[os.path.join(self.arcdir, "ucontext_impl")]), + "default": Linkable(PEERDIR=[os.path.join(self.arcdir, "fcontext_impl")]), + } + ), + ) + + self.yamakes["impl_common"] = boost.make_library( + self, + LICENSE=["BSL-1.0"], + SRCDIR=[os.path.join(self.arcdir, "src")], + CFLAGS=["-DBOOST_CONTEXT_SOURCE"], + ) + with self.yamakes["impl_common"] as impl_common: + impl_common.after("CFLAGS", Switch({"DYNAMIC_BOOST": Linkable(CFLAGS=[GLOBAL("-DBOOST_CONTEXT_DYN_LINK")])})) + impl_common.after( + "SRCS", + Switch( + { + "OS_WINDOWS": Linkable(SRCS=["windows/stack_traits.cpp"]), + "default": Linkable(SRCS=["posix/stack_traits.cpp"]), + } + ), + ) + + self.yamakes["ucontext_impl"] = self.module( + Library, + LICENSE=["BSL-1.0"], + # PROVIDES=["boost_context_impl"], -- introduce after breaking asio dependency on fcontext + PEERDIR=[os.path.join(self.arcdir, "impl_common")], + ADDINCL=[os.path.join(self.arcdir, "include")], + SRCDIR=[os.path.join(self.arcdir, "src")], + CFLAGS=[GLOBAL("-DBOOST_USE_UCONTEXT"), "-DBOOST_CONTEXT_SOURCE"], + SRCS=["continuation.cpp", "fiber.cpp"], + NO_UTIL=True, + NO_COMPILER_WARNINGS=True, + ) + with self.yamakes["ucontext_impl"] as ucontext_impl: + ucontext_impl.after( + "CFLAGS", + Switch( + { + 'SANITIZER_TYPE == "address"': Linkable(CFLAGS=[GLOBAL("-DBOOST_USE_ASAN")]), + 'SANITIZER_TYPE == "thread"': Linkable(CFLAGS=[GLOBAL("-DBOOST_USE_TSAN")]), + } + ), + ) + ucontext_impl.PEERDIR.add("library/cpp/sanitizer/include") + + self.yamakes["fcontext_impl"] = self.module( + Library, + LICENSE=["BSL-1.0"], + PEERDIR=[os.path.join(self.arcdir, "impl_common")], + SRCDIR=[self.arcdir], + NO_UTIL=True, + NO_COMPILER_WARNINGS=True, + ) + + with self.yamakes["fcontext_impl"] as fcontext_impl: + fcontext_impl.after( + "CFLAGS", + Switch( + { + "OS_WINDOWS": Switch( + { + "DYNAMIC_BOOST": Linkable(MASMFLAGS=["/DBOOST_CONTEXT_EXPORT=EXPORT"]), + "default": Linkable(MASMFLAGS=["/DBOOST_CONTEXT_EXPORT="]), + } + ) + } + ), + ) + fcontext_impl.after( + "SRCDIR", + """ + IF (OS_WINDOWS AND ARCH_I386) + MASMFLAGS(/safeseh) + ENDIF() + + IF (ARCH_I386) + SET(FCONTEXT_ARCH "i386") + ELSEIF (ARCH_X86_64) + SET(FCONTEXT_ARCH "x86_64") + ELSEIF (ARCH_ARM64) + SET(FCONTEXT_ARCH "arm64") + ELSEIF (ARCH_ARM) + SET(FCONTEXT_ARCH "arm") + ENDIF() + + IF (OS_WINDOWS) + SET(FCONTEXT_ABI ms) + ELSEIF (ARCH_ARM64 OR ARCH_ARM) + SET(FCONTEXT_ABI aapcs) + ELSE (OS_LINUX OR OS_ANDROID) + SET(FCONTEXT_ABI sysv) + ENDIF() + + IF (OS_DARWIN OR OS_IOS) + SET(FCONTEXT_FMT macho) + SET(FCONTEXT_SUF gas.S) + ELSEIF (OS_LINUX OR OS_ANDROID) + SET(FCONTEXT_FMT elf) + SET(FCONTEXT_SUF gas.S) + ELSEIF (OS_WINDOWS AND ARCH_ARM64) + SET(FCONTEXT_FMT pe) + SET(FCONTEXT_SUF asmasm.masm) + ELSEIF (OS_WINDOWS) + SET(FCONTEXT_FMT pe) + SET(FCONTEXT_SUF masm.masm) + ENDIF() + """, + ) + fcontext_impl.after( + "SRCDIR", + """ + SRCS( + src/asm/make_${FCONTEXT_ARCH}_${FCONTEXT_ABI}_${FCONTEXT_FMT}_${FCONTEXT_SUF} + src/asm/jump_${FCONTEXT_ARCH}_${FCONTEXT_ABI}_${FCONTEXT_FMT}_${FCONTEXT_SUF} + src/asm/ontop_${FCONTEXT_ARCH}_${FCONTEXT_ABI}_${FCONTEXT_FMT}_${FCONTEXT_SUF} + src/fcontext.cpp + ) + """, + ) + + +FMT_ASM = [ + f"{fmt}_{asm}" + for fmt, asm in zip( + ("elf", "macho", "pe", "pe"), + # Windows on arm64 requires custom assember armasm, handle it + ("gas.S", "gas.S", "masm.asm", "armasm.asm"), + ) +] + + +boost_context = NixSourceProject( + nixattr="boost_context", + arcdir=boost.make_arcdir("context"), + owners=["g:cpp-contrib", "g:taxi-common"], + # fmt: off + copy_sources=[ + "include/boost/", + "src/*.cpp", + "src/posix/stack_traits.cpp", + "src/windows/stack_traits.cpp", + ] + [ + f"src/asm/{cmd}_{arch}_{abi}_{fmt_asm}" + for cmd, arch, abi, fmt_asm in itertools.product( + ["jump", "make", "ontop"], + ["arm", "arm64", "i386", "x86_64"], + ["aapcs", "ms", "sysv"], + FMT_ASM, + ) + ], + # fmt: on + post_install=post_install, +) diff --git a/contrib/restricted/boost/context/.yandex_meta/default.nix b/contrib/restricted/boost/context/.yandex_meta/default.nix new file mode 100644 index 00000000000..9a916b172fb --- /dev/null +++ b/contrib/restricted/boost/context/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_context = stdenv.mkDerivation rec { + pname = "boost_context"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "context"; + rev = "boost-${version}"; + hash = "sha256-MFJgat3HX5IRW4xaXzjAdbo77e103mt3HnNgG8PV+pw="; + }; + }; +} diff --git a/contrib/restricted/boost/context/patches/pr291-fix-tls-stack-protector.patch b/contrib/restricted/boost/context/patches/pr291-fix-tls-stack-protector.patch new file mode 100644 index 00000000000..a94ff1f6493 --- /dev/null +++ b/contrib/restricted/boost/context/patches/pr291-fix-tls-stack-protector.patch @@ -0,0 +1,22 @@ +From 7f5f436c0ffaf8d481676efb77fbf8013e55848c Mon Sep 17 00:00:00 2001 +From: CBBBrother <[email protected]> +Date: Mon, 17 Feb 2025 15:00:57 +0300 +Subject: [PATCH] fix tls staack protector on x86_64 + +--- + src/asm/make_x86_64_sysv_elf_gas.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/asm/make_x86_64_sysv_elf_gas.S b/src/asm/make_x86_64_sysv_elf_gas.S +index 7561c089..9336210a 100644 +--- a/src/asm/make_x86_64_sysv_elf_gas.S ++++ b/src/asm/make_x86_64_sysv_elf_gas.S +@@ -77,7 +77,7 @@ make_fcontext: + #if defined(BOOST_CONTEXT_TLS_STACK_PROTECTOR) + /* save stack guard */ + movq %fs:0x28, %rcx /* read stack guard from TLS record */ +- movq %rcx, 0x8(%rsp) /* save stack guard */ ++ movq %rcx, 0x8(%rax) /* save stack guard */ + #endif + + /* compute abs address of label trampoline */ diff --git a/contrib/restricted/boost/conversion/.yandex_meta/__init__.py b/contrib/restricted/boost/conversion/.yandex_meta/__init__.py new file mode 100644 index 00000000000..e776cdeeb30 --- /dev/null +++ b/contrib/restricted/boost/conversion/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_conversion = NixSourceProject( + nixattr="boost_conversion", + arcdir=boost.make_arcdir("conversion"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/conversion/.yandex_meta/default.nix b/contrib/restricted/boost/conversion/.yandex_meta/default.nix new file mode 100644 index 00000000000..7f273c5f0f7 --- /dev/null +++ b/contrib/restricted/boost/conversion/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_conversion = stdenv.mkDerivation rec { + pname = "boost_conversion"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "conversion"; + rev = "boost-${version}"; + hash = "sha256-STQcRLg4FPxQ3MxMPx2IsqVV0PoyAPgGHfv+EeluyXs="; + }; + }; +} diff --git a/contrib/restricted/boost/core/.yandex_meta/__init__.py b/contrib/restricted/boost/core/.yandex_meta/__init__.py new file mode 100644 index 00000000000..92695c18fc9 --- /dev/null +++ b/contrib/restricted/boost/core/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_core = NixSourceProject( + nixattr="boost_core", + arcdir=boost.make_arcdir("core"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/core/.yandex_meta/default.nix b/contrib/restricted/boost/core/.yandex_meta/default.nix new file mode 100644 index 00000000000..9c89c67b67d --- /dev/null +++ b/contrib/restricted/boost/core/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_core = stdenv.mkDerivation rec { + pname = "boost_core"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "core"; + rev = "boost-${version}"; + hash = "sha256-jfMBu2K9peGzT/rtvrBXHdN5z17GiwQjUQ0cO6OWU18="; + }; + }; +} diff --git a/contrib/restricted/boost/core/patches/cxa-get-globals.patch b/contrib/restricted/boost/core/patches/cxa-get-globals.patch new file mode 100644 index 00000000000..1af927a5a32 --- /dev/null +++ b/contrib/restricted/boost/core/patches/cxa-get-globals.patch @@ -0,0 +1,14 @@ +--- contrib/restricted/boost/core/include/boost/core/uncaught_exceptions.hpp (index) ++++ contrib/restricted/boost/core/include/boost/core/uncaught_exceptions.hpp (working tree) +@@ -88,11 +88,6 @@ + ) + namespace __cxxabiv1 { + struct __cxa_eh_globals; +-#if defined(__OpenBSD__) +-extern "C" __cxa_eh_globals* __cxa_get_globals(); +-#else +-extern "C" __cxa_eh_globals* __cxa_get_globals() BOOST_NOEXCEPT_OR_NOTHROW __attribute__((__const__)); +-#endif + } // namespace __cxxabiv1 + #endif + #endif diff --git a/contrib/restricted/boost/coroutine/.yandex_meta/__init__.py b/contrib/restricted/boost/coroutine/.yandex_meta/__init__.py new file mode 100644 index 00000000000..6720d53fd1f --- /dev/null +++ b/contrib/restricted/boost/coroutine/.yandex_meta/__init__.py @@ -0,0 +1,51 @@ +import os.path + +from devtools.yamaker import boost, fileutil, pathutil +from devtools.yamaker.modules import GLOBAL, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library( + self, + CFLAGS=[GLOBAL("-DBOOST_COROUTINES_NO_DEPRECATION_WARNING"), "-DBOOST_COROUTINES_SOURCE"], + SRCS=fileutil.files( + self.dstdir, rel=True, test=lambda p: pathutil.is_source(p) and "windows" not in p and "posix" not in p + ), + ) + with self.yamakes["."] as coroutine: + # uses fcontext directly (also this lib is deprecated) + boost_context_arcdir = boost.make_arcdir("context") + coroutine.PEERDIR.remove(boost_context_arcdir) + coroutine.PEERDIR.add(f"{boost_context_arcdir}/fcontext_impl") + + coroutine.after("CFLAGS", Switch({"DYNAMIC_BOOST": Linkable(CFLAGS=[GLOBAL("-DBOOST_COROUTINES_DYN_LINK")])})) + coroutine.after( + "CFLAGS", + Switch( + { + "OS_WINDOWS": Linkable( + SRCS=fileutil.files( + os.path.join(self.dstdir, "src", "windows"), rel=self.dstdir, test=pathutil.is_source + ), + ), + "default": Linkable( + SRCS=fileutil.files( + os.path.join(self.dstdir, "src", "posix"), rel=self.dstdir, test=pathutil.is_source + ), + ), + } + ), + ) + + +boost_coroutine = NixSourceProject( + nixattr="boost_coroutine", + arcdir=boost.make_arcdir("coroutine"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + "src/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/coroutine/.yandex_meta/default.nix b/contrib/restricted/boost/coroutine/.yandex_meta/default.nix new file mode 100644 index 00000000000..8e634e8cdbe --- /dev/null +++ b/contrib/restricted/boost/coroutine/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_coroutine = stdenv.mkDerivation rec { + pname = "boost_coroutine"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "coroutine"; + rev = "boost-${version}"; + hash = "sha256-wPHezql6B5Ewe2KVQsVHXf0cBsVVp6Xre20KoUjbN14="; + }; + }; +} diff --git a/contrib/restricted/boost/crc/.yandex_meta/__init__.py b/contrib/restricted/boost/crc/.yandex_meta/__init__.py new file mode 100644 index 00000000000..c6db71b085b --- /dev/null +++ b/contrib/restricted/boost/crc/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_crc = NixSourceProject( + nixattr="boost_crc", + arcdir=boost.make_arcdir("crc"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/crc/.yandex_meta/default.nix b/contrib/restricted/boost/crc/.yandex_meta/default.nix new file mode 100644 index 00000000000..bb0de9726c3 --- /dev/null +++ b/contrib/restricted/boost/crc/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_crc = stdenv.mkDerivation rec { + pname = "boost_crc"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "crc"; + rev = "boost-${version}"; + hash = "sha256-zPCiNBmDIcn2Aa0sYmUwXg9AB3kajuZLZuUVrolIxT4="; + }; + }; +} diff --git a/contrib/restricted/boost/crc/patches/w-shift-count-overflow.patch b/contrib/restricted/boost/crc/patches/w-shift-count-overflow.patch new file mode 100644 index 00000000000..033a31455e0 --- /dev/null +++ b/contrib/restricted/boost/crc/patches/w-shift-count-overflow.patch @@ -0,0 +1,11 @@ +--- contrib/restricted/boost/crc/include/boost/crc.hpp (index) ++++ contrib/restricted/boost/crc/include/boost/crc.hpp (working tree) +@@ -1188,7 +1188,7 @@ namespace detail + )) & UCHAR_MAX ) ^ *new_dividend_bytes++; + + // Complete the multi-bit altered modulo-2 polynomial division +- remainder <<= CHAR_BIT; ++ remainder = (remainder << CHAR_BIT); + remainder ^= table[ index ]; + } + diff --git a/contrib/restricted/boost/date_time/.yandex_meta/__init__.py b/contrib/restricted/boost/date_time/.yandex_meta/__init__.py new file mode 100644 index 00000000000..fa8899bef14 --- /dev/null +++ b/contrib/restricted/boost/date_time/.yandex_meta/__init__.py @@ -0,0 +1,26 @@ +from devtools.yamaker import boost +from devtools.yamaker.modules import GLOBAL, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + with self.yamakes["."] as iostreams: + iostreams.after("CFLAGS", Switch({"DYNAMIC_BOOST": Linkable(CFLAGS=[GLOBAL("-DBOOST_DATE_TIME_DYN_LINK")])})) + + +boost_date_time = NixSourceProject( + nixattr="boost_date_time", + arcdir=boost.make_arcdir("date_time"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + copy_sources_except=[ + # doxygen helpers + "gregorian/gregorian_types.cpp", + "posix_time/posix_time_types.cpp", + "date_time.doc", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/date_time/.yandex_meta/default.nix b/contrib/restricted/boost/date_time/.yandex_meta/default.nix new file mode 100644 index 00000000000..88b8b8b297f --- /dev/null +++ b/contrib/restricted/boost/date_time/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_date_time = stdenv.mkDerivation rec { + pname = "boost_date_time"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "date_time"; + rev = "boost-${version}"; + hash = "sha256-I1Oo/3MyHnsBSEjQ7OieCVn3B0ImSYDaPqoMMW0kPjg="; + }; + }; +} diff --git a/contrib/restricted/boost/describe/.yandex_meta/__init__.py b/contrib/restricted/boost/describe/.yandex_meta/__init__.py new file mode 100644 index 00000000000..3ec8a3dbd22 --- /dev/null +++ b/contrib/restricted/boost/describe/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_container_hash = NixSourceProject( + nixattr="boost_describe", + arcdir=boost.make_arcdir("describe"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/describe/.yandex_meta/default.nix b/contrib/restricted/boost/describe/.yandex_meta/default.nix new file mode 100644 index 00000000000..f8d24e2ccb7 --- /dev/null +++ b/contrib/restricted/boost/describe/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_describe = stdenv.mkDerivation rec { + pname = "boost_describe"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "describe"; + rev = "boost-${version}"; + hash = "sha256-20NRrM3S0JU8NFd4923iFvlOR/lC2nrWNMZqTEvyP+0="; + }; + }; +} diff --git a/contrib/restricted/boost/detail/.yandex_meta/__init__.py b/contrib/restricted/boost/detail/.yandex_meta/__init__.py new file mode 100644 index 00000000000..61439a78913 --- /dev/null +++ b/contrib/restricted/boost/detail/.yandex_meta/__init__.py @@ -0,0 +1,21 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_detail = NixSourceProject( + nixattr="boost_detail", + arcdir=boost.make_arcdir("detail"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + disable_includes=[ + # if defined(__MINGW32__) + "../include/fenv.h", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/detail/.yandex_meta/default.nix b/contrib/restricted/boost/detail/.yandex_meta/default.nix new file mode 100644 index 00000000000..e0d27c651cb --- /dev/null +++ b/contrib/restricted/boost/detail/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_detail = stdenv.mkDerivation rec { + pname = "boost_detail"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "detail"; + rev = "boost-${version}"; + hash = "sha256-BORKOSwA7WhzEEK2Y7IF8tSgVbAIRj7mAJ020P4T75E="; + }; + }; +} diff --git a/contrib/restricted/boost/detail/patches/modernize-throw-specs.patch b/contrib/restricted/boost/detail/patches/modernize-throw-specs.patch new file mode 100644 index 00000000000..d9c88cf5c32 --- /dev/null +++ b/contrib/restricted/boost/detail/patches/modernize-throw-specs.patch @@ -0,0 +1,20 @@ +--- a/include/boost/detail/utf8_codecvt_facet.hpp (index) ++++ b/include/boost/detail/utf8_codecvt_facet.hpp (working tree) +@@ -185,7 +185,7 @@ protected: + std::size_t max_limit + ) const + #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) +- throw() ++ noexcept + #endif + ; + +@@ -197,7 +197,7 @@ protected: + std::size_t max_limit + ) const + #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) +- throw() ++ noexcept + #endif + { + return do_length( diff --git a/contrib/restricted/boost/dynamic_bitset/.yandex_meta/__init__.py b/contrib/restricted/boost/dynamic_bitset/.yandex_meta/__init__.py new file mode 100644 index 00000000000..332a0c0dab4 --- /dev/null +++ b/contrib/restricted/boost/dynamic_bitset/.yandex_meta/__init__.py @@ -0,0 +1,20 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_dynamic_bitset = NixSourceProject( + nixattr="boost_dynamic_bitset", + arcdir=boost.make_arcdir("dynamic_bitset"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + disable_includes=[ + "iostream.h", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/dynamic_bitset/.yandex_meta/default.nix b/contrib/restricted/boost/dynamic_bitset/.yandex_meta/default.nix new file mode 100644 index 00000000000..eb05c997582 --- /dev/null +++ b/contrib/restricted/boost/dynamic_bitset/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_dynamic_bitset = stdenv.mkDerivation rec { + pname = "boost_dynamic_bitset"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "dynamic_bitset"; + rev = "boost-${version}"; + hash = "sha256-zTjTwvRgETHTST9vVqpy5yIcZ+QT+eyuPY4AmNprnpM="; + }; + }; +} diff --git a/contrib/restricted/boost/endian/.yandex_meta/__init__.py b/contrib/restricted/boost/endian/.yandex_meta/__init__.py new file mode 100644 index 00000000000..5c28d4e7c27 --- /dev/null +++ b/contrib/restricted/boost/endian/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_endian = NixSourceProject( + nixattr="boost_endian", + arcdir=boost.make_arcdir("endian"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/endian/.yandex_meta/default.nix b/contrib/restricted/boost/endian/.yandex_meta/default.nix new file mode 100644 index 00000000000..9ba90acafc6 --- /dev/null +++ b/contrib/restricted/boost/endian/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_endian = stdenv.mkDerivation rec { + pname = "boost_endian"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "endian"; + rev = "boost-${version}"; + hash = "sha256-VvRTa92Ca9wdx0cArbKr2xlnbi2UQLUSRuiwVLA5kyA="; + }; + }; +} diff --git a/contrib/restricted/boost/exception/.yandex_meta/__init__.py b/contrib/restricted/boost/exception/.yandex_meta/__init__.py new file mode 100644 index 00000000000..82411413548 --- /dev/null +++ b/contrib/restricted/boost/exception/.yandex_meta/__init__.py @@ -0,0 +1,18 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self, populate_srcs=True) + + +boost_exception = NixSourceProject( + nixattr="boost_exception", + arcdir=boost.make_arcdir("exception"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + "src/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/exception/.yandex_meta/default.nix b/contrib/restricted/boost/exception/.yandex_meta/default.nix new file mode 100644 index 00000000000..9e5187034ba --- /dev/null +++ b/contrib/restricted/boost/exception/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_exception = stdenv.mkDerivation rec { + pname = "boost_exception"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "exception"; + rev = "boost-${version}"; + hash = "sha256-2ySIcMOeWlE7y8hIXdJfxgAqJiSIO+QXyzqN0u8IvC4="; + }; + }; +} diff --git a/contrib/restricted/boost/filesystem/.yandex_meta/__init__.py b/contrib/restricted/boost/filesystem/.yandex_meta/__init__.py new file mode 100644 index 00000000000..119145ca843 --- /dev/null +++ b/contrib/restricted/boost/filesystem/.yandex_meta/__init__.py @@ -0,0 +1,39 @@ +from devtools.yamaker import boost +from devtools.yamaker.modules import GLOBAL, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library( + self, + populate_srcs=True, + CFLAGS=[ + # Our libc++ does not have std::atomic_ref yet + "-DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF", + ], + ) + with self.yamakes["."] as filesystem: + filesystem.after( + "CFLAGS", + Switch( + OS_LINUX=Linkable(CFLAGS=[GLOBAL("-DBOOST_FILESYSTEM_HAS_POSIX_AT_APIS")]), + ), + ) + filesystem.after( + "CFLAGS", + Switch( + DYNAMIC_BOOST=Linkable(CFLAGS=[GLOBAL("-DBOOST_FILESYSTEM_DYN_LINK"), "-DBOOST_FILESYSTEM_SOURCE"]), + ), + ) + + +boost_filesystem = NixSourceProject( + nixattr="boost_filesystem", + arcdir=boost.make_arcdir("filesystem"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + "src/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/filesystem/.yandex_meta/default.nix b/contrib/restricted/boost/filesystem/.yandex_meta/default.nix new file mode 100644 index 00000000000..a3d4d6d77e3 --- /dev/null +++ b/contrib/restricted/boost/filesystem/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_filesystem = stdenv.mkDerivation rec { + pname = "boost_filesystem"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "filesystem"; + rev = "boost-${version}"; + hash = "sha256-ASgDbzY7ArGuBxwxrBbVLn2mvIoVl8xBYg3egysdRbU="; + }; + }; +} diff --git a/contrib/restricted/boost/foreach/.yandex_meta/__init__.py b/contrib/restricted/boost/foreach/.yandex_meta/__init__.py new file mode 100644 index 00000000000..06eb79fb1ae --- /dev/null +++ b/contrib/restricted/boost/foreach/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_foreach = NixSourceProject( + nixattr="boost_foreach", + arcdir=boost.make_arcdir("foreach"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/foreach/.yandex_meta/default.nix b/contrib/restricted/boost/foreach/.yandex_meta/default.nix new file mode 100644 index 00000000000..ad05da281c4 --- /dev/null +++ b/contrib/restricted/boost/foreach/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_foreach = stdenv.mkDerivation rec { + pname = "boost_foreach"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "foreach"; + rev = "boost-${version}"; + hash = "sha256-7Pt5487/5sFJmhKY4lz80Y6Ag/8yd0jq2CSbVoGijWI="; + }; + }; +} diff --git a/contrib/restricted/boost/format/.yandex_meta/__init__.py b/contrib/restricted/boost/format/.yandex_meta/__init__.py new file mode 100644 index 00000000000..21ef2db4baf --- /dev/null +++ b/contrib/restricted/boost/format/.yandex_meta/__init__.py @@ -0,0 +1,20 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_format = NixSourceProject( + nixattr="boost_format", + arcdir=boost.make_arcdir("format"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + disable_includes=[ + "streambuf.h", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/format/.yandex_meta/default.nix b/contrib/restricted/boost/format/.yandex_meta/default.nix new file mode 100644 index 00000000000..941a48907cf --- /dev/null +++ b/contrib/restricted/boost/format/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_format = stdenv.mkDerivation rec { + pname = "boost_format"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "format"; + rev = "boost-${version}"; + hash = "sha256-p7Qy3XhapFa9umYjYDlIAyD0ESK3P237sTGFaKHiyFI="; + }; + }; +} diff --git a/contrib/restricted/boost/function/.yandex_meta/__init__.py b/contrib/restricted/boost/function/.yandex_meta/__init__.py new file mode 100644 index 00000000000..03d36c7c696 --- /dev/null +++ b/contrib/restricted/boost/function/.yandex_meta/__init__.py @@ -0,0 +1,18 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_function = NixSourceProject( + nixattr="boost_function", + arcdir=boost.make_arcdir("function"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + copy_sources_except_ext=["*.pl"], + post_install=post_install, +) diff --git a/contrib/restricted/boost/function/.yandex_meta/default.nix b/contrib/restricted/boost/function/.yandex_meta/default.nix new file mode 100644 index 00000000000..647aea48b0b --- /dev/null +++ b/contrib/restricted/boost/function/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_function = stdenv.mkDerivation rec { + pname = "boost_function"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "function"; + rev = "boost-${version}"; + hash = "sha256-OsSx0OF1brwuswfNA0ynh2SeVw0Wl/6QKyZ9UQIIYZI="; + }; + }; +} diff --git a/contrib/restricted/boost/function_types/.yandex_meta/__init__.py b/contrib/restricted/boost/function_types/.yandex_meta/__init__.py new file mode 100644 index 00000000000..90682b899ea --- /dev/null +++ b/contrib/restricted/boost/function_types/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_function_types = NixSourceProject( + nixattr="boost_function_types", + arcdir=boost.make_arcdir("function_types"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/function_types/.yandex_meta/default.nix b/contrib/restricted/boost/function_types/.yandex_meta/default.nix new file mode 100644 index 00000000000..76483b0a6be --- /dev/null +++ b/contrib/restricted/boost/function_types/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_function_types = stdenv.mkDerivation rec { + pname = "boost_function_types"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "function_types"; + rev = "boost-${version}"; + hash = "sha256-GOyxfIPqyCTHm7Snm0UcTHQaR8bNA5QlNbX+0J1fwSI="; + }; + }; +} diff --git a/contrib/restricted/boost/functional/.yandex_meta/__init__.py b/contrib/restricted/boost/functional/.yandex_meta/__init__.py new file mode 100644 index 00000000000..ca22f96d76f --- /dev/null +++ b/contrib/restricted/boost/functional/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_functional = NixSourceProject( + nixattr="boost_functional", + arcdir=boost.make_arcdir("functional"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/functional/.yandex_meta/default.nix b/contrib/restricted/boost/functional/.yandex_meta/default.nix new file mode 100644 index 00000000000..9b1acfdc083 --- /dev/null +++ b/contrib/restricted/boost/functional/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_functional = stdenv.mkDerivation rec { + pname = "boost_functional"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "functional"; + rev = "boost-${version}"; + hash = "sha256-U2tk/oxz+TTO/8Cz0ruSnG9QqjXBXAXLaXiedIuzQLI="; + }; + }; +} diff --git a/contrib/restricted/boost/fusion/.yandex_meta/__init__.py b/contrib/restricted/boost/fusion/.yandex_meta/__init__.py new file mode 100644 index 00000000000..17feaa35ca7 --- /dev/null +++ b/contrib/restricted/boost/fusion/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_fusion = NixSourceProject( + nixattr="boost_fusion", + arcdir="contrib/restricted/boost/fusion", + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/fusion/.yandex_meta/default.nix b/contrib/restricted/boost/fusion/.yandex_meta/default.nix new file mode 100644 index 00000000000..85600354ca0 --- /dev/null +++ b/contrib/restricted/boost/fusion/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_fusion = stdenv.mkDerivation rec { + pname = "boost_fusion"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "fusion"; + rev = "boost-${version}"; + hash = "sha256-oTJ2laEBpjx3MMS9QKFg9aW6LlfLH7JWcx9LABBmrgI="; + }; + }; +} diff --git a/contrib/restricted/boost/graph/.yandex_meta/__init__.py b/contrib/restricted/boost/graph/.yandex_meta/__init__.py new file mode 100644 index 00000000000..3b40ba0ab4a --- /dev/null +++ b/contrib/restricted/boost/graph/.yandex_meta/__init__.py @@ -0,0 +1,32 @@ +from devtools.yamaker import boost +from devtools.yamaker import fileutil +from devtools.yamaker.modules import GLOBAL, Linkable, Switch +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self, populate_srcs=True) + with self.yamakes["."] as graph: + # Disable parallel version which makes use of OpenMP / MPI + fileutil.re_sub_dir( + f"{self.dstdir}/include", + r"#include BOOST_GRAPH_MPI_INCLUDE\(.*\)", + "", + ) + + graph.after("CFLAGS", Switch({"DYNAMIC_BOOST": Linkable(CFLAGS=[GLOBAL("-DBOOST_GRAPH_DYN_LINK")])})) + + +boost_graph = NixSourceProject( + nixattr="boost_graph", + arcdir=boost.make_arcdir("graph"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/**/*.hpp", + "src/", + ], + copy_sources_except=[ + "include/boost/graph/use_mpi.hpp", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/graph/.yandex_meta/default.nix b/contrib/restricted/boost/graph/.yandex_meta/default.nix new file mode 100644 index 00000000000..b3622c8e8d7 --- /dev/null +++ b/contrib/restricted/boost/graph/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_graph = stdenv.mkDerivation rec { + pname = "boost_graph"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "graph"; + rev = "boost-${version}"; + hash = "sha256-b3WNm/FhKETRFHaGFYK4AT6mPuNfULQDM2lg0Ai9I2k="; + }; + }; +} diff --git a/contrib/restricted/boost/graph/patches/deprecated-copy.patch b/contrib/restricted/boost/graph/patches/deprecated-copy.patch new file mode 100644 index 00000000000..2d429f6c6e9 --- /dev/null +++ b/contrib/restricted/boost/graph/patches/deprecated-copy.patch @@ -0,0 +1,11 @@ +--- a/include/boost/graph/detail/adj_list_edge_iterator.hpp (index) ++++ b/include/boost/graph/detail/adj_list_edge_iterator.hpp (working tree) +@@ -47,6 +47,8 @@ namespace detail + + inline adj_list_edge_iterator() {} + ++ inline adj_list_edge_iterator& operator=(const self& x) = default; ++ + inline adj_list_edge_iterator(const self& x) + : vBegin(x.vBegin) + , vCurr(x.vCurr) diff --git a/contrib/restricted/boost/graph/patches/modernize-throw-specs.patch b/contrib/restricted/boost/graph/patches/modernize-throw-specs.patch new file mode 100644 index 00000000000..339deddcc16 --- /dev/null +++ b/contrib/restricted/boost/graph/patches/modernize-throw-specs.patch @@ -0,0 +1,26 @@ +--- a/include/boost/graph/bipartite.hpp (working tree) ++++ b/include/boost/graph/bipartite.hpp (working tree) +@@ -42,1 +42,1 @@ namespace boost { +- const char* what() const throw() { return "Graph is not bipartite."; } ++ const char* what() const noexcept { return "Graph is not bipartite."; } +--- a/include/boost/graph/graphml.hpp (index) ++++ b/include/boost/graph/graphml.hpp (working tree) +@@ -37,2 +37,2 @@ namespace boost +- ~parse_error() throw() BOOST_OVERRIDE {} +- const char* what() const throw() BOOST_OVERRIDE { return statement.c_str(); } ++ ~parse_error() BOOST_OVERRIDE {} ++ const char* what() const noexcept BOOST_OVERRIDE { return statement.c_str(); } +--- a/include/boost/graph/graphviz.hpp (index) ++++ b/include/boost/graph/graphviz.hpp (working tree) +@@ -661,2 +661,2 @@ struct bad_graphviz_syntax: public graph_exception { +- const char* what() const throw() BOOST_OVERRIDE { return errmsg.c_str(); } +- ~bad_graphviz_syntax() throw() BOOST_OVERRIDE {} ++ const char* what() const noexcept BOOST_OVERRIDE { return errmsg.c_str(); } ++ ~bad_graphviz_syntax() BOOST_OVERRIDE {} +--- a/include/boost/graph/loop_erased_random_walk.hpp (index) ++++ b/include/boost/graph/loop_erased_random_walk.hpp (working tree) +@@ -20,2 +20,2 @@ +- virtual ~loop_erased_random_walk_stuck() throw() {} +- inline virtual const char* what() const throw() ++ ~loop_erased_random_walk_stuck() BOOST_OVERRIDE {} ++ const char* what() const noexcept BOOST_OVERRIDE diff --git a/contrib/restricted/boost/graph/patches/w-unused-parameter.patch b/contrib/restricted/boost/graph/patches/w-unused-parameter.patch new file mode 100644 index 00000000000..8f513495775 --- /dev/null +++ b/contrib/restricted/boost/graph/patches/w-unused-parameter.patch @@ -0,0 +1,64 @@ +--- a/include/boost/graph/adjacency_matrix.hpp (index) ++++ b/include/boost/graph/adjacency_matrix.hpp (working tree) +@@ -1110,26 +1110,26 @@ struct adj_mat_pm_helper< D, VP, EP, GP, A, Tag, edge_property_tag > + typedef typename lookup_property_from_edge< boost::mpl::true_ >::result_type + single_const_type; + +- static type get_nonconst(adjacency_matrix< D, VP, EP, GP, A >& g, Tag tag) ++ static type get_nonconst(adjacency_matrix< D, VP, EP, GP, A >& /* g */, Tag tag) + { + return type(tag); + } + + static const_type get_const( +- const adjacency_matrix< D, VP, EP, GP, A >& g, Tag tag) ++ const adjacency_matrix< D, VP, EP, GP, A >& /* g */, Tag tag) + { + return const_type(tag); + } + + static single_nonconst_type get_nonconst_one( +- adjacency_matrix< D, VP, EP, GP, A >& g, Tag tag, edge_descriptor e) ++ adjacency_matrix< D, VP, EP, GP, A >& /* g */, Tag tag, edge_descriptor e) + { + return lookup_one_property< EP, Tag >::lookup( + *static_cast< EP* >(e.get_property()), tag); + } + + static single_const_type get_const_one( +- const adjacency_matrix< D, VP, EP, GP, A >& g, Tag tag, ++ const adjacency_matrix< D, VP, EP, GP, A >& /* g */, Tag tag, + edge_descriptor e) + { + return lookup_one_property< const EP, Tag >::lookup( +--- a/include/boost/graph/dijkstra_shortest_paths.hpp (index) ++++ b/include/boost/graph/dijkstra_shortest_paths.hpp (working tree) +@@ -97,7 +97,7 @@ public: + } + + private: +- template < class Edge, class Graph > void tree_edge(Edge u, Graph& g) {} ++ template < class Edge, class Graph > void tree_edge(Edge /* u */, Graph& /* g */) {} + }; + template < class Visitors > + dijkstra_visitor< Visitors > make_dijkstra_visitor(Visitors vis) +@@ -251,8 +251,8 @@ namespace detail + struct vertex_property_map_generator_helper< Graph, IndexMap, Value, false > + { + typedef boost::vector_property_map< Value, IndexMap > type; +- static type build(const Graph& g, const IndexMap& index, +- boost::scoped_array< Value >& array_holder) ++ static type build(const Graph& /* g */, const IndexMap& index, ++ boost::scoped_array< Value >& /* array_holder */) + { + return boost::make_vector_property_map< Value >(index); + } +@@ -299,7 +299,7 @@ namespace detail + typedef boost::vector_property_map< boost::two_bit_color_type, + IndexMap > + type; +- static type build(const Graph& g, const IndexMap& index) ++ static type build(const Graph& /* g */, const IndexMap& index) + { + return boost::make_vector_property_map< boost::two_bit_color_type >( + index); diff --git a/contrib/restricted/boost/icl/.yandex_meta/__init__.py b/contrib/restricted/boost/icl/.yandex_meta/__init__.py new file mode 100644 index 00000000000..083cd9f881b --- /dev/null +++ b/contrib/restricted/boost/icl/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_icl = NixSourceProject( + nixattr="boost_icl", + arcdir=boost.make_arcdir("icl"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/icl/.yandex_meta/default.nix b/contrib/restricted/boost/icl/.yandex_meta/default.nix new file mode 100644 index 00000000000..bbeceee4431 --- /dev/null +++ b/contrib/restricted/boost/icl/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_icl = stdenv.mkDerivation rec { + pname = "boost_icl"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "icl"; + rev = "boost-${version}"; + hash = "sha256-KNgAvevg1P0+qaE2eUtvfV/YCwEcXfUoZDTT6O5P0jU="; + }; + }; +} diff --git a/contrib/restricted/boost/integer/.yandex_meta/__init__.py b/contrib/restricted/boost/integer/.yandex_meta/__init__.py new file mode 100644 index 00000000000..0487a9cbbb0 --- /dev/null +++ b/contrib/restricted/boost/integer/.yandex_meta/__init__.py @@ -0,0 +1,17 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_integer = NixSourceProject( + nixattr="boost_integer", + arcdir=boost.make_arcdir("integer"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/integer/.yandex_meta/default.nix b/contrib/restricted/boost/integer/.yandex_meta/default.nix new file mode 100644 index 00000000000..6049014de4d --- /dev/null +++ b/contrib/restricted/boost/integer/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_integer = stdenv.mkDerivation rec { + pname = "boost_integer"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "integer"; + rev = "boost-${version}"; + hash = "sha256-1ahgl0abaaFM3+itvtAMuyWQ0IHrViQfXHG0dGrXstw="; + }; + }; +} diff --git a/contrib/restricted/boost/interprocess/.yandex_meta/__init__.py b/contrib/restricted/boost/interprocess/.yandex_meta/__init__.py new file mode 100644 index 00000000000..cd730dc12f9 --- /dev/null +++ b/contrib/restricted/boost/interprocess/.yandex_meta/__init__.py @@ -0,0 +1,22 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_interprocess = NixSourceProject( + nixattr="boost_interprocess", + arcdir=boost.make_arcdir("interprocess"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + disable_includes=[ + "atomic.h", + "vxAtomicLib.h", + "vxCpuLib.h", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/interprocess/.yandex_meta/default.nix b/contrib/restricted/boost/interprocess/.yandex_meta/default.nix new file mode 100644 index 00000000000..e3262dd4621 --- /dev/null +++ b/contrib/restricted/boost/interprocess/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_interprocess = stdenv.mkDerivation rec { + pname = "boost_interprocess"; + version = "1.86.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "interprocess"; + rev = "boost-${version}"; + hash = "sha256-X8Ab1Mv7EArhtg6/c+vC3mk1lqOVvqsd+rvfP3MJnbA="; + }; + }; +} diff --git a/contrib/restricted/boost/intrusive/.yandex_meta/__init__.py b/contrib/restricted/boost/intrusive/.yandex_meta/__init__.py new file mode 100644 index 00000000000..ea5d0c6ae38 --- /dev/null +++ b/contrib/restricted/boost/intrusive/.yandex_meta/__init__.py @@ -0,0 +1,22 @@ +from devtools.yamaker import boost +from devtools.yamaker.project import NixSourceProject + + +def post_install(self): + self.yamakes["."] = boost.make_library(self) + + +boost_intrusive = NixSourceProject( + nixattr="boost_intrusive", + arcdir=boost.make_arcdir("intrusive"), + owners=["g:cpp-contrib", "g:taxi-common"], + copy_sources=[ + "include/boost/", + ], + disable_includes=[ + "BOOST_INTRUSIVE_INVARIANT_ASSERT_INCLUDE", + "BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT_INCLUDE", + "BOOST_INTRUSIVE_SAFE_HOOK_DESTRUCTOR_ASSERT_INCLUDE", + ], + post_install=post_install, +) diff --git a/contrib/restricted/boost/intrusive/.yandex_meta/default.nix b/contrib/restricted/boost/intrusive/.yandex_meta/default.nix new file mode 100644 index 00000000000..429ba831af6 --- /dev/null +++ b/contrib/restricted/boost/intrusive/.yandex_meta/default.nix @@ -0,0 +1,13 @@ +self: super: with self; { + boost_intrusive = stdenv.mkDerivation rec { + pname = "boost_intrusive"; + version = "1.87.0"; + + src = fetchFromGitHub { + owner = "boostorg"; + repo = "intrusive"; + rev = "boost-${version}"; + hash = "sha256-n/rDG+VhBRy5cn0Bvhs4IdhWe6PMVhiT9QYUybJhBoU="; + }; + }; +} |