summaryrefslogtreecommitdiff
path: root/sci-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-04-16 12:04:26 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-04-16 12:04:26 +0100
commitb92911550490e2da121ec4b02d3cf60a2d31a17d (patch)
treedc29e698da3b00d42ead3796b35416159e83d57a /sci-libs
parent7fa8a1e3f149eea4c844c47cfe26136ed7614c58 (diff)
gentoo auto-resync : 16:04:2024 - 12:04:26
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/Manifest.gzbin44817 -> 44817 bytes
-rw-r--r--sci-libs/hdf5/Manifest5
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch28
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch31
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch65
-rw-r--r--sci-libs/hdf5/hdf5-1.14.4_p2.ebuild118
6 files changed, 247 insertions, 0 deletions
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz
index 5dd9ee406247..7bfc5709315c 100644
--- a/sci-libs/Manifest.gz
+++ b/sci-libs/Manifest.gz
Binary files differ
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
index b9adf113a957..451b2b31cca3 100644
--- a/sci-libs/hdf5/Manifest
+++ b/sci-libs/hdf5/Manifest
@@ -4,6 +4,9 @@ AUX hdf5-1.12.2-no-strip-symbols.patch 434 BLAKE2B c8d96cb95d3444c18349d72b7fd59
AUX hdf5-1.14.2-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch 852 BLAKE2B 70e31289d44479909f10d38aa1ee83ff8791d37ef33f9ba3d34879b655271d822434c41ec32875cc60154a53eb555b6d73f1a06cb369a1bc8b8a5d698bbbc12c SHA512 34969fdb657c0b7d7d89917eb4adc4479a52efd63c03d243c5e5be1e8db6b1238833ecfd381a7e0b881466905b1464c37689fa4b693c04e9cc2366a0985d25ad
AUX hdf5-1.14.2-0002-Disable-forced-stripping.patch 832 BLAKE2B 86fe49b93a52d9f538c1359d0e1412a31444dd424607a7a54cf40e55d842550e18a7107d41a1f11d41e7ed0410799d73454826d56bd3401e2eca4e27a9fdd5a1 SHA512 1935b4ff52d7296563b67ef8db694e0996353075a9f2e44cba1992a27c57bf0361d346b9b4489a2d5dbc0b0e6097d421f6b9c52784bfd6562a2f07418a84d515
AUX hdf5-1.14.2-0003-Drop-broken-Werror-stripping.patch 1280 BLAKE2B 82c563607233aa863e996463a2f6a7a73c8f17aeeba97ad2fd7e04ad400941d8b166e2e845bc051c7f697f6fdf6bba392c01b1e24e65aba74d33f7ce4fcb37bc SHA512 286b3bc5ecb6e0b94880ce65a9f2722e7a72d0ee9b91a4887424e25d89296017f8f2730f66ba24f550276e7df000e7e35e34b468b35f5fa1cb85f02e04ae3a4f
+AUX hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch 852 BLAKE2B 72695b0c7faa04b2b421da62127d914aff2ce2f24c5ed9608eeeaa399f1a1b9b283a02451aeb4da584d24de1ddb073840955db327abd8010527bf0e9101671ee SHA512 3324b40eed3a9e9ad4edbc6ffff45e4f125133df91f9a3b877d58ce2d25b4fc265bad9aec813df939ca30edd5c2ccf2ae4cecda3c968f8abd34fc012e6dad98c
+AUX hdf5-1.14.4-0002-Disable-forced-stripping.patch 832 BLAKE2B f8d3673e30f054740509f91ff36155b466d3b6925929e15a135dd84a72230151589799a8ec7f1a91b315a8e1137852a2ef21db00257c19586836c80ef2ecd81d SHA512 6a40b6b7073d62f1cbfb05fda7c504cc7ee653c740260bd4aef9bedb317ef2db77e8438322da65a20cb6e7185b1e703d56b43fd23bf944025210229a8bb7dfcd
+AUX hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch 2064 BLAKE2B 9da838b8bd67e2016be4d6b6c46dc5c7cead6dac39faa84dbdb7a4bb9b0367eda1889343ab74aec4ba43a585901564c977ba387dc78aea00ae3432a4956b6086 SHA512 727f3a2135a67899b205eba12d6bc7caf391e0ea833b31c4307b5c6d38d6c329a97ae82595bb218e1ebae6db41ee52ac007de774b5e81aaf4adb0010606f8b25
AUX hdf5-1.8.13-no-messing-ldpath.patch 1141 BLAKE2B d7d186e4c00acb9fd3d44beb1d8c3c4da0c373f88b3fdf21e1f89b169b747d49572239385228687cfc10380bdceb9ca6d1ac0d5f5154cb7a328f8a2d509fb28d SHA512 e43021ceb83909ab06ba378363c192aa0f1b34cc7c2b121f5000e215516dbdea1b825a53ac4023073bf4870a5c3452c22f5535391d95af45ad63a309e1ffa5a4
AUX hdf5-1.8.9-mpicxx.patch 494 BLAKE2B 148d87af064e2ba28c918c8db39ece0782a179803e4c38c5cd5eaba81a673bb8aa3699a48e80a7ae2d4579ac0261cc21d5509e46661ada9a69f444a58eb45ecd SHA512 8b4c39e40591860652547ea8ff205230da7d67488233e911cbcb3416eab561f2529c65bc5e7c9c812bf4298812346f47f9209e5f69f7e8f66ad587306a5b477b
AUX hdf5-1.8.9-static_libgfortran.patch 429 BLAKE2B 9e1c544a453c09b3498a7d9d3e8090c928571776934c4dd6b426cbdb2783ed8f47185d6ee0c73ede6b4f14e27459ef5e1412112e9d897daa2dc57f1ad5fb0b24 SHA512 af97c54469a90bf3b0e8ec1218d4ca95822ac0cbc7120114979fc467fe3114743c74f4d4e16f0c10b1cd82d40880ef482f6fd34e1effc7c621b981ad466204f9
@@ -12,10 +15,12 @@ DIST hdf5-1.12.2.tar.bz2 10494264 BLAKE2B 99ca5b57f6f54fa044c909f0773de62b218c1f
DIST hdf5-1.14.1.tar.bz2 16257319 BLAKE2B fbabbe2a61fca3f841d0206e3918390001ec1ec713696b69845eb6390595794a63740db9a7b48fd132814268e216d8fea6288cd23b04b2fa981058b557113e73 SHA512 b4dd3fca88547fdcbb2afcc22cb11bb45b7b15c3c01d9e11b7f06030ffff1a9d5c4995abb6cf27b0c4e748f1a7ca497a7f2d995ba00586f447fcd2fa537e0e16
DIST hdf5-1.14.2.tar.bz2 16070491 BLAKE2B 04acdc5352f7f0455bf6304ef07ddf51b99125bb585984bd3e27a521a784a6ad6723d64aa3b4179e4bd382334b7e68d06650404d7d4617a696d3f64917487dbc SHA512 1e1bfdff50c2e0e172d399c2d5b79b9ad0c7c72b9b30c4849aad7c5656393e8cf2af788cdf62b51fbe596023483fbc7fa23fdebf37bfe3109dae7f0783ea590f
DIST hdf5-1.14.3.tar.bz2 16320137 BLAKE2B 4c58edc04788db739c5c74d6edbfb9277011e2d6776862404fc29b30bb2c06a4314eb317393c230ebd2617a9a362ff78183d39ae80ce08f8963bdf6c02e8a865 SHA512 06d51638a56f387f6d0ef484b72e182509c15ab639315052be9821adeed6ad08551c50d7fe84d2b550b64211f68484cf3022a4660c8004cd0afd90eaa83c1bb1
+DIST hdf5-1.14.4-2.tar.gz 37033062 BLAKE2B cd75e0fec1ccea8622bb93839c4898e07093b298612cd3ba5aaa48178eba33f49e6a6492df779f0cc36ee263a107a3fa3e592caec35576d0e637b9e457da3965 SHA512 f1714b7999468d580b7cae2e575d3d7f31cea2fb81bfa4e37abd248d7223476b2351d1714197ace04eee970b451cf1f6971f5a291fd7426398737b8d7eb26924
EBUILD hdf5-1.10.5-r1.ebuild 2940 BLAKE2B 571b4d80c9e1c9df0badb909610bde3ee74bf06f0f33b17bad2e687c23e0005ff5d21c589249ca64c4c7df3a36515791f694ca3487a3481ab22cd86aada48584 SHA512 cc26ffda8228c838383666f923b087c7025a8cbd59890d99b73e17e05f5a6884b70277007a8e839c6837712f65cde39732b469063fdb52d6cba39ad25b23b8dd
EBUILD hdf5-1.12.2-r4.ebuild 3209 BLAKE2B eb7b30bee62cbad778b07f089026395d70046e3845b636bdb526e0960e4ae3789f2e5d1c9eac6fc213b755809c42946cf332446582d032d04900cfd80b57b06a SHA512 e6c2c24f9558c381b8ae5da8f0967635c64b02ad5f8288d5a08841c7637f8de7b72229f89d8be2cff5cd0c8c4482b404db3a7d41aeeaa927157c257f91fb62a3
EBUILD hdf5-1.12.2-r6.ebuild 3341 BLAKE2B c574efa933f240fae23049007c320138ea43354ddd78194d74e6b27f630a6ad0fa2a1bc083b563006eb7dd7e36ee00a77a6f684ad42bee383372a79750726d9a SHA512 0385774ab2be1abeec7467886f8900b514d8c1410c531dac7753570cb9e47d35750cd8ddfe92a0df524ecae8889602cc27caa15a52d8e94aa10455e50cf18df3
EBUILD hdf5-1.14.1.ebuild 3078 BLAKE2B 30428ba92c299c92463276e3853c8332efb0904856749f6a6f716b2f07a58a7fc12c62a7298d15067af9b436a5e5f237c322ff30a942337ab9e65a4f1765074f SHA512 076ceaa6f8eb5330e8bf1913ddfc659524a4770e2df0d459b88ce41eec4d99e4e0b9da42f7b690b24bc678f15dd96ba8d20c443bbd9f4afe9c111abe5efc9f10
EBUILD hdf5-1.14.2.ebuild 3195 BLAKE2B cfd44a688f452cc36594ea74477d70896630ed84e8a420c4e22640341fad1e438e13d55fb8be5d8d7451fea84854bfc2a834a85bc8bfd09efcee573bdeac3e34 SHA512 f7c3e7853e395a6d9a2c1d42112c402ae11670a4afffc4645d04ad4b0f33d233a1bec0fb56795543c58ac25344af9937bcc19a2245b7e38e0d1af4a2d1a7d5b4
EBUILD hdf5-1.14.3-r1.ebuild 3180 BLAKE2B 172e1d8242ba4547b49d24fc64d8a7ff39464441ef7599be5b3277c270c2de0d1183275419bdc38d6e36a7069e9de0aba30c96af656eb229666a475023c83e18 SHA512 99104a2b0f3be639f0e28bf24a0705fd28e20b5a2e5bb54600f36625f34ec956c356a26c46f7507b8efb1924f35ca63291241ef560119bd483a57b78686a35f3
+EBUILD hdf5-1.14.4_p2.ebuild 3158 BLAKE2B 9aba93d8c3d12aa16ad90af6db10e8fb38ab1e2dc028398972bef49db21497716d86c604b3b6acaaa3d7930dafdd235035990d8a4d589a456646bd23f5c5cf59 SHA512 f00ecd22e78b2e36421858219f60920ff8531d402e286e6497ec5ed9c08e9a938657e040a9e54b9e4f7675595b0640a05cfd042541d66d9fe81df6a02671a77d
MISC metadata.xml 826 BLAKE2B fd131bb207e4ab863ef7c05ab95e5c0254fa08230139a2508ab5f0c363809b0735532498ad26cc39621495a063de86ab5bd97447514ff561a63302e8b1d7d26d SHA512 290883ed9bf3de60bf04e2474c4db50e095b1b87974867e58601a5c5c2f98d6b839ed22d9ce2798bc44f484f1a38ee4b6df99aaea7d134629bd441d34b5a29b5
diff --git a/sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch b/sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
new file mode 100644
index 000000000000..5b3a5f85f2ce
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
@@ -0,0 +1,28 @@
+From dcfab0f9f0c41cb61a25b11cd61eac7204365693 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:25:43 +0000
+Subject: [PATCH 1/3] Make sure that during runtime we'll use the same
+ libgfortran as during linking
+
+Bug: https://bugs.gentoo.org/419991
+Bug: https://bugs.gentoo.org/419895
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ fortran/src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am
+index 8d8396f..de03df9 100644
+--- a/fortran/src/Makefile.am
++++ b/fortran/src/Makefile.am
+@@ -98,6 +98,7 @@ if BUILD_PARALLEL_CONDITIONAL
+ else
+ H5FC_NAME = h5fc
+ endif
++H5test_kind_LDFLAGS=-static-libgfortran
+
+ # Rules for automatically detecting which fortran types are present
+ # and matching them to C types. This is accomplished using helper
+--
+2.44.0
+
diff --git a/sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch b/sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch
new file mode 100644
index 000000000000..25a3088dc031
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch
@@ -0,0 +1,31 @@
+From 9bcb00e44ce2442db9dcd173e70f8635d7e22c1d Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:26:33 +0000
+Subject: [PATCH 2/3] Disable forced stripping
+
+Bug: https://bugs.gentoo.org/665378
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6a3beee..fc44a39 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2512,9 +2512,9 @@ case "X-$SYMBOLS" in
+ AC_MSG_RESULT([yes])
+ ;;
+ X-no)
+- H5_CFLAGS="$H5_CFLAGS $NO_SYMBOLS_CFLAGS"
+- H5_CXXFLAGS="$H5_CXXFLAGS $NO_SYMBOLS_CXXFLAGS"
+- H5_FCFLAGS="$H5_FCFLAGS $NO_SYMBOLS_FCFLAGS"
++ H5_CFLAGS="$H5_CFLAGS"
++ H5_CXXFLAGS="$H5_CXXFLAGS"
++ H5_FCFLAGS="$H5_FCFLAGS"
+ AC_MSG_RESULT([no])
+ ;;
+ *)
+--
+2.44.0
+
diff --git a/sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch b/sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch
new file mode 100644
index 000000000000..3b8a628b0384
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch
@@ -0,0 +1,65 @@
+From 014f4857dc0e5883cb07393d5875412806855d28 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:27:18 +0000
+Subject: [PATCH 3/3] Drop broken -Werror stripping
+
+The stripping is broken and mangles -Werror=x -> -x [0].
+
+[0] https://github.com/HDFGroup/hdf5/commit/41526f68f3482f2b3a7aa581288bc86e9c6dcb43#r100076265
+
+Bug: https://bugs.gentoo.org/917448
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 36 ------------------------------------
+ 1 file changed, 36 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fc44a39..2117303 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -193,42 +193,6 @@ saved_user_JAVAFLAGS="$JAVAFLAGS"
+ saved_user_LDFLAGS="$LDFLAGS"
+ saved_user_CPPFLAGS="$CPPFLAGS"
+
+-## Strip out -Werror from CFLAGS since that can cause checks to fail when
+-## compiling test programs fails due to warnings
+-##
+-## Regex:
+-##
+-## -Werror Literal -Werror
+-## \( Start optional capturing group
+-## = Literal equals sign
+-## [^[:space:]] Non-space characters
+-## \+ 1 or more of the above
+-## \) End optional capturing group
+-## \? 0 or 1 capturing group matches
+-##
+-## Note that the outer pair of '[]' ends up getting removed
+-WERROR_SED='s/-Werror\(=[[^[:space:]]]\+\)\?//g'
+-CFLAGS_SED="`echo $CFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- CFLAGS="$CFLAGS_SED"
+-fi
+-CXXFLAGS_SED="`echo $CXXFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- CXXFLAGS="$CXXFLAGS_SED"
+-fi
+-FCFLAGS_SED="`echo $FCFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- FCFLAGS="$FCFLAGS_SED"
+-fi
+-JAVACFLAGS_SED="`echo $JAVACFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- JAVACFLAGS="$JAVACFLAGS_SED"
+-fi
+-CPPFLAGS_SED="`echo $CPPFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- CPPFLAGS="$CPPFLAGS_SED"
+-fi
+-
+ ## Support F9X variable to define Fortran compiler if FC variable is
+ ## not used. This should be deprecated in the future.
+ if test "x" = "x$FC"; then
+--
+2.44.0
+
diff --git a/sci-libs/hdf5/hdf5-1.14.4_p2.ebuild b/sci-libs/hdf5/hdf5-1.14.4_p2.ebuild
new file mode 100644
index 000000000000..b71c204edfea
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.14.4_p2.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_PV=${PV/_p/-}
+MY_P=${PN}-${MY_PV}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/"
+SRC_URI="https://github.com/HDFGroup/hdf5/releases/download/${PN}_${MY_PV/-/.}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ !unsupported? (
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran !hl )
+ )
+"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( virtual/szip )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
+ "${FILESDIR}"/hdf5-1.14.4-0002-Disable-forced-stripping.patch
+ "${FILESDIR}"/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch
+)
+
+pkg_setup() {
+ # Workaround for bug 285148
+ tc-export CXX CC AR
+
+ use fortran && fortran-2_pkg_setup
+
+ if use mpi; then
+ if has_version 'sci-libs/hdf5[-mpi]'; then
+ ewarn "Installing hdf5 with mpi enabled with a previous hdf5 with mpi disabled may fail."
+ ewarn "Try to uninstall the current hdf5 prior to enabling mpi support."
+ fi
+
+ export CC=mpicc
+ use fortran && export FC=mpif90
+ elif has_version 'sci-libs/hdf5[mpi]'; then
+ ewarn "Installing hdf5 with mpi disabled while having hdf5 installed with mpi enabled may fail."
+ ewarn "Try to uninstall the current hdf5 prior to disabling mpi support."
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed \
+ -e '/docdir/d' \
+ -i config/commence.am || die
+
+ if ! use examples; then
+ # bug #409091
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die
+ fi
+
+ # Enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+ hprefixify m4/libtool.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #686620
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+
+ local myeconfargs=(
+ --disable-static
+ --disable-doxygen-errors
+ --enable-deprecated-symbols
+ --enable-build-mode=$(usex debug debug production)
+ --with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin"
+ --with-examplesdir="\${datarootdir}/doc/${PF}/examples" \
+ $(use_enable cxx)
+ $(use_enable debug codestack)
+ $(use_enable fortran)
+ $(use_enable hl)
+ $(use_enable mpi parallel)
+ $(use_enable test tests)
+ $(use_enable threads threadsafe)
+ $(use_enable unsupported)
+ $(use_with szip szlib)
+ $(use_with threads pthread)
+ $(use_with zlib)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}