Version bump
authorAndrey Grozin <grozin@gentoo.org>
Thu, 4 Aug 2011 10:33:07 +0000 (10:33 +0000)
committerAndrey Grozin <grozin@gentoo.org>
Thu, 4 Aug 2011 10:33:07 +0000 (10:33 +0000)
Package-Manager: portage-2.2.0_alpha49/cvs/Linux i686

sci-mathematics/maxima/ChangeLog
sci-mathematics/maxima/Manifest
sci-mathematics/maxima/files/maxima-5.25.0-wish.patch [new file with mode: 0644]
sci-mathematics/maxima/files/maxima-5.25.0.patch [new file with mode: 0644]
sci-mathematics/maxima/maxima-5.25.0.ebuild [new file with mode: 0644]

index 5476ceba361bf75e9c7ee439e9af93c1f11a1e03..e4e6ccb35615f43767de8ae0fce7611294d6f142 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sci-mathematics/maxima
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/ChangeLog,v 1.89 2011/06/19 16:36:32 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/ChangeLog,v 1.90 2011/08/04 10:33:07 grozin Exp $
+
+*maxima-5.25.0 (04 Aug 2011)
+
+  04 Aug 2011; Andrey Grozin <grozin@gentoo.org> +maxima-5.25.0.ebuild,
+  +files/maxima-5.25.0-wish.patch, +files/maxima-5.25.0.patch:
+  Version bump
 
   19 Jun 2011; Raúl Porcel <armin76@gentoo.org> maxima-5.18.1.ebuild,
   maxima-5.23.2.ebuild, maxima-5.24.0-r1.ebuild:
index 8dd5b7c5629d27d1325bf71a5b187895766d7eed..bcf5b9fd666cbee4a110d8a0f88d9808ed8282b4 100644 (file)
@@ -1,12 +1,11 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX 50maxima-gentoo.el 439 RMD160 bdddca04f2232ad764dc6093ba4d0a1b71862879 SHA1 8e4394313e0f2a36b8d57b0eac1feb0d7853cee9 SHA256 134313e42f134e51283764e44c9a174a4010b319ac9c31822c2e7051d186de49
 AUX maxima-5.23.2-emacs-version.patch 402 RMD160 b4152ba4f8014106f11365440d14901bc0bba0f4 SHA1 34e8feee04d83619eed298760747966471b205fe SHA256 b6fcdae390a44aafbdf0c64539aacbe38e9b48463c1bc9063a705770ea66d981
 AUX maxima-5.23.2-wish.patch 946 RMD160 d19db10a629a9a9f1fa0799b0be403c8aee090fe SHA1 56f2ad96baed63b27d7c37cfccaf27806a06f20e SHA256 dd535626d5d2d16f249e2c41157f5bbfb030236651d9b0404cc1a69c5fec9e0c
 AUX maxima-5.23.2.patch 3263 RMD160 a3fb37685b9481ed1c17a53f027429656371c586 SHA1 774178e2e3cd265d3f0474b0c38fa1230c583619 SHA256 dd7d02c0eaac5a0763363ed46c207bfb40e55b8470dc3b7c2892753b466a2ea0
 AUX maxima-5.24.0-wish.patch 946 RMD160 d19db10a629a9a9f1fa0799b0be403c8aee090fe SHA1 56f2ad96baed63b27d7c37cfccaf27806a06f20e SHA256 dd535626d5d2d16f249e2c41157f5bbfb030236651d9b0404cc1a69c5fec9e0c
 AUX maxima-5.24.0.patch 3263 RMD160 a3fb37685b9481ed1c17a53f027429656371c586 SHA1 774178e2e3cd265d3f0474b0c38fa1230c583619 SHA256 dd7d02c0eaac5a0763363ed46c207bfb40e55b8470dc3b7c2892753b466a2ea0
+AUX maxima-5.25.0-wish.patch 946 RMD160 d19db10a629a9a9f1fa0799b0be403c8aee090fe SHA1 56f2ad96baed63b27d7c37cfccaf27806a06f20e SHA256 dd535626d5d2d16f249e2c41157f5bbfb030236651d9b0404cc1a69c5fec9e0c
+AUX maxima-5.25.0.patch 3263 RMD160 a3fb37685b9481ed1c17a53f027429656371c586 SHA1 774178e2e3cd265d3f0474b0c38fa1230c583619 SHA256 dd7d02c0eaac5a0763363ed46c207bfb40e55b8470dc3b7c2892753b466a2ea0
 AUX maxima-imaxima.patch 211 RMD160 24e2b10e59ee1fd5f9307dc8e336fa32beeb6de3 SHA1 f77dceec2dcb4503d1ec86cff7ef4d7d65a0c20f SHA256 b1d07af716f477dedfb011cb8c4fdf154d146db5172664865efc1ec025bfa2ce
 AUX maxima-no-init-files.patch 2626 RMD160 ffc34cc7e1d6ade44b100252233e83aa7e383744 SHA1 97497929054fcf6924ac56006c9c4ad28c7b443d SHA256 58b82fa1cdcc2eafc0f912541b350ae7aec8c492be5f6b0ce2174ae01f399d88
 AUX maxima-rmaxima.patch 481 RMD160 b81cf0f5878a1bcb9c12682db8949c2ac8105022 SHA1 a20356e335950d62ba77da4fd4053f43ffef2ecf SHA256 e918a1e2aa01f44518829013b0b6bafb276f7752503bfe43f21dcefadca1f3d6
@@ -14,15 +13,10 @@ AUX maxima-xdg-utils.patch 1090 RMD160 964f5d858b7521b5a3794705999a7fcbddd937e2
 DIST maxima-5.18.1.tar.gz 20440947 RMD160 a1c0f0978ed85ba79ed9ab4e8bf50cf268f46ebf SHA1 3ed2f97d509a9a407563c097943413cf4df09ed5 SHA256 eef1f70503755ec8fb311a13731044e6fff17e6fd9534eb6bea68a12964d94bf
 DIST maxima-5.23.2.tar.gz 21963705 RMD160 1b5cd22d1dc3dfb72663fe22704e9c006ba9ce9b SHA1 f7300058faf730ce6cf63c18e59ec068df01b4a6 SHA256 7bea62518135caf9ee9afccc1fb9fbc525c9b6bfb8d0614b5bbe4a51e9a1ce74
 DIST maxima-5.24.0.tar.gz 25422077 RMD160 46e9ce7dbf8293606ab76b50926fbef922f4cafb SHA1 13586c1221bb5f36067a4cce1e6d5fb31e44e41c SHA256 58eb35806741c3388966a51ccecb7bd82e9a773a06d57276c6bc43e3c4ceec8c
+DIST maxima-5.25.0.tar.gz 25804472 RMD160 9d9c72f6f8968bcef0059916c010d259922626c0 SHA1 3843943858c335d9a9b92d6a57c170d63771de59 SHA256 49c90fb809f5027787600050503476193db3620fd9517f620b82ad492ba30c0a
 EBUILD maxima-5.18.1.ebuild 4193 RMD160 b439ed7bb29d010d1ad47f36cc91ab4ec7bf1549 SHA1 b905950feecb341b48b2859265425144286615a3 SHA256 67c46bc80625f5453d27646cabece84ad1087c8c9507ba880ae1080bf729aca2
 EBUILD maxima-5.23.2.ebuild 4468 RMD160 17cec6829f97c8956181e4fc847c78a3a92cc9f3 SHA1 e389e233abbc407797a602414ccedfa4a2733725 SHA256 0092fd577c3bde28fa54b4a4a63e29db0a87a2cee7a2d324c75d14750a8f5837
 EBUILD maxima-5.24.0-r1.ebuild 4920 RMD160 39f5f3e8ba475dce6de226d45053c22daecff52c SHA1 b94e0189394389d6ce56e41a6d9a8ff7e240c875 SHA256 7c6f312e44ae7be350ff82a8854716e772a8c9b1340965396d1fd7567f9ee4ae
-MISC ChangeLog 20429 RMD160 e1dada04a697ce200c7908f9369f5b8f15f56090 SHA1 8a721ca7c5178117dd51d3a1e522b7c45cae0a74 SHA256 388f34036157f8587801b1ba465045d723e39585fa10fd2eb63f6da72cea60bd
+EBUILD maxima-5.25.0.ebuild 4955 RMD160 b3af0128f408f66733ce385d975b18d51ddf3002 SHA1 79ec7ff2d8b32a493aa1fdfa3371cd5269b16a2e SHA256 2c3daacbe35fea638ae79f6594aa754b789511a2b17fa6e5460ed69f1b3277a6
+MISC ChangeLog 20609 RMD160 5f9ba445a85b08b49b27e361bfb0ea7fb9f6b125 SHA1 2e0c4be0b7f770b71ded8fe7462e913c1cc228e7 SHA256 a35429a6bce8679e3ac30d8890088cc7018b4a73f4363ca85a8531f5e189902c
 MISC metadata.xml 1538 RMD160 d8fdc903bc508232d729789ccfb5068b82bebc12 SHA1 1e54225d047c1e0b45df832e37fe5342a8eee70a SHA256 282f77d990621305ef1c88510b0c2a26dfd39806207179e59bab2bdae06eed5c
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
-
-iEYEARECAAYFAk3+JZcACgkQuQc30/atMkBkJACdEgWaasNhCPa/p3C3Nif2E6BH
-NrcAoJK9H/Etv0dn0JkBCEOdoMDc54IF
-=Asl0
------END PGP SIGNATURE-----
diff --git a/sci-mathematics/maxima/files/maxima-5.25.0-wish.patch b/sci-mathematics/maxima/files/maxima-5.25.0-wish.patch
new file mode 100644 (file)
index 0000000..6fcb0d9
--- /dev/null
@@ -0,0 +1,28 @@
+diff -r -U1 maxima-5.23.1.orig//configure.in maxima-5.23.1//configure.in
+--- maxima-5.23.1.orig//configure.in   2011-01-15 21:54:46.000000000 +0600
++++ maxima-5.23.1//configure.in        2011-01-16 21:00:16.000000000 +0600
+@@ -777,6 +777,11 @@
+       [  --with-wish=<prog>           Use <prog> for Tk wish shell (default wish)],
+-      [WISH="${withval}"],
+-      [WISH="wish"])
++      [],
++      [with_wish="wish"])
++case "${with_wish}" in
++        no) WISH="none" ;;
++        yes) WISH="wish" ;;
++        *) WISH="${with_wish}" ;;
++esac
+ AC_SUBST(WISH)
+-
++AM_CONDITIONAL(WANT_TK, test x"${with_wish}" != xno)
+ 
+diff -r -U1 maxima-5.23.1.orig//interfaces/Makefile.am maxima-5.23.1//interfaces/Makefile.am
+--- maxima-5.23.1.orig//interfaces/Makefile.am 2004-04-28 23:34:59.000000000 +0700
++++ maxima-5.23.1//interfaces/Makefile.am      2011-01-16 20:41:38.000000000 +0600
+@@ -1,2 +1,6 @@
++if WANT_TK
+ SUBDIRS = emacs xmaxima
++else
++SUBDIRS = emacs
++endif
+ EXTRA_DIST = bin/xmaxima.iss
diff --git a/sci-mathematics/maxima/files/maxima-5.25.0.patch b/sci-mathematics/maxima/files/maxima-5.25.0.patch
new file mode 100644 (file)
index 0000000..6309653
--- /dev/null
@@ -0,0 +1,37 @@
+diff -r -U1 maxima-5.23.1.orig//configure.in maxima-5.23.1//configure.in
+--- maxima-5.23.1.orig//configure.in   2011-01-15 21:54:46.000000000 +0600
++++ maxima-5.23.1//configure.in        2011-01-16 19:50:55.000000000 +0600
+@@ -294,3 +294,3 @@
+ dnl n.b. openmcl_default_name is hardcoded in "with" message
+-openmcl_default_name=openmcl
++openmcl_default_name=ccl
+ AC_ARG_ENABLE(openmcl,
+diff -r -U1 maxima-5.23.1.orig//src/maxima.in maxima-5.23.1//src/maxima.in
+--- maxima-5.23.1.orig//src/maxima.in  2010-12-05 08:06:03.000000000 +0600
++++ maxima-5.23.1//src/maxima.in       2011-01-16 20:07:27.000000000 +0600
+@@ -137,5 +137,5 @@
+     if [ "$layout_autotools" = "true" ]; then
+-      exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CLISP_RUNTIME@" $MAXIMA_LISP_OPTIONS -q -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
++      exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CLISP_RUNTIME@" $MAXIMA_LISP_OPTIONS -q -norc -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
+     else
+-      exec "@CLISP_NAME@" $MAXIMA_LISP_OPTIONS -q -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
++      exec "@CLISP_NAME@" $MAXIMA_LISP_OPTIONS -q -norc -M "$maxima_image_base.mem" "" -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
+     fi
+@@ -147,5 +147,5 @@
+       if [ -x "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" ]; then
+-          exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" $MAXIMA_LISP_OPTIONS -quiet -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
++          exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/maxima" $MAXIMA_LISP_OPTIONS -quiet -nositeinit -noinit -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
+       else
+-          exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CMUCL_RUNTIME@" $MAXIMA_LISP_OPTIONS -quiet -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
++          exec "$MAXIMA_IMAGESDIR/binary-$MAXIMA_LISP/@CMUCL_RUNTIME@" $MAXIMA_LISP_OPTIONS -quiet -nositeinit -noinit -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
+       fi
+@@ -155,3 +155,3 @@
+       else
+-          exec "@CMUCL_NAME@" $MAXIMA_LISP_OPTIONS -quiet -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
++          exec "@CMUCL_NAME@" $MAXIMA_LISP_OPTIONS -quiet -nositeinit -noinit -core "$maxima_image_base.core" -eval '(cl-user::run)' -- "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
+       fi
+@@ -177,3 +177,3 @@
+ elif [ "$MAXIMA_LISP" = "sbcl" ]; then
+-    exec "@SBCL_NAME@" --core "$maxima_image_base.core" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --eval '(cl-user::run)' --end-toplevel-options "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
++    exec "@SBCL_NAME@" --core "$maxima_image_base.core" --noinform $MAXIMA_LISP_OPTIONS --end-runtime-options --no-sysinit --no-userinit --eval '(cl-user::run)' --end-toplevel-options "$arg1" "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8" "$arg9"
+ else
diff --git a/sci-mathematics/maxima/maxima-5.25.0.ebuild b/sci-mathematics/maxima/maxima-5.25.0.ebuild
new file mode 100644 (file)
index 0000000..dfb5818
--- /dev/null
@@ -0,0 +1,203 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/maxima/maxima-5.25.0.ebuild,v 1.1 2011/08/04 10:33:07 grozin Exp $
+
+EAPI=3
+
+inherit autotools elisp-common
+
+DESCRIPTION="Free computer algebra environment based on Macsyma"
+HOMEPAGE="http://maxima.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+# Supported lisps (the first one is the default)
+LISPS=(     sbcl cmucl gcl             ecls clozurecl clisp )
+# . - just dev-lisp/<lisp>, <version> - >= dev-lisp/<lisp>-<version>
+MIN_VER=(   .    .     2.6.8_pre[ansi] 10   .         .     )
+# <lisp> supports readline: . - no, y - yes
+SUPP_RL=(   .    .     y               .    .         y     )
+# . - just --enable-<lisp>, <flag> - --enable-<flag>
+CONF_FLAG=( .    .     .               ecl  ccl       .     )
+
+IUSE="latex emacs tk nls unicode xemacs X ${LISPS[*]}"
+
+# Languages
+LANGS="es pt pt_BR"
+for lang in ${LANGS}; do
+       IUSE="${IUSE} linguas_${lang}"
+done
+
+RDEPEND="X? ( x11-misc/xdg-utils
+                sci-visualization/gnuplot[gd]
+                tk? ( dev-lang/tk ) )
+       latex? ( virtual/latex-base )
+       emacs? ( virtual/emacs
+               latex? ( app-emacs/auctex ) )
+       xemacs? ( app-editors/xemacs
+               latex? ( app-emacs/auctex ) )"
+
+PDEPEND="emacs? ( app-emacs/imaxima )"
+
+# generating lisp dependencies
+depends() {
+       local LISP DEP
+       LISP=${LISPS[$1]}
+       DEP=${MIN_VER[$1]}
+       if [ "${DEP}" = "." ]; then
+               DEP="dev-lisp/${LISP}"
+       else
+               DEP=">=dev-lisp/${LISP}-${DEP}"
+       fi
+       if [ "${SUPP_RL[$1]}" = "." ]; then
+               DEP="${DEP} app-misc/rlwrap"
+       fi
+       echo ${DEP}
+}
+
+n=${#LISPS[*]}
+for ((n--; n >= 0; n--)); do
+       LISP=${LISPS[${n}]}
+       RDEPEND="${RDEPEND} ${LISP}? ( $(depends ${n}) )"
+       if (( ${n} > 0 )); then
+               DEF_DEP="${DEF_DEP} !${LISP}? ( "
+       fi
+done
+
+DEF_DEP="${DEF_DEP} `depends 0`"
+
+n=${#LISPS[*]}
+for ((n--; n > 0; n--)); do
+       DEF_DEP="${DEF_DEP} )"
+done
+
+unset LISP
+
+RDEPEND="${RDEPEND}
+       ${DEF_DEP}"
+
+DEPEND="${RDEPEND}
+       sys-apps/texinfo"
+
+TEXMF="${EPREFIX}"/usr/share/texmf-site
+
+pkg_setup() {
+       local n=${#LISPS[*]}
+
+       for ((n--; n >= 0; n--)); do
+               use ${LISPS[${n}]} && NLISPS="${NLISPS} ${n}"
+       done
+
+       if [ -z "${NLISPS}" ]; then
+               ewarn "No lisp specified in USE flags, choosing ${LISPS[0]} as default"
+               NLISPS=0
+       fi
+}
+
+src_prepare() {
+       # use xdg-open to view ps, pdf
+       epatch "${FILESDIR}"/${PN}-xdg-utils.patch
+
+       # Don't use lisp init files
+       # ClozureCL (former OpenMCL) executable name is ccl
+       epatch "${FILESDIR}"/${P}.patch
+
+       # make xmaxima conditional on tk (wish)
+       epatch "${FILESDIR}"/${P}-wish.patch
+
+       # don't install imaxima, since we have a separate package for it
+       epatch "${FILESDIR}"/${PN}-imaxima.patch
+
+       # remove rmaxima if not needed
+       epatch "${FILESDIR}"/${PN}-rmaxima.patch
+
+       # bug #343331
+       rm share/Makefile.in || die
+       rm src/Makefile.in || die
+       touch src/*.mk
+       touch src/Makefile.am
+       eautoreconf
+}
+
+src_configure() {
+       local CONFS CONF n lang
+       for n in ${NLISPS}; do
+               CONF=${CONF_FLAG[${n}]}
+               if [ ${CONF} = . ]; then
+                       CONF=${LISPS[${n}]}
+               fi
+               CONFS="${CONFS} --enable-${CONF}"
+       done
+
+       # enable existing translated doc
+       if use nls; then
+               for lang in ${LANGS}; do
+                       if use "linguas_${lang}"; then
+                               CONFS="${CONFS} --enable-lang-${lang}"
+                               use unicode && CONFS="${CONFS} --enable-lang-${lang}-utf8"
+                       fi
+               done
+       fi
+
+       econf ${CONFS} $(use_with tk wish) --with-lispdir="${SITELISP}"/${PN}
+}
+
+src_install() {
+       einstall emacsdir="${ED}${SITELISP}/${PN}" || die "einstall failed"
+
+       use tk && make_desktop_entry xmaxima xmaxima \
+               /usr/share/${PN}/${PV}/xmaxima/maxima-new.png \
+               "Science;Math;Education"
+
+       if use latex; then
+               insinto ${TEXMF}/tex/latex/emaxima
+               doins interfaces/emacs/emaxima/emaxima.sty
+       fi
+
+       # do not use dodoc because interfaces can't read compressed files
+       # read COPYING before attempt to remove it from dodoc
+       insinto /usr/share/${PN}/${PV}/doc
+       doins AUTHORS COPYING README README.lisps || die
+       dodir /usr/share/doc
+       dosym ../${PN}/${PV}/doc /usr/share/doc/${PF} || die
+
+       if use emacs; then
+               elisp-site-file-install "${FILESDIR}"/50maxima-gentoo.el || die
+       fi
+
+       # if we use ecls, build an ecls library for maxima
+       if use ecls; then
+               cd src
+               mkdir ./lisp-cache
+               ecl \
+                       -eval '(require `asdf)' \
+                       -eval '(setf asdf::*user-cache* (truename "./lisp-cache"))' \
+                       -eval '(load "maxima-build.lisp")' \
+                       -eval '(asdf:make-build :maxima :type :fasl :move-here ".")' \
+                       -eval '(quit)'
+               ECLLIB=`ecl -eval "(princ (SI:GET-LIBRARY-PATHNAME))" -eval "(quit)"`
+               insinto "${ECLLIB#${EPREFIX}}"
+               newins maxima.fasb maxima.fas
+       fi
+}
+
+pkg_preinst() {
+       # some lisps do not read compress info files (bug #176411)
+       local infofile
+       for infofile in "${ED}"/usr/share/info/*.bz2 ; do
+               bunzip2 "${infofile}"
+       done
+}
+
+pkg_postinst() {
+       use emacs && elisp-site-regen
+       use latex && mktexlsr
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+       use latex && mktexlsr
+}