From f70a1bfc721336d4fc7dfb711c2f518a6b18cf16 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 30 Sep 2020 17:27:54 +0100 Subject: gentoo resync : 30.09.2020 --- dev-python/protobuf-python/Manifest | 11 ++-- ...protobuf.pyext._message.PyUnknownFieldRef.patch | 22 +++++++ .../protobuf-python-3.11.4-r1.ebuild | 71 +++++++++++++++++++++ .../protobuf-python/protobuf-python-3.11.4.ebuild | 63 ------------------- .../protobuf-python-3.12.2-r1.ebuild | 71 +++++++++++++++++++++ .../protobuf-python/protobuf-python-3.12.2.ebuild | 63 ------------------- .../protobuf-python-3.12.4-r1.ebuild | 71 +++++++++++++++++++++ .../protobuf-python/protobuf-python-3.12.4.ebuild | 63 ------------------- .../protobuf-python-3.13.0-r1.ebuild | 73 ++++++++++++++++++++++ .../protobuf-python/protobuf-python-3.13.0.ebuild | 69 -------------------- .../protobuf-python/protobuf-python-9999.ebuild | 10 ++- 11 files changed, 321 insertions(+), 266 deletions(-) create mode 100644 dev-python/protobuf-python/files/protobuf-python-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch create mode 100644 dev-python/protobuf-python/protobuf-python-3.11.4-r1.ebuild delete mode 100644 dev-python/protobuf-python/protobuf-python-3.11.4.ebuild create mode 100644 dev-python/protobuf-python/protobuf-python-3.12.2-r1.ebuild delete mode 100644 dev-python/protobuf-python/protobuf-python-3.12.2.ebuild create mode 100644 dev-python/protobuf-python/protobuf-python-3.12.4-r1.ebuild delete mode 100644 dev-python/protobuf-python/protobuf-python-3.12.4.ebuild create mode 100644 dev-python/protobuf-python/protobuf-python-3.13.0-r1.ebuild delete mode 100644 dev-python/protobuf-python/protobuf-python-3.13.0.ebuild (limited to 'dev-python/protobuf-python') diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest index 8a57c5623080..45820afdc7ce 100644 --- a/dev-python/protobuf-python/Manifest +++ b/dev-python/protobuf-python/Manifest @@ -1,10 +1,11 @@ +AUX protobuf-python-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch 888 BLAKE2B 25d486e8ccd60753f372fb708bb66ef2dd6358cf088f84ea58d4fe6889bc31276930bb5d8fb5538b5a25d621959cf197ce9cd9d27299df05109432197c32c2ff SHA512 4ed96d0608146e268d717709d7d00272b306ce78dc91d715d35d0901a545dd58873ff40f903b42d46362deeef6bdeb0c2a34225f7c3fb4798d352e54fdf8c344 DIST protobuf-3.11.4.tar.gz 5140799 BLAKE2B 97b450c0623593efe6a42b66582ff183344b8831689e6a5b4d36096dbd57c33da9569bbf26578536aaf73ecd866ac0588b6cb7d55a6a9b9a6e840d4c57099001 SHA512 777bbb0e9e2375eaebe6b8c87abd660bac70ee469c9ad00dd25917b82d7fb5bbe33cf87f0d69c90e19d55c07a7285ec20974ba4768623ce9ccfadf147fd5e261 DIST protobuf-3.12.2.tar.gz 5309688 BLAKE2B 6f04ab75a165d8135b4c1de210f8698f56f309f73d664192209de10580e0ef850bf56f6f394b860f21912e341141f7bbb1f63198eaee55fd7ad74d86b00c3b1f SHA512 84a349a1dcb5bce6a6a892cf11264390b557ed1e7b05883b71fa9cfb7460d9f73119da1f2861066869e33c752246ea438d5ce2c2b3ff7a4b07696d9450b7916b DIST protobuf-3.12.4.tar.gz 5310348 BLAKE2B 2630941672963165467221843c10079a0ed966f2fdfcbc970b0b41e1ed3c7f78734496c1fbd3ec509c68999a14f637fff267b309cf82a8acf2bb5a948484f79b SHA512 c5d24502b9a6be0a606a19213186fe462e0de6830547003636f0897781f36d0bd7e4e7d9689d96390a0399ce04b6438cda3a0fe6f97f0feb700a110e90beef0c DIST protobuf-3.13.0.tar.gz 5277913 BLAKE2B 168aaa5beef83be675cd2543ca8efeaf5174f5e7fd861a056b04b01c8c781dc7b1fcbd05068ae89f051dfacfdc47c34b19cc33c8d09dd3212d3827746e3408f2 SHA512 514efa65fc8a36bc0791e6d39bdfb07b2689e9c2a4b82536c657859b800e7bc1e1a0ae86a7ee33f30c43a473a49b5c346ce830ac0057b6da104ed37f90b8b0fd -EBUILD protobuf-python-3.11.4.ebuild 1557 BLAKE2B 4a81edccba9763452cec9166535bda9bfdef9b65d044d4151eb8f48bda036cbeef61a81cf7ae8dcb35a7df5bc031c5bc169fbf972098aec7f792c8db8e1964a9 SHA512 c3581654a93005e894d071a30a197358fe0643ff0a462a8fe2b21ceb6b27b208099251a3ff61af617c5ff443d0d090c9f2e8744c4eae6d9c8b542465ab4850c6 -EBUILD protobuf-python-3.12.2.ebuild 1558 BLAKE2B e752981210ab066a3f8a45f7db34174796b12c8c70371f2065818abf1ed0077c2973b0af7baa49363986d9c552a0994adad3f2c03faf0572ceea28d18f889703 SHA512 608783436fad1e86117c985ca8e1065f4212a3a20ae7df333e560db93fdd33a04e17fb7667a413daa2064b62830542dfdcd34c28357d51b62a70acdd94c0cef9 -EBUILD protobuf-python-3.12.4.ebuild 1566 BLAKE2B cc05b4213196c3b14186cfa0f5b0c879ff8245793e4853837b098cf7793edd60b5443d58e4562bafd9e451cade4b4920353ec988b15fe9c346eeb8156945dbc7 SHA512 a08d31ad529c83aec7809ae2f3dbf2d1f12a0c7308037a6864b9d8cca246c9685f7f6a3bd9993aee7bc80a59779bbf1a84ed512c896cfe65283e17f0761c71fe -EBUILD protobuf-python-3.13.0.ebuild 1661 BLAKE2B 2263ced6fd5256904f674deffe3ee55e8dc062b87725122f1fc88bb0038f69d448c0c86e5c23dc5f0d15b5ade904bdf6e3af83428502bf02eaf437ec899087b8 SHA512 ab427ce891c3505aeef22e43ed68110ee42c55d6821d8b9c8de518385eea7b38bfe6fc6c343f934b3abcb16e40fdc555d14c0f1aaf077357e3f1b50901f74c6c -EBUILD protobuf-python-9999.ebuild 1548 BLAKE2B 9c70147a9c667dfa8f5f71a92fa5a98deb56399006c7cb8d720afd437c2b07274ffcb78bbd245958c1ee3f2a709451fccba3d474aae530e3aa20b0ebcdecafce SHA512 6143050af118f1747ea0b0b720142ac46adcaaa0fbd13a1a635dbe5f2aa0c83c1b249ad8ee92180d5a9355c5537336a2a9fa56a8533e41e88106ae0baa2d27a2 +EBUILD protobuf-python-3.11.4-r1.ebuild 1755 BLAKE2B 3f799ed3eb955c14afc27c8874f1181039ebf689a128e3a4091ad4ad380ebdd705924998ad45c52bd829fa8399e961277733f24d5103e3e0d14291491dd7105a SHA512 e5768c3301f38aa0171052fed9d771b23965270f9c8d9866d06e7bb8a80cdf99ea9a30adae8687c6fda8468001eaebccd7ceaf6cca27165f2e2049b1327f67a6 +EBUILD protobuf-python-3.12.2-r1.ebuild 1753 BLAKE2B 1a53d4c3c6045b738eeee3b05fa588cf891158b7a48c4fc6ea1ca52676775a3e4514ce6fe095b52cfae2ad1d69ff5c4a7a8a5fcf9cbc3b440eab9dc2bec7c590 SHA512 cebc21b3ef6830bc771168fa5dd1d59adece556d43162702e534ba0b98a3125af3ee153c339effd9b038b716606a61347f20e5871300e33c0ba10d9e3f3c11ab +EBUILD protobuf-python-3.12.4-r1.ebuild 1762 BLAKE2B 6f8960631feb4c1929461d23670ee6f06ed2cf7775cffe4ba57c346e53064b384b3b4cbe25453c0c0dedd07b3c0ffd321aec87f3e2f6cb61172d008de164ec97 SHA512 1279cb70cf1c121f14b9135e89ef033919c5a87e4e2b56b455a60d8b112a81432490abf921dd5843c04c3d8a41b55b68e78b101755d940e6a1fef94a7ef72bb9 +EBUILD protobuf-python-3.13.0-r1.ebuild 1841 BLAKE2B ce91807d58420bc3d7a6880d3b42311faf750c5fa5a2fb43e70614232ddbd7f830fc68c5572aefa0d924242dc832d79531fe286b4093e3090f0024b06d75f356 SHA512 8da8ba39e2399c6e66b1fe9e4fffef839021f98f2de25d99f90119f3bf51347e0bc96220f2699a002ba5b5562b28b7b9e315049de56a2737984135b7b613f46b +EBUILD protobuf-python-9999.ebuild 1728 BLAKE2B db3e66b56226f42c1c3aeb26f7afcb92dc017ba7c65ad0a66cfb1d8993ae6f0167af6758c20537dfcd9f5b55d8f0a2fa90aefc177e32ce3770a7b8cdcab1f920 SHA512 640e1fd6576f92f1a644181ba071aa2c2ec9fb17322c1bbfdb63aa95e323516c869c337216fd035c4cb8d46449a4436355ceafdf7dd51d7f4ced9f8b78e07ae8 MISC metadata.xml 539 BLAKE2B 32831dd18b1c8c19a3e5339788b48bcbc6719654148fab93412bb91aa53ccad7b39529bbc2ea78b33b157eeb024e77cfa981088375466273e58b9d043ebdd70b SHA512 c6f28c8549dc8d3552836e81322db479ed4ac7ab5a12232f64d55cd909d8e4face39eed67b3f2c79f01023cfe3d00cf0540493acdb0aac419e6b58abcd430890 diff --git a/dev-python/protobuf-python/files/protobuf-python-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch b/dev-python/protobuf-python/files/protobuf-python-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch new file mode 100644 index 000000000000..68318320b909 --- /dev/null +++ b/dev-python/protobuf-python/files/protobuf-python-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch @@ -0,0 +1,22 @@ +https://github.com/protocolbuffers/protobuf/issues/6205 +https://github.com/protocolbuffers/protobuf/pull/7016 + +--- /python/google/protobuf/pyext/unknown_fields.cc ++++ /python/google/protobuf/pyext/unknown_fields.cc +@@ -277,13 +277,13 @@ + PyObject* data = NULL; + switch (field->type()) { + case UnknownField::TYPE_VARINT: +- data = PyInt_FromLong(field->varint()); ++ data = PyLong_FromUnsignedLongLong(field->varint()); + break; + case UnknownField::TYPE_FIXED32: +- data = PyInt_FromLong(field->fixed32()); ++ data = PyLong_FromUnsignedLong(field->fixed32()); + break; + case UnknownField::TYPE_FIXED64: +- data = PyInt_FromLong(field->fixed64()); ++ data = PyLong_FromUnsignedLongLong(field->fixed64()); + break; + case UnknownField::TYPE_LENGTH_DELIMITED: + data = PyBytes_FromStringAndSize(field->length_delimited().data(), diff --git a/dev-python/protobuf-python/protobuf-python-3.11.4-r1.ebuild b/dev-python/protobuf-python/protobuf-python-3.11.4-r1.ebuild new file mode 100644 index 000000000000..d9ae6a9e74dd --- /dev/null +++ b/dev-python/protobuf-python/protobuf-python-3.11.4-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 2008-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +PYTHON_COMPAT=(python{3_6,3_7,3_8}) +DISTUTILS_USE_SETUPTOOLS="rdepend" + +inherit distutils-r1 + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" + EGIT_SUBMODULES=() +fi + +DESCRIPTION="Google's Protocol Buffers - Python bindings" +HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="" +else + SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" +fi + +LICENSE="BSD" +SLOT="0/22" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" +IUSE="" + +BDEPEND="${PYTHON_DEPS} + ~dev-libs/protobuf-${PV} + dev-python/namespace-google[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}]" +DEPEND="${PYTHON_DEPS} + ~dev-libs/protobuf-${PV}" +RDEPEND="${BDEPEND} + ! /dev/null || die + eapply "${FILESDIR}/${PN}-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch" + eapply_user + popd > /dev/null || die + + distutils-r1_python_prepare_all +} + +python_configure_all() { + mydistutilsargs=(--cpp_implementation) +} + +python_compile() { + python_is_python3 || local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" + distutils-r1_python_compile +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + + find "${D}" -name "*.pth" -type f -delete || die +} diff --git a/dev-python/protobuf-python/protobuf-python-3.11.4.ebuild b/dev-python/protobuf-python/protobuf-python-3.11.4.ebuild deleted file mode 100644 index d95a668e36a0..000000000000 --- a/dev-python/protobuf-python/protobuf-python-3.11.4.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2008-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=(python{2_7,3_6,3_7,3_8}) -DISTUTILS_USE_SETUPTOOLS="manual" - -inherit distutils-r1 - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Python bindings" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/22" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" -IUSE="" - -BDEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV} - dev-python/namespace-google[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}]" -DEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV}" -RDEPEND="${BDEPEND} - ! /dev/null || die + eapply "${FILESDIR}/${PN}-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch" + eapply_user + popd > /dev/null || die + + distutils-r1_python_prepare_all +} + +python_configure_all() { + mydistutilsargs=(--cpp_implementation) +} + +python_compile() { + python_is_python3 || local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" + distutils-r1_python_compile +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + + find "${D}" -name "*.pth" -type f -delete || die +} diff --git a/dev-python/protobuf-python/protobuf-python-3.12.2.ebuild b/dev-python/protobuf-python/protobuf-python-3.12.2.ebuild deleted file mode 100644 index a6ada7b300a8..000000000000 --- a/dev-python/protobuf-python/protobuf-python-3.12.2.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2008-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=(python{2_7,3_{6..9}}) -DISTUTILS_USE_SETUPTOOLS="manual" - -inherit distutils-r1 - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Python bindings" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/23" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" -IUSE="" - -BDEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV} - dev-python/namespace-google[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}]" -DEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV}" -RDEPEND="${BDEPEND} - ! /dev/null || die + eapply "${FILESDIR}/${PN}-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch" + eapply_user + popd > /dev/null || die + + distutils-r1_python_prepare_all +} + +python_configure_all() { + mydistutilsargs=(--cpp_implementation) +} + +python_compile() { + python_is_python3 || local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" + distutils-r1_python_compile +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + + find "${D}" -name "*.pth" -type f -delete || die +} diff --git a/dev-python/protobuf-python/protobuf-python-3.12.4.ebuild b/dev-python/protobuf-python/protobuf-python-3.12.4.ebuild deleted file mode 100644 index 45575c8ab012..000000000000 --- a/dev-python/protobuf-python/protobuf-python-3.12.4.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2008-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -PYTHON_COMPAT=(python{2_7,3_6,3_7,3_8,3_9}) -DISTUTILS_USE_SETUPTOOLS="manual" - -inherit distutils-r1 - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Python bindings" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/23" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" -IUSE="" - -BDEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV} - dev-python/namespace-google[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}]" -DEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV}" -RDEPEND="${BDEPEND} - ! /dev/null || die + eapply "${FILESDIR}/${PN}-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch" + eapply_user + popd > /dev/null || die + + distutils-r1_python_prepare_all + + sed -e "/^[[:space:]]*setup_requires = \['wheel'\],$/d" -i setup.py || die +} + +python_configure_all() { + mydistutilsargs=(--cpp_implementation) +} + +python_compile() { + python_is_python3 || local -x CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" + distutils-r1_python_compile +} + +python_test() { + esetup.py test +} + +python_install_all() { + distutils-r1_python_install_all + + find "${D}" -name "*.pth" -type f -delete || die +} diff --git a/dev-python/protobuf-python/protobuf-python-3.13.0.ebuild b/dev-python/protobuf-python/protobuf-python-3.13.0.ebuild deleted file mode 100644 index 51f7d5f7b7f2..000000000000 --- a/dev-python/protobuf-python/protobuf-python-3.13.0.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 2008-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -DISTUTILS_USE_SETUPTOOLS=rdepend -PYTHON_COMPAT=(python{2_7,3_6,3_7,3_8,3_9}) - -inherit distutils-r1 - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" - EGIT_SUBMODULES=() -fi - -DESCRIPTION="Google's Protocol Buffers - Python bindings" -HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" -if [[ "${PV}" == "9999" ]]; then - SRC_URI="" -else - SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> protobuf-${PV}.tar.gz" -fi - -LICENSE="BSD" -SLOT="0/24" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" -IUSE="" - -BDEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV} - dev-python/namespace-google[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}]" -DEPEND="${PYTHON_DEPS} - ~dev-libs/protobuf-${PV}" -RDEPEND="${BDEPEND} - ! /dev/null || die + eapply "${FILESDIR}/${PN}-3.13.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch" + eapply_user + popd > /dev/null || die + distutils-r1_python_prepare_all sed -e "/^[[:space:]]*setup_requires = \['wheel'\],$/d" -i setup.py || die -- cgit v1.2.3