Skip to content

Commit 7a070ce

Browse files
committed
Merge pull request #18043 from ydb-platform/merge-libs-250506-0050
2 parents 369528a + aea70a0 commit 7a070ce

File tree

176 files changed

+4929
-2528
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+4929
-2528
lines changed

build/conf/java.conf

+1
Original file line numberDiff line numberDiff line change
@@ -1034,6 +1034,7 @@ _BUILD_PROTO_JAR_SEM= \
10341034
&& consumer-classpath $EXPORT_GRADLE_CLASSPATH \
10351035
&& consumer-jar ${MODDIR}/${REALPRJNAME}.jar \
10361036
&& consumer-type library \
1037+
${pre=&& consumer-proto_namespace :PROTO_NAMESPACE} \
10371038
$_JAVAC_SEM \
10381039
$_KOTLINC_SEM \
10391040
$_ANN_PROCESSORS_SEM \

build/conf/ts/ts.conf

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
NODEJS_ROOT=
22
NODEJS_BIN=$NODEJS_ROOT/node
3+
NODEJS_COPY_CMD=$COPY_CMD $NODEJS_BIN ${output:"node"}
34

45
_TS_REQUIRED_MISSING=~~required~~
56
TS_TRACE=no

build/conf/ts/ts_test.conf

+10
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ TS_TEST_NM=
66

77
_TS_TEST_DEPENDS_ON_BUILD=
88

9+
_TS_TEST_COPY_NODEJS_CMD=
10+
911
# We have to rename node_modules.tar to workspace_node_modules.tar,
1012
# so TS_TEST_JEST module has it's own unique output.
1113
# TS_TEST_JEST_FOR module has to output all files required for test run.
1214
TS_TEST_JEST_CMD=$TOUCH_UNIT \
15+
&& $_TS_TEST_COPY_NODEJS_CMD \
1316
&& $NOTS_TOOL $NOTS_TOOL_BASE_ARGS --nm-bundle yes create-node-modules \
1417
--moddir $TS_TEST_FOR_PATH \
1518
$_NODE_MODULES_INOUTS ${hide:PEERS} \
@@ -253,6 +256,13 @@ macro TS_TEST_DEPENDS_ON_BUILD() {
253256
ENABLE(_TS_TEST_DEPENDS_ON_BUILD)
254257
}
255258

259+
### @usage: TS_TEST_INCLUDE_NODEJS()
260+
###
261+
### Macro adds NodeJS binary to the test module build output.
262+
macro TS_TEST_INCLUDE_NODEJS() {
263+
SET(_TS_TEST_COPY_NODEJS_CMD \$NODEJS_COPY_CMD)
264+
}
265+
256266
# TS_TYPECHECK
257267

258268
_TS_TYPECHECK_VALUE=none

build/export_generators/gradle/generator.toml

+1
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,5 @@ kotlinc-flags="list"
102102
consumer-classpath="str"
103103
consumer-jar="str"
104104
consumer-type="str"
105+
consumer-proto_namespace="str"
105106
consumer-prebuilt="flag"

build/export_generators/ide-gradle/generator.toml

+1
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,5 @@ target_commands-flags="list"
112112
consumer-classpath="str"
113113
consumer-jar="str"
114114
consumer-type="str"
115+
consumer-proto_namespace="str"
115116
consumer-prebuilt="flag"

build/export_generators/ide-gradle/proto_prepare.jinja

+15-4
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,26 @@ val prepareMainProtos = tasks.register<Copy>("prepareMainProtos") {
3333
{%- if extractLibrariesProtosTask %}
3434

3535
val extractMainLibrariesProtos = tasks.register<Copy>("extractMainLibrariesProtos") {
36-
{%- if libraries|length %}
36+
{%- set root_libraries = libraries|rejectattr('proto_namespace') -%}
37+
{%- set ns_libraries = libraries|selectattr('proto_namespace') -%}
38+
{%- if root_libraries|length %}
3739
from("$arcadia_root") {
38-
{#- list of all library directories -#}
39-
{%- for library in libraries -%}
40+
{%- for library in root_libraries -%}
4041
{%- set path_and_jar = rsplit(library.jar, '/', 2) %}
4142
include("{{ path_and_jar[0] }}/**/*.proto")
4243
{%- endfor %}
4344
}
44-
{% endif -%}
45+
{%- endif -%}
46+
{%- if ns_libraries|length -%}
47+
{%- for library in ns_libraries -%}
48+
{%- set path_and_jar = rsplit(library.jar, '/', 2) -%}
49+
{%- set path = "#R/" + path_and_jar[0] -%}
50+
{%- set path = path|replace("#R/" + library.proto_namespace + "/", "")|replace("#R/", "") %}
51+
from("$arcadia_root/{{ library.proto_namespace }}") {
52+
include("{{ path }}/**/*.proto")
53+
}
54+
{%- endfor -%}
55+
{%- endif %}
4556
into(mainExtractedIncludeProtosDir)
4657
}
4758
{%- endif %}

build/platform/clang/arch.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ IF (ARCH_I386 OR ARCH_I686)
44
SET(CLANG_ARCH i386)
55
ELSEIF (ARCH_X86_64)
66
SET(CLANG_ARCH x86_64)
7+
ELSEIF (ARCH_ARM6)
8+
SET(CLANG_ARCH armv6)
79
ELSEIF (ARCH_ARM7 OR ARCH_ARM7_NEON)
810
SET(CLANG_ARCH armv7)
911
ELSEIF (ARCH_ARM64 OR ARCH_AARCH64)

build/platform/linux_sdk/ya.make

+6
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ ELSEIF (ARCH_PPC64LE)
4444
ELSE()
4545
MESSAGE(FATAL_ERROR "There is no ${OS_SDK} SDK for PPC64LE")
4646
ENDIF()
47+
ELSEIF (ARCH_ARM6)
48+
IF (ARM6_FLOAT_ABI == "hard" AND OS_SDK == "ubuntu-16")
49+
DECLARE_EXTERNAL_RESOURCE(OS_SDK_ROOT sbr:1323200692)
50+
ELSE()
51+
MESSAGE(FATAL_ERROR "There is no ${OS_SDK} SDK for ARMv6 32 bit (float ABI: ${ARM6_FLOAT_ABI})")
52+
ENDIF()
4753
ELSEIF (ARCH_ARM7)
4854
IF (ARM7_FLOAT_ABI == "hard" AND OS_SDK == "ubuntu-16")
4955
DECLARE_EXTERNAL_RESOURCE(OS_SDK_ROOT sbr:1323200692)

build/plugins/nots.py

+5
Original file line numberDiff line numberDiff line change
@@ -893,8 +893,13 @@ def on_ts_test_for_configure(
893893

894894
for_mod_path = df.TsTestForPath.value(unit, (), {})[df.TsTestForPath.KEY]
895895
unit.onpeerdir([for_mod_path])
896+
897+
# user-defined recipes should be in the end
898+
user_recipes = unit.get("TEST_RECIPES_VALUE").replace("$TEST_RECIPES_VALUE", "").strip()
899+
unit.set(["TEST_RECIPES_VALUE", ""])
896900
unit.on_setup_extract_node_modules_recipe([for_mod_path])
897901
unit.on_setup_extract_output_tars_recipe([for_mod_path])
902+
__set_append(unit, "TEST_RECIPES_VALUE", user_recipes)
898903

899904
build_root = "$B" if test_runner in [TsTestType.HERMIONE, TsTestType.PLAYWRIGHT_LARGE] else "$(BUILD_ROOT)"
900905
unit.set(["TS_TEST_NM", os.path.join(build_root, for_mod_path, node_modules_filename)])

build/ya.conf.json

+10
Original file line numberDiff line numberDiff line change
@@ -1612,6 +1612,16 @@
16121612
"os": "IOSSIM"
16131613
}
16141614
},
1615+
{
1616+
"default": true,
1617+
"host": {
1618+
"os": "LINUX"
1619+
},
1620+
"target": {
1621+
"arch": "armv6hf",
1622+
"os": "LINUX"
1623+
}
1624+
},
16151625
{
16161626
"default": true,
16171627
"host": {

build/ymake_conf.py

+19-3
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,15 @@ def __init__(self, name, os, arch):
102102
self.is_x86_64 = self.arch in ('x86_64', 'amd64')
103103
self.is_intel = self.is_x86 or self.is_x86_64
104104

105+
self.is_armv6 = self.arch in ('armv6hf',)
105106
self.is_armv7 = self.arch in ('armv7', 'armv7a', 'armv7ahf', 'armv7a_neon', 'arm', 'armv7a_cortex_a9', 'armv7ahf_cortex_a35', 'armv7ahf_cortex_a53')
106107
self.is_armv8 = self.arch in ('armv8', 'armv8a', 'arm64', 'aarch64', 'armv8a_cortex_a35', 'armv8a_cortex_a53')
107108
self.is_armv8m = self.arch in ('armv8m_cortex_m33', 'armv8m_cortex_m23')
108109
self.is_armv7em = self.arch in ('armv7em_cortex_m4', 'armv7em_cortex_m7')
109110
self.is_arm64 = self.arch in ('arm64',)
110-
self.is_arm = self.is_armv7 or self.is_armv8 or self.is_armv8m or self.is_armv7em
111+
self.is_arm = self.is_armv6 or self.is_armv7 or self.is_armv8 or self.is_armv8m or self.is_armv7em
111112
self.is_armv7_neon = self.arch in ('armv7a_neon', 'armv7ahf', 'armv7a_cortex_a9', 'armv7ahf_cortex_a35', 'armv7ahf_cortex_a53')
113+
self.is_armv6hf = self.arch in ('armv6hf',)
112114
self.is_armv7hf = self.arch in ('armv7ahf', 'armv7ahf_cortex_a35', 'armv7ahf_cortex_a53')
113115
self.is_armv5te = self.arch in ('armv5te_arm968e_s',)
114116

@@ -124,6 +126,8 @@ def __init__(self, name, os, arch):
124126
self.is_xtensa_hifi5 = self.arch == 'xtensa_hifi5'
125127
self.is_xtensa = self.is_xtensa_hifi4 or self.is_xtensa_hifi5
126128

129+
self.armv6_float_abi = 'hard'
130+
127131
self.armv7_float_abi = None
128132
if self.is_armv7:
129133
if self.is_armv7hf:
@@ -148,7 +152,11 @@ def __init__(self, name, os, arch):
148152
self.is_wasm64 = self.arch == 'wasm64'
149153
self.is_wasm = self.is_wasm32 or self.is_wasm64
150154

151-
self.is_32_bit = self.is_x86 or self.is_armv5te or self.is_armv7 or self.is_armv8m or self.is_riscv32 or self.is_nds32 or self.is_armv7em or self.is_xtensa or self.is_tc32 or self.is_wasm32
155+
self.is_32_bit = (
156+
self.is_x86 or
157+
self.is_armv5te or self.is_armv6 or self.is_armv7 or self.is_armv7em or self.is_armv8m or
158+
self.is_riscv32 or self.is_nds32 or self.is_xtensa or self.is_tc32 or self.is_wasm32
159+
)
152160
self.is_64_bit = self.is_x86_64 or self.is_armv8 or self.is_powerpc or self.is_wasm64
153161

154162
assert self.is_32_bit or self.is_64_bit
@@ -216,6 +224,7 @@ def arch_variables(self):
216224
(self.is_i386 or self.is_i686, 'ARCH_I386'),
217225
(self.is_i686, 'ARCH_I686'),
218226
(self.is_x86_64, 'ARCH_X86_64'),
227+
(self.is_armv6, 'ARCH_ARM6'),
219228
(self.is_armv7, 'ARCH_ARM7'),
220229
(self.is_armv7_neon, 'ARCH_ARM7_NEON'),
221230
(self.is_armv8, 'ARCH_ARM64'),
@@ -827,6 +836,9 @@ def print_target_settings(self):
827836
for variable in self.platform.os_variables:
828837
emit(variable, 'yes')
829838

839+
if self.platform.is_armv6:
840+
emit('ARM6_FLOAT_ABI', self.platform.armv6_float_abi)
841+
830842
if self.platform.is_armv7:
831843
emit('ARM7_FLOAT_ABI', self.platform.armv7_float_abi)
832844

@@ -1195,6 +1207,7 @@ def get_os_sdk(target):
11951207
target_triple = select(default=None, selectors=[
11961208
(target.is_linux and target.is_x86_64, 'x86_64-linux-gnu'),
11971209
(target.is_linux and target.is_armv8, 'aarch64-linux-gnu'),
1210+
(target.is_linux and target.is_armv6 and target.armv6_float_abi == 'hard', 'armv6-linux-gnueabihf'),
11981211
(target.is_linux and target.is_armv7 and target.armv7_float_abi == 'hard', 'armv7-linux-gnueabihf'),
11991212
(target.is_linux and target.is_armv7 and target.armv7_float_abi == 'softfp', 'armv7-linux-gnueabi'),
12001213
(target.is_linux and target.is_powerpc, 'powerpc64le-linux-gnu'),
@@ -1258,13 +1271,16 @@ def get_os_sdk(target):
12581271
elif target.is_cortex_m33:
12591272
self.c_flags_platform.append('-mcpu=cortex-m33 -mfpu=fpv5-sp-d16')
12601273

1274+
elif target.is_armv6hf:
1275+
self.c_flags_platform.append('-march=armv6 -mfpu=vfp')
1276+
12611277
elif target.is_armv7_neon:
12621278
self.c_flags_platform.append('-mfpu=neon')
12631279

12641280
elif target.is_arm968e_s:
12651281
self.c_flags_platform.append('-march=armv5te -mcpu=arm968e-s -mthumb-interwork -mlittle-endian')
12661282

1267-
if (target.is_armv7 or target.is_armv8m or target.is_armv7em or target.is_armv5te) and build.is_size_optimized:
1283+
if (target.is_armv6 or target.is_armv7 or target.is_armv8m or target.is_armv7em or target.is_armv5te) and build.is_size_optimized:
12681284
# Enable ARM Thumb2 variable-length instruction encoding
12691285
# to reduce code size
12701286
self.c_flags_platform.append('-mthumb')

contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ IF (ARCH_ARM64 OR ARCH_X86_64)
151151
ENDIF()
152152
EOF
153153

154-
echo 'IF (ARCH_ARM7)'
154+
echo 'IF (ARCH_ARM6 OR ARCH_ARM7)'
155155
echo 'SRCS('
156156
ls arm/*.S arm/*.c > special
157157
python3 join.py common special arm

contrib/libs/cxxsupp/builtins/ya.make

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ IF (ARCH_ARM64 OR ARCH_X86_64)
8686
ENDIF()
8787
ENDIF()
8888

89-
IF (ARCH_ARM7)
89+
IF (ARCH_ARM6 OR ARCH_ARM7)
9090
SRCS(
9191
absvdi2.c
9292
absvsi2.c

contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ ELSEIF (OS_IOS)
112112
contrib/libs/cxxsupp/builtins
113113
)
114114
ELSEIF (OS_LINUX OR OS_DARWIN)
115-
IF (ARCH_ARM7)
115+
IF (ARCH_ARM6 OR ARCH_ARM7)
116116
# libcxxrt support for ARM is currently broken, use libcxxabi instead
117117
SET(CXX_RT "libcxxabi")
118118
ELSE()

contrib/libs/cxxsupp/libcxx/include/__memory/array_cookie.h

-55
This file was deleted.

contrib/libs/cxxsupp/libcxx/ya.make

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ ELSEIF (OS_IOS)
3434
contrib/libs/cxxsupp/builtins
3535
)
3636
ELSEIF (OS_LINUX OR OS_DARWIN)
37-
IF (ARCH_ARM7)
37+
IF (ARCH_ARM6 OR ARCH_ARM7)
3838
# libcxxrt support for ARM is currently broken, use libcxxabi instead
3939
SET(CXX_RT "libcxxabi")
4040
ELSE()

contrib/python/pytest/py3/.dist-info/METADATA

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Metadata-Version: 2.1
22
Name: pytest
3-
Version: 7.4.4
3+
Version: 8.0.2
44
Summary: pytest: simple powerful testing with Python
55
Home-page: https://docs.pytest.org/en/latest/
66
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
@@ -23,7 +23,6 @@ Classifier: Operating System :: Microsoft :: Windows
2323
Classifier: Operating System :: POSIX
2424
Classifier: Programming Language :: Python :: 3
2525
Classifier: Programming Language :: Python :: 3 :: Only
26-
Classifier: Programming Language :: Python :: 3.7
2726
Classifier: Programming Language :: Python :: 3.8
2827
Classifier: Programming Language :: Python :: 3.9
2928
Classifier: Programming Language :: Python :: 3.10
@@ -32,15 +31,14 @@ Classifier: Programming Language :: Python :: 3.12
3231
Classifier: Topic :: Software Development :: Libraries
3332
Classifier: Topic :: Software Development :: Testing
3433
Classifier: Topic :: Utilities
35-
Requires-Python: >=3.7
34+
Requires-Python: >=3.8
3635
Description-Content-Type: text/x-rst
3736
License-File: LICENSE
3837
Requires-Dist: iniconfig
3938
Requires-Dist: packaging
40-
Requires-Dist: pluggy <2.0,>=0.12
39+
Requires-Dist: pluggy <2.0,>=1.3.0
4140
Requires-Dist: exceptiongroup >=1.0.0rc8 ; python_version < "3.11"
4241
Requires-Dist: tomli >=1.0.0 ; python_version < "3.11"
43-
Requires-Dist: importlib-metadata >=0.12 ; python_version < "3.8"
4442
Requires-Dist: colorama ; sys_platform == "win32"
4543
Provides-Extra: testing
4644
Requires-Dist: argcomplete ; extra == 'testing'
@@ -75,16 +73,13 @@ Requires-Dist: xmlschema ; extra == 'testing'
7573
:target: https://codecov.io/gh/pytest-dev/pytest
7674
:alt: Code coverage Status
7775

78-
.. image:: https://github.com/pytest-dev/pytest/workflows/test/badge.svg
76+
.. image:: https://github.com/pytest-dev/pytest/actions/workflows/test.yml/badge.svg
7977
:target: https://github.com/pytest-dev/pytest/actions?query=workflow%3Atest
8078

8179
.. image:: https://results.pre-commit.ci/badge/github/pytest-dev/pytest/main.svg
8280
:target: https://results.pre-commit.ci/latest/github/pytest-dev/pytest/main
8381
:alt: pre-commit.ci status
8482

85-
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
86-
:target: https://github.com/psf/black
87-
8883
.. image:: https://www.codetriage.com/pytest-dev/pytest/badges/users.svg
8984
:target: https://www.codetriage.com/pytest-dev/pytest
9085

@@ -155,7 +150,7 @@ Features
155150
- Can run `unittest <https://docs.pytest.org/en/stable/how-to/unittest.html>`_ (or trial),
156151
`nose <https://docs.pytest.org/en/stable/how-to/nose.html>`_ test suites out of the box
157152

158-
- Python 3.7+ or PyPy3
153+
- Python 3.8+ or PyPy3
159154

160155
- Rich plugin architecture, with over 850+ `external plugins <https://docs.pytest.org/en/latest/reference/plugin_list.html>`_ and thriving community
161156

0 commit comments

Comments
 (0)