summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2013-03-05 19:02:26 +0000
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2013-03-05 19:02:26 +0000
commit48b2b90a5432d433abd6f3dc77f5f08c43676e95 (patch)
treedb6f2a5f9f7ac018f5eeac7c18f21f4aa0f4dd96 /net-libs/opal
parentVersion bump. (diff)
downloadhistorical-48b2b90a5432d433abd6f3dc77f5f08c43676e95.tar.gz
historical-48b2b90a5432d433abd6f3dc77f5f08c43676e95.tar.bz2
historical-48b2b90a5432d433abd6f3dc77f5f08c43676e95.zip
Version bump.
Package-Manager: portage-2.1.11.50/cvs/Linux x86_64
Diffstat (limited to 'net-libs/opal')
-rw-r--r--net-libs/opal/ChangeLog8
-rw-r--r--net-libs/opal/Manifest15
-rw-r--r--net-libs/opal/opal-3.10.10.ebuild252
3 files changed, 263 insertions, 12 deletions
diff --git a/net-libs/opal/ChangeLog b/net-libs/opal/ChangeLog
index 08e057ebe0a5..618c3895f239 100644
--- a/net-libs/opal/ChangeLog
+++ b/net-libs/opal/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-libs/opal
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/opal/ChangeLog,v 1.86 2013/02/08 20:29:32 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/opal/ChangeLog,v 1.87 2013/03/05 19:02:23 chithanh Exp $
+
+*opal-3.10.10 (05 Mar 2013)
+
+ 05 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ +opal-3.10.10.ebuild:
+ Version bump.
08 Feb 2013; Alexis Ballier <aballier@gentoo.org> opal-3.10.9.ebuild,
+files/opal-3.10.9-ffmpeg.patch:
diff --git a/net-libs/opal/Manifest b/net-libs/opal/Manifest
index 589705357d08..6ba18d60966c 100644
--- a/net-libs/opal/Manifest
+++ b/net-libs/opal/Manifest
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
AUX opal-2.1.1-notrace.diff 263 SHA256 3abf99ab2a7bde2e1a2380e22a9c5e15240439bdf7766b4715c78cacd46961c0 SHA512 279ebd4821af25ba1ef795aad66d1ae20489337ab2d78c174b4caa4dbbf02b4f8c7f6fdc5e2822e1c6441e2850d0924f108dcaf06beaf238be58b44daee91b71 WHIRLPOOL b71b6bf51eda7d9a5c24a9bcff85c41c3017e92c6be4f1fed5022ccbfac0ea0f3b66a4cc9b501810b5e342b8f8cf8110c698deca9ed71661a3f5fe40184040da
AUX opal-3.10.9-avoid_cflags_mixup.patch 5378 SHA256 80a41d81a1caeaee31c43c7b71bac9943692eed3e6a5f7f5c4a1bf837cd391e7 SHA512 fdc6b52db3bd299d2235ebdb917921d3c9d01a03ffed65e8e4b833e66da21bde4c1497740a38a41f3d7393a6c65969a64587612a11c9590904b66c9fb86e1e7e WHIRLPOOL fc1d97a7180d50748b521cb345b58487e2183506b68d5d952f004d3f382cd77171b222187fa4bd92510026781012d601c23ec23f5df8023ad3e9ec73c5e98b0c
AUX opal-3.10.9-disable-h323-workaround.patch 498 SHA256 b1d943f7eb33c1828bf5a086abe1256dac55ce7f9a9cd16cbe9fa72b00d7ede2 SHA512 58e8ef12c39bce3a4d386b2b6033e1e242852bbf78371c58e91bd020cfcd95b40a9831db91fa76da431a9f8c4bb40c846b420e3a462dad77658a37c2281a9d39 WHIRLPOOL 6c590b837ebdcb11491aa3b9759d6c7e5930aa07d294bcfd473327f37866df97400bf1de588da853b6c807a233c23388359ac5a1e27c05ae1d4cc361585b98ae
@@ -13,19 +10,15 @@ AUX opal-3.6.8-build-fix.patch 992 SHA256 cbd011cf42b7d691f5b8d71e02f5b317d50ea8
AUX opal-3.6.8-ldflags.patch 7345 SHA256 c7ecb726688eadbb24d09238c86de8874edc488d82503dbc64802d3d8878e411 SHA512 8008b35069cc8da56f958f27ddbe3fef38e157c9e0bd7498e4e5de0a4039f9a3d287ff053eb172296c7b1637d942365ec58214c2e2c3aa59bb098d306dc9d14e WHIRLPOOL 9e013301de6feec67b51f9f8bddd94a2eb0464dcab97fb2a680c3208f955e1e997ed9f5c4a237bdc9dccd59e01f55fb52f040207ba71237c9dfcda9d6a5f2cfb
AUX opal-3.6.8-lid-plugins-ldflags.patch 1146 SHA256 d4c8662afa93b5651f132280edd56ab87253ce91b829cfeff6ac0f322dffbd9b SHA512 ac10efaaa1323ea6f0fdcf54f46fb1a7c6c0c5f3c3d2e7f96ce19a9fe37105d1799842b7dcee07d64b4dca96bc852b80acd6c4d6af380757ec128c1f9c288390 WHIRLPOOL 97fab41a4c5b1c5a36933f154d4aa1b2c6d16ed9d90a7e9bba23850df503164641540a118b2379718c0572ee187c4f4e331051f7fd75df3804c66dcc74824cb9
DIST opal-2.2.11.tar.gz 4165191 SHA256 0990ead39728f23a1ce39997f41a8484c59809ccec0e770b9bc4f795a85a29c4 SHA512 7115fd82109458cb6d01e3232bfc414cc2bbdb2dae2efbb8f6f941e1a2979d81fdb800fe04d13707a17a02490555d5bc43ad5021d8bb8890b3d3e5f97b90b015 WHIRLPOOL 2abf3693199ea8e023b5ede444654de0c2bc3e2ddf2fd638f7272c2a2a3b7cc0e9c39ce508d702e7508dc0ae605019135306f03a9bf327cb65ac9d355bca801d
+DIST opal-3.10.10-htmldoc.tar.bz2 3164570 SHA256 3f535ced87022e2ef53598d79611b3ab1a95f8336b36f8529d0aa9a960e37a62 SHA512 ac39b6ef3228b0b27ffce54a72c0af37612ff9e28c0a6e80ab78decadc7192360cb91793b9397dbbc5553343352856ffc85d8607990654369fbebd40ad8113b8 WHIRLPOOL efec7a3ad777d6e0ab49fbdc2cdf936d019298f144546bf7e17a694276c7b1466177c314f722112ab1573634377bdb3bc0cb4a966184f0a13c6992ae853dc41b
+DIST opal-3.10.10.tar.bz2 8592083 SHA256 95f1ad3a823d58b3fa945f40b2a50cc5f2ccd5c376bf2a1e624f4013f2473801 SHA512 b279c78dc8c88d113f0a146013c3a57c13d9d01c511ed3df7496f296b88157a59178cd72b8ed61d61198685ebd74dafa139f1c3952cf5aca47f4dec9a52ceddb WHIRLPOOL 12ee687263156eb3151a91bf36a3b0c0acb7ac7c4cc04eddf8fc9fb60c6121433727d007bb78beaa7bda3285c3384ee8f9de9e36c6c354c0decca1d6263342dd
DIST opal-3.10.9-htmldoc.tar.bz2 3163056 SHA256 c7d2b66415cdcc0544e92dfefdbe0cc03b37e498410e3ea524941f1b7080d6d8 SHA512 7c3f959dbf6b8622b4e36c050e6e66fbfd527d5ce852b441dc0325e74e0f622d025225dc0619d08d2bb3afafe434206a82b52dd52a1ae943dcc12efc8719292e WHIRLPOOL e5c7e7af60523935b255b578369231fe510a27137e58d894377728ff9e69230bbcde4d88cb0b60681480279087c1bf5fe4c69a5b947c387deb3a0b9f4f879da1
DIST opal-3.10.9.tar.bz2 8591506 SHA256 f6a1c380df5c82c24ff6cc82c5c6a94868b112d5914395ad8265e30b0005bf2e SHA512 11e67bbbb7903aa176c0563d48c444d6c3df399dc9f1c7cf1ff9124a96fd719e5608d0e091346de3aa2087e04d28116b14c2c60bb92f2fc83584695e2e61ebcc WHIRLPOOL 5790274802f909f428950d3c249abcdfae03f5046381b631c25c7ccc23a34efd07bfd26d77de755741b786ed69cac8c411d7ec9e70286c828595eac4e00d8c4c
DIST opal-3.6.7-htmldoc.tar.bz2 5842269 SHA256 d6c11b162b4b26cfc3df2c2c12b5d8a0e1b2dfa5c6869995b0fafa2f2a716e7b
DIST opal-3.6.8.tar.bz2 6837993 SHA256 8cbfabb33e5c5563fdafacf1adde536c78638d6d020fae496a52e19e2be6a90c SHA512 bc9ce66af9fc7a82fc33403139f138d732b4f3e013b91b711533572036f0d965b19961aa1dcec63efb0ed906e7525eebc972cd106e6011e40d80ae0a0b7e8a51 WHIRLPOOL 031a98a0e0e6c6b51271898cf836dc805a7341b04f018a6604560572054e00402f1cf092d2a8828ba476ba1bb0331cbd34e7bd2b078ecd3cd0a3b51b7adbd5d5
EBUILD opal-2.2.11.ebuild 2604 SHA256 8595bd00d707830cfc52f7de3b8993c0658f50306ddef296dea97c74d0285ba7 SHA512 11f89579a269aac28afadf7888d858718ff3852f00df949ee563ef2565ea92a34c2711c9a7cb598d4f23dddbb20a5ae64348a237664122be28931803065a3c54 WHIRLPOOL 28f015d31702f2193233cb9ad24627dc327f6e4798ae926fcc976231d468137e798a79e15fd42690578fd05c6c21f1f2100649ec49892b1c0ab0585f4515eb9e
+EBUILD opal-3.10.10.ebuild 7559 SHA256 89f17c12ae107ea4818a3cf19337fc83e5bc59d825db713b1ce9a013f51e5a91 SHA512 0b1614987884a5d84753dd03c06eb7fa0de301b280ce212deb1506f66f1ac78f761f39adbd08725629a93aead95d9d33daf9e27fb9d81c2db52699682392b6ba WHIRLPOOL 5ee786ca87dda31297101c5e95a71f8c0f4c24b9d0567c3bcd885e08fbf090cb8fff586836d7db81a2c0583f9fc73dfd910eebc671e9dcd44d46ae2f082ef49c
EBUILD opal-3.10.9.ebuild 7476 SHA256 00e4214bfaaaae1e92c485a22ed83b685f54f1b1a6070345282b17c24edca471 SHA512 56e895ad3811fed06626eb837c1c54e57d701c256a2db781a4ddead5f2b09f8e706d725597905cd56e455723d15d4ef4cd9fee857a13712aa86b2acf5e8b51f6 WHIRLPOOL 3f0374448e490d2bd95ebcb691549de53ec94ee813ab1a5bded97cd596b14019c462ec5b090cca077952c8e5950bfc8af9d9a565265cde015cc277af5a503fd9
EBUILD opal-3.6.8-r2.ebuild 8564 SHA256 163e8a0de3af0b0fc998b4f5f44175e961471c0e2def8d0fafcd450eaa30ee84 SHA512 41ec6c5205fd04d8408ccaac83588222eeb969d6db5af412f1f29a174fd58114dfc6b954e366b5afe443b682e707c9682517722cb79fb90a5e8951718d471622 WHIRLPOOL a7d9f3af5448d546919ee56bcc5da31d1b576e184f290fe71f37ee39265369668f5aebc5b8c01ab45ebad3e94a8f1c17df43f809ce7df722b72d7b119c4b796d
-MISC ChangeLog 12866 SHA256 4e11a34e64abb0410fdc55d8c06f331bd006c7b043a0cb93fd3730e9efbeacfb SHA512 5afb2ce0bdbe19dc57a2cd4156e94a2981000f6f61ee285f83ad4ad454fe2f0009f9a00937addee7f3dfdcdfab72cfcca1cddca39aa7bf25d7bd5d59ab955efb WHIRLPOOL 8b0bcbc37e7ddbabfcea26289d7b100de9932674678de691f277d73c4bc3bb26e731ea019e1c2ef94f14cbb0032424176ef922b357bb510b4ac9b97161834b83
+MISC ChangeLog 13005 SHA256 f8e51d495e5059e8caa070f8023c4e7ef5c9efebf676a57e11f7db884d0998b1 SHA512 034495c26cb781d7e3acc23da3586795c8c4e8ffbed18a3417365c931b439f48c30c939b4639d1f6f2a229b91c836e5d5d1ea93984637d4464ee0b2fe07954e2 WHIRLPOOL fef1516e968f258adf947fdf6ba212fff79595f30e899b4be1632fa4cca6a1a27deceea5fca5fcbedb10248ce807486f54da89540c88638e0ec70086b69dccbe
MISC metadata.xml 2175 SHA256 e3d7c35d326798477da494de953c9fcf81bc61663a32571c665d0b83905bd195 SHA512 e5288f68dbac4331d9d7ccfa37539c75daa44ccaea27d421d88c9093c7d3071a0d8941bfe98aaf879b57c01d5c0ea1c62deef77df8893c55b90dfde9ee393440 WHIRLPOOL f153469f1e7a9a0c08433e716628d31be74d5a1fea61a6d20215631e375fcccb6b48ca66067457abbaea19a21593bad4d11e02a2454c417a94391247d0831651
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-
-iEYEAREIAAYFAlEVYC0ACgkQvFcC4BYPU0qmpwCfalqs9RPitGDd4t1plofzoFza
-thkAoIRCGGi/diwr6k7xlPZs6bDwHNy+
-=O2LF
------END PGP SIGNATURE-----
diff --git a/net-libs/opal/opal-3.10.10.ebuild b/net-libs/opal/opal-3.10.10.ebuild
new file mode 100644
index 000000000000..5df565cea607
--- /dev/null
+++ b/net-libs/opal/opal-3.10.10.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/opal/opal-3.10.10.ebuild,v 1.1 2013/03/05 19:02:23 chithanh Exp $
+
+EAPI=5
+
+inherit eutils autotools toolchain-funcs java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="C++ class library normalising numerous telephony protocols"
+HOMEPAGE="http://www.opalvoip.org/"
+SRC_URI="mirror://sourceforge/opalvoip/${P}.tar.bz2
+ doc? ( mirror://sourceforge/opalvoip/${P}-htmldoc.tar.bz2 )"
+
+LICENSE="MPL-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+audio capi celt debug doc +dtmf examples fax ffmpeg h224 h281 h323 iax
+ilbc ipv6 ivr ixj java ldap lid +plugins sbc sip sipim srtp ssl static-libs
+stats swig theora +video vpb vxml wav x264 x264-static xml"
+
+REQUIRED_USE="x264-static? ( x264 )
+ h281? ( h224 )
+ sip? ( sipim )"
+
+RDEPEND=">=net-libs/ptlib-2.10.10:=[stun,debug=,audio?,dtmf,http,ipv6?,ldap?,ssl?,video?,vxml?,wav?,xml?]
+ >=media-libs/speex-1.2_beta
+ fax? ( net-libs/ptlib[asn] )
+ h323? ( net-libs/ptlib[asn] )
+ ivr? ( net-libs/ptlib[http,xml,vxml] )
+ java? ( >=virtual/jre-1.4 )
+ plugins? (
+ media-sound/gsm
+ capi? ( net-dialup/capi4k-utils )
+ celt? ( media-libs/celt )
+ ffmpeg? ( virtual/ffmpeg[encode] )
+ ixj? ( sys-kernel/linux-headers )
+ ilbc? ( dev-libs/ilbc-rfc3951 )
+ sbc? ( media-libs/libsamplerate )
+ theora? ( media-libs/libtheora )
+ x264? ( virtual/ffmpeg
+ media-libs/x264 ) )
+ srtp? ( net-libs/libsrtp )
+ vxml? ( net-libs/ptlib[http,vxml] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-devel/gcc-3
+ java? ( swig? ( dev-lang/swig )
+ >=virtual/jdk-1.4 )"
+
+# NOTES:
+# ffmpeg[encode] is for h263 and mpeg4
+# ssl, xml, vxml, ipv6, ldap, audio, wav, and video are use flags
+# herited from ptlib: feature is enabled if ptlib has enabled it
+# however, disabling it if ptlib has it looks hard (coz of buildopts.h)
+# forcing ptlib to disable it for opal is not a solution too
+# atm, accepting the "auto-feature" looks like a good solution
+# (asn is used for fax and config _only_ for examples)
+# OPALDIR should not be used anymore but if a package still need it, create it
+
+pkg_setup() {
+ # workaround for bug 282838
+ append-cxxflags "-fno-visibility-inlines-hidden"
+ append-cxxflags "-fno-strict-aliasing"
+
+ # need >=gcc-3
+ if [[ $(gcc-major-version) -lt 3 ]]; then
+ eerror "You need to use gcc-3 at least."
+ eerror "Please change gcc version with 'gcc-config'."
+ die "You need to use gcc-3 at least."
+ fi
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ # remove visual studio related files from samples/
+ if use examples; then
+ rm -f samples/*/*.vcproj
+ rm -f samples/*/*.sln
+ rm -f samples/*/*.dsp
+ rm -f samples/*/*.dsw
+ fi
+
+ epatch "${FILESDIR}/${PN}-3.10.9-svn_revision_override.patch"
+ epatch "${FILESDIR}/${PN}-3.10.9-labs_is_in_stdlib.patch"
+ epatch "${FILESDIR}/${PN}-3.10.9-avoid_cflags_mixup.patch"
+ epatch "${FILESDIR}/${PN}-3.10.9-ffmpeg.patch"
+
+ if ! use h323; then
+ # Without this patch, ekiga wont compile, even with
+ # USE=-h323.
+ epatch "${FILESDIR}/${PN}-3.10.9-disable-h323-workaround.patch"
+ fi
+
+ epatch "${FILESDIR}/${PN}-3.10.9-java-ruby-swig-fix.patch"
+
+ sed -i -e "s:\(.*HAS_H224.*\), \[OPAL_H323\]:\1:" configure.ac \
+ || die "sed failed"
+
+ eaclocal
+ eautoconf
+
+ # in plugins
+ cd plugins/
+ eaclocal
+ eautoconf
+ cd ..
+
+ # disable celt if celt is not enabled (prevent auto magic dep)
+ # already in repository
+ if ! use celt; then
+ sed -i -e "s/HAVE_CELT=yes/HAVE_CELT=no/" plugins/configure \
+ || die "sed failed"
+ fi
+
+ # fix automatic swig detection, upstream bug 2712521 (upstream reject it)
+ if ! use swig; then
+ sed -i -e "/^SWIG=/d" configure || die "patching configure failed"
+ fi
+
+ use ilbc || { rm -r plugins/audio/iLBC/ || die "removing iLBC failed"; }
+
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local forcedconf=""
+
+ # fix bug 277233, upstream bug 2820939
+ if use fax; then
+ forcedconf="${forcedconf} --enable-statistics"
+ fi
+
+ # --with-libavcodec-source-dir should _not_ be set, it's for trunk sources
+ # versioncheck: check for ptlib version
+ # shared: should always be enabled for a lib
+ # localspeex, localspeexdsp, localgsm, localilbc: never use bundled libs
+ # samples: only build some samples, useless
+ # libavcodec-stackalign-hack: prevent hack (default disable by upstream)
+ # default-to-full-capabilties: default enable by upstream
+ # aec: atm, only used when bundled speex, so it's painless for us
+ # zrtp doesn't depend on net-libs/libzrtpcpp but on libzrtp from
+ # http://zfoneproject.com/ wich is not in portage
+ # msrp: highly experimental
+ # spandsp: doesn't work with newest spandsp, upstream bug 2796047
+ # g711plc: force enable
+ # rfc4103: not really used, upstream bug 2795831
+ # t38, spandsp: merged in fax
+ # h450, h460, h501: merged in h323 (they are additional features of h323)
+ econf \
+ --enable-versioncheck \
+ --enable-shared \
+ --disable-zrtp \
+ --disable-localspeex \
+ --disable-localspeexdsp \
+ --disable-localgsm \
+ --disable-localilbc \
+ --disable-samples \
+ --disable-libavcodec-stackalign-hack \
+ --enable-default-to-full-capabilties \
+ --enable-aec \
+ --disable-msrp \
+ --disable-spandsp \
+ --enable-g711plc \
+ --enable-rfc4103 \
+ $(use_enable debug) \
+ $(use_enable capi) \
+ $(use_enable fax) \
+ $(use_enable fax t38) \
+ $(use_enable h224) \
+ $(use_enable h281) \
+ $(use_enable h323) \
+ $(use_enable h323 h450) \
+ $(use_enable h323 h460) \
+ $(use_enable h323 h501) \
+ $(use_enable iax) \
+ $(use_enable ivr) \
+ $(use_enable ixj) \
+ $(use_enable java) \
+ $(use_enable lid) \
+ $(use_enable plugins) \
+ $(use_enable sbc) \
+ $(use_enable sip) \
+ $(use_enable sipim) \
+ $(use_enable stats statistics) \
+ $(use_enable video) $(use_enable video rfc4175) \
+ $(use_enable vpb) \
+ $(use_enable x264 h264) \
+ $(use_enable x264-static x264-link-static) \
+ ${forcedconf}
+}
+
+src_compile() {
+ local makeopts=""
+
+ use debug && makeopts="debug"
+
+ emake ${makeopts} || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ # Get rid of static libraries if not requested
+ # There seems to be no easy way to disable this in the build system
+ if ! use static-libs; then
+ rm -v "${D}"/usr/lib*/*.a || die
+ fi
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/* docs/* || die "dohtml failed"
+ fi
+
+ # ChangeLog is not standard and does not exist on 3.10.10
+# dodoc ChangeLog-${PN}-v${PV//./_}.txt || die "dodoc failed"
+
+ if use examples; then
+ local exampledir="/usr/share/doc/${PF}/examples"
+ local basedir="samples"
+ local sampledirs="`ls ${basedir} --hide=configure* \
+ --hide=opal_samples.mak.in`"
+
+ # first, install files
+ insinto ${exampledir}/
+ doins ${basedir}/{configure*,opal_samples*} \
+ || die "doins failed"
+
+ # now, all examples
+ for x in ${sampledirs}; do
+ insinto ${exampledir}/${x}/
+ doins ${basedir}/${x}/* || die "doins failed"
+ done
+
+ # some examples need version.h
+ insinto "/usr/share/doc/${PF}/"
+ doins version.h || die "doins failed"
+ fi
+}
+
+pkg_postinst() {
+ if use examples; then
+ ewarn "All examples have been installed, some of them will not work on your system"
+ ewarn "it will depend of the enabled USE flags in ptlib and opal"
+ fi
+
+ if ! use plugins || ! use audio || ! use video; then
+ ewarn "You have disabled audio, video or plugins USE flags."
+ ewarn "Most audio/video features or plugins have been disabled silently"
+ ewarn "even if enabled via USE flags."
+ ewarn "Having a feature enabled via USE flag but disabled can lead to issues."
+ fi
+}