summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Mendoza <ricmm@gentoo.org>2010-08-14 01:46:25 +0000
committerRicardo Mendoza <ricmm@gentoo.org>2010-08-14 01:46:25 +0000
commit4ce8c3d73fdd5a85c7823977119e0e5026cc5e68 (patch)
tree2feec33ddeb14d2a55c506f413c5557bd8fa4865 /app-emulation/spim
parentVersion bump (diff)
downloadgentoo-2-4ce8c3d73fdd5a85c7823977119e0e5026cc5e68.tar.gz
gentoo-2-4ce8c3d73fdd5a85c7823977119e0e5026cc5e68.tar.bz2
gentoo-2-4ce8c3d73fdd5a85c7823977119e0e5026cc5e68.zip
Version bump and ebuild improvements. Fix bug 330389.
(Portage version: 2.2_rc62/cvs/Linux x86_64)
Diffstat (limited to 'app-emulation/spim')
-rw-r--r--app-emulation/spim/ChangeLog8
-rw-r--r--app-emulation/spim/files/spim-8.0-r1-respect_env.patch183
-rw-r--r--app-emulation/spim/files/xspim.svg216
-rw-r--r--app-emulation/spim/spim-8.0-r1.ebuild75
4 files changed, 481 insertions, 1 deletions
diff --git a/app-emulation/spim/ChangeLog b/app-emulation/spim/ChangeLog
index 0bddba7972ab..abeab414ae60 100644
--- a/app-emulation/spim/ChangeLog
+++ b/app-emulation/spim/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-emulation/spim
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/spim/ChangeLog,v 1.54 2010/07/31 22:17:57 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/spim/ChangeLog,v 1.55 2010/08/14 01:46:25 ricmm Exp $
+
+*spim-8.0-r1 (14 Aug 2010)
+
+ 14 Aug 2010; <ricmm@gentoo.org> +spim-8.0-r1.ebuild,
+ +files/spim-8.0-r1-respect_env.patch, +files/xspim.svg:
+ Version bump and ebuild improvements. Fix bug 330389.
31 Jul 2010; Markos Chandras <hwoarang@gentoo.org> spim-8.0.ebuild:
Stable on amd64 wrt bug #328973
diff --git a/app-emulation/spim/files/spim-8.0-r1-respect_env.patch b/app-emulation/spim/files/spim-8.0-r1-respect_env.patch
new file mode 100644
index 000000000000..c7c8925c4e5f
--- /dev/null
+++ b/app-emulation/spim/files/spim-8.0-r1-respect_env.patch
@@ -0,0 +1,183 @@
+--- spim/Makefile 2010-08-01 22:14:53.352906061 +0200
++++ spim/Makefile 2010-08-01 22:15:00.994905920 +0200
+@@ -66,13 +66,13 @@
+
+
+ # Full path for the directory that will hold the executable files:
+-BIN_DIR = /usr/local/bin
++BIN_DIR = $(DESTDIR)/usr/bin
+
+ # Full path for the directory that will hold the exception handler:
+-EXCEPTION_DIR = /usr/local/lib/spim
++EXCEPTION_DIR = $(DESTDIR)/var/lib/spim
+
+ # Full path for the directory that will hold the man files:
+-MAN_DIR = /usr/local/man/en
++MAN_DIR = $(DESTDIR)/usr/share/man
+
+
+ # If you have flex, use it instead of lex. If you use flex, define this
+@@ -104,11 +104,10 @@
+
+ DEFINES = $(ENDIAN) $(MEM_SIZES) -DDEFAULT_EXCEPTION_HANDLER="\"$(EXCEPTION_DIR)/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\""
+
+-CC = gcc
+-CFLAGS = -I. -I$(CPU_DIR) $(DEFINES) -g -Wall
++CC ?= gcc
++CFLAGS += -I. -I$(CPU_DIR) $(DEFINES) -Wall
+ YFLAGS = -d --file-prefix=y
+ YCFLAGS =
+-LDFLAGS = -lm
+ CSH = bash
+
+ # lex.yy.c is usually compiled with -O to speed it up.
+@@ -122,10 +121,10 @@
+
+
+ spim: force
+- make -f Makefile spim2
++ $(MAKE) -f Makefile spim2
+
+ spim2: $(OBJS) spim.o
+- $(CC) -g $(OBJS) spim.o $(LDFLAGS) -o spim -lm
++ $(CC) $(OBJS) spim.o $(LDFLAGS) -o spim -lm
+
+
+ force: configuration
+@@ -143,19 +142,19 @@
+ @echo
+ @echo "Testing tt.bare.s:"
+ $(CSH) -c "./spim -delayed_branches -delayed_loads -noexception -file $(TEST_DIR)/tt.bare.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+
+ @echo
+ @echo "Testing tt.core.s:"
+ $(CSH) -c "./spim -ef $(CPU_DIR)/exceptions.s -file $(TEST_DIR)/tt.core.s < $(TEST_DIR)/tt.in >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+
+ @echo
+ @echo "Testing tt.endian.s:"
+ $(CSH) -c "./spim -ef $(CPU_DIR)/exceptions.s -file $(TEST_DIR)/tt.endian.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+ @echo
+
+@@ -166,13 +165,13 @@
+ @echo
+ @echo "Testing tt.alu.bare.s:"
+ $(CSH) -c "./spim -bare -noexception -file $(TEST_DIR)/tt.alu.bare.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+
+ @echo
+ @echo "Testing tt.fpt.bare.s:"
+ $(CSH) -c "./spim -bare -noexception -file $(TEST_DIR)/tt.fpu.bare.s >& test.out"
+- @tail -2 test.out
++ @tail -n2 test.out
+ @echo
+ @echo
+
+@@ -192,8 +191,6 @@
+ install -m 0444 $(CPU_DIR)/exceptions.s $(EXCEPTION_DIR)/exceptions.s
+
+ install-man:
+- install -d $(MAN_DIR)
+- install -m 0444 $(DOC_DIR)/spim.man $(MAN_DIR)
+
+ very-clean: clean
+ rm -f configuration
+--- xspim/Makefile 2010-08-01 22:14:53.351905921 +0200
++++ xspim/Makefile 2010-08-01 22:26:08.361917058 +0200
+@@ -169,18 +169,18 @@
+
+ VARDBDIR = $(VARDIR)/lib
+
+- AR = ar clq
++ AR = $(AR) clq
+
+ # Nice try but useless: make will inherit BOOTSTRAPCFLAGS
+ # from top Makefile
+ BOOTSTRAPCFLAGS =
+
+- CC = gcc -m32
+- AS = gcc -m32 -c -x assembler
++ CC ?= gcc -m32
++ AS ?= gcc -m32 -c -x assembler
+
+ .SUFFIXES: .cc
+
+- CXX = c++ -m32
++ CXX ?= c++ -m32
+
+ CXXFILT = c++filt
+
+@@ -199,14 +199,14 @@
+ COMPRESS = compress
+ GZIPCMD = gzip
+
+- CPP = cpp $(STD_CPP_DEFINES)
+- RAWCPP = cpp -undef $(STD_CPP_OPTIONS)
+- PREPROCESSCMD = gcc -m32 -E $(STD_CPP_DEFINES)
++ CPP = $(CPP) $(STD_CPP_DEFINES)
++ RAWCPP = $(CPP) -undef $(STD_CPP_OPTIONS)
++ PREPROCESSCMD = $(CC) -E $(STD_CPP_DEFINES)
+
+ INSTALL = install
+ INSTALLFLAGS = -c
+
+- LD = gcc -m32 -nostdlib
++ LD ?= $(CC) -nostdlib
+
+ LEX = flex -l
+ M4 = m4
+@@ -270,18 +270,18 @@
+ COL = col
+ COLFLAGS = -b
+
+- MODCC = gcc -m32
++ MODCC ?= $(CC)
+
+- MODCPP = cpp
++ MODCPP = $(CPP)
+ MODCFLAGS = $(CFLAGS)
+- MODAS = gcc -m32 -c -x assembler
++ MODAS ?= $(CC) -c -x assembler
+ MODASFLAGS =
+
+- MODLD = gcc -m32 -nostdlib
++ MODLD ?= $(CC) -nostdlib
+
+ MODLDFLAGS =
+ MODLDCOMBINEFLAGS = -r
+- MODAR = ar clq
++ MODAR ?= $(AR) clq
+
+ MODRANLIB = ranlib
+
+@@ -330,7 +330,7 @@
+
+ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
+ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
+- CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
++ CFLAGS += $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
+ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
+ LDPRELIB = $(INSTALLED_LIBS)
+ LDPOSTLIB =
+@@ -339,9 +339,9 @@
+
+ LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+
+- CCLINK = $(CC)
++ CCLINK = $(CC) $(LDFLAGS)
+
+- CXXLINK = $(CXX)
++ CXXLINK = $(CXX) $(LDFLAGS)
+
+ LDSTRIPFLAGS = -x
+ LDCOMBINEFLAGS = -r
diff --git a/app-emulation/spim/files/xspim.svg b/app-emulation/spim/files/xspim.svg
new file mode 100644
index 000000000000..4840b752e16a
--- /dev/null
+++ b/app-emulation/spim/files/xspim.svg
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48"
+ height="48"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47pre1 r21720"
+ inkscape:export-filename="/home/maco/src/spim/spim-7.5/debian/16x16.png"
+ inkscape:export-xdpi="30"
+ inkscape:export-ydpi="30"
+ sodipodi:docname="icon.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient5060">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3598">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3600" />
+ <stop
+ id="stop5056"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0.49803922;" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3602" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="linearGradient5070"
+ x1="52.067394"
+ y1="1029.1332"
+ x2="53.406746"
+ y2="1029.1332"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.4933245,-1.255617)" />
+ <filter
+ inkscape:collect="always"
+ id="filter5100"
+ x="-3.8212016"
+ width="8.6424033"
+ y="-0.029297812"
+ height="1.0585956">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.54030659"
+ id="feGaussianBlur5102" />
+ </filter>
+ <inkscape:perspective
+ id="perspective5112"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-1"
+ id="linearGradient5070-5"
+ x1="52.067394"
+ y1="1029.1332"
+ x2="53.406746"
+ y2="1029.1332"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.4933245,-1.255617)" />
+ <linearGradient
+ id="linearGradient5060-1">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5062-6" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5064-0" />
+ </linearGradient>
+ <filter
+ color-interpolation-filters="sRGB"
+ inkscape:collect="always"
+ id="filter5100-9"
+ x="-3.8212016"
+ width="8.6424036"
+ y="-0.029297812"
+ height="1.0585957">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.54030659"
+ id="feGaussianBlur5102-1" />
+ </filter>
+ <linearGradient
+ y2="1029.1332"
+ x2="53.406746"
+ y1="1029.1332"
+ x1="52.067394"
+ gradientTransform="translate(17.106625,4.0807905)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5123"
+ xlink:href="#linearGradient5060-1"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="6.3713695"
+ inkscape:cx="51.128112"
+ inkscape:cy="24.031581"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1278"
+ inkscape:window-height="770"
+ inkscape:window-x="0"
+ inkscape:window-y="28"
+ inkscape:window-maximized="0"
+ inkscape:snap-global="false"
+ inkscape:snap-grids="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5169"
+ emppacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1004.3622)">
+ <path
+ style="fill:none;stroke:url(#linearGradient5070);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter5100)"
+ d="m 47.242591,1005.7474 c 0.02394,0.2045 -0.04024,0.4266 0,0.6278 0.0423,0.2116 0.135488,0.4132 0.156952,0.6279 0.03123,0.3123 0,0.6278 0,0.9417 0,0.7847 0,1.5695 0,2.3542 0,5.4411 0,10.8821 0,16.3231 0,1.8834 0,3.7668 0,5.6502 0,0.6279 0,1.2557 0,1.8835 0,0.2092 0.02311,0.4198 0,0.6278 -0.02946,0.2651 -0.123863,0.52 -0.156952,0.7847 -0.03894,0.3115 0,0.6278 0,0.9418 0,0.4185 0,0.837 0,1.2556 0,0.8894 0,1.7788 0,2.6682 0,0.3139 0.02842,0.6291 0,0.9417 -0.02415,0.2656 -0.130408,0.5193 -0.156952,0.7847 -0.02603,0.2603 0,0.5232 0,0.7848 0,0.2616 0,0.5232 0,0.7848 0,1.3602 0,2.7205 0,4.0807 0,0.074 -0.0071,0.7777 0,0.7848 0.03699,0.037 0.119958,-0.037 0.156952,0 0.005,0 0,0.4328 0,0.4708 0,0.2093 0,0.4186 0,0.6278 0,0.052 0,0.1047 0,0.157 0,0.052 0.05232,0.1569 0,0.1569 -0.05232,0 -0.03699,-0.1199 0,-0.1569 0.03699,-0.037 0.104635,0 0.156952,0"
+ id="path5058" />
+ <path
+ style="fill:none;stroke:url(#linearGradient5123);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter5100-9)"
+ d="m 69.842541,1011.0837 c 0.02394,0.2045 -0.04024,0.4266 0,0.6278 0.0423,0.2116 0.135488,0.4132 0.156952,0.6279 0.03123,0.3123 0,0.6278 0,0.9417 0,0.7847 0,1.5695 0,2.3542 0,5.4411 0,10.8821 0,16.3231 0,1.8834 0,3.7668 0,5.6502 0,0.6279 0,1.2557 0,1.8835 0,0.2092 0.02311,0.4198 0,0.6278 -0.02946,0.2651 -0.123863,0.52 -0.156952,0.7847 -0.03894,0.3115 0,0.6278 0,0.9418 0,0.4185 0,0.837 0,1.2556 0,0.8894 0,1.7788 0,2.6682 0,0.3139 0.02842,0.6291 0,0.9417 -0.02415,0.2656 -0.130408,0.5193 -0.156952,0.7847 -0.02603,0.2603 0,0.5232 0,0.7848 0,0.2616 0,0.5232 0,0.7848 0,1.3602 0,2.7205 0,4.0807 0,0.074 -0.0071,0.7777 0,0.7848 0.03699,0.037 0.119958,-0.037 0.156952,0 0.005,0 0,0.4328 0,0.4708 0,0.2093 0,0.4186 0,0.6278 0,0.052 0,0.1047 0,0.157 0,0.052 0.05232,0.1569 0,0.1569 -0.05232,0 -0.03699,-0.1199 0,-0.1569 0.03699,-0.037 0.104635,0 0.156952,0"
+ id="path5058-2"
+ transform="matrix(0.00689565,0.99997622,-0.99997622,0.00689565,1057.4614,973.82277)" />
+ <rect
+ style="fill:#4e9a06;stroke:#142701;stroke-opacity:1"
+ id="rect2816"
+ width="45"
+ height="45"
+ x="1.5777434"
+ y="1005.2093"
+ rx="1.365"
+ ry="1.3395145" />
+ <rect
+ style="fill:#555753;stroke:#2e3436;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3590"
+ width="26.054052"
+ height="25.426245"
+ x="10.829698"
+ y="1015.1646"
+ rx="1.365"
+ ry="1.3395145" />
+ <text
+ xml:space="preserve"
+ style="font-size:17.58400536px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="3.1478038"
+ y="1042.1913"
+ id="text3592"
+ transform="scale(1.0064984,0.99354354)"><tspan
+ sodipodi:role="line"
+ id="tspan3594"
+ x="3.1478038"
+ y="1042.1913">MIPS</tspan></text>
+ </g>
+</svg>
diff --git a/app-emulation/spim/spim-8.0-r1.ebuild b/app-emulation/spim/spim-8.0-r1.ebuild
new file mode 100644
index 000000000000..2899728ed770
--- /dev/null
+++ b/app-emulation/spim/spim-8.0-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/spim/spim-8.0-r1.ebuild,v 1.1 2010/08/14 01:46:25 ricmm Exp $
+
+EAPI=3
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="MIPS Simulator"
+HOMEPAGE="http://www.cs.wisc.edu/~larus/spim.html"
+SRC_URI="http://www.cs.wisc.edu/~larus/SPIM/${P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc X"
+
+RDEPEND="X? ( media-fonts/font-adobe-100dpi
+ x11-libs/libXaw
+ x11-libs/libXp )"
+DEPEND="${RDEPEND}
+ X? ( x11-misc/imake
+ x11-proto/xproto )
+ >=sys-apps/sed-4
+ sys-devel/bison"
+
+src_prepare() {
+ # fix bugs 240005 and 243588
+ epatch "${FILESDIR}/${PF}-respect_env.patch"
+
+ #fix bug 330389
+ sed -i -e 's:-12-\*-75-:-14-\*-100-:g' xspim/xspim.c || die
+}
+
+src_configure() {
+ tc-export CC
+ emake -C spim configuration || die
+
+ if use X; then
+ emake -C xspim configuration || die
+ fi
+}
+
+src_compile() {
+ emake DESTDIR="${EPREFIX}" -C spim || die
+
+ if use X; then
+ emake DESTDIR="${EPREFIX}" EXCEPTION_DIR=/var/lib/spim \
+ -C xspim -j1 xspim || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${ED}" -C spim install || die
+ newman Documentation/spim.man spim.1 || die
+
+ if use X; then
+ emake DESTDIR="${ED}" -C xspim install || die
+ newman Documentation/xspim.man xspim.1 || die
+ fi
+
+ doicon "${FILESDIR}"/xspim.svg || die
+ make_desktop_entry xspim xSPIM xspim "ComputerScience;Science;Education" \
+ "Comment=Graphical MIPS32 Assembly language emulator"
+
+ dohtml Documentation/SPIM.html || die
+ dodoc ChangeLog Documentation/BLURB README VERSION || die
+ if use doc ; then
+ dodoc Documentation/TeX/{cycle,spim}.ps || die
+ fi
+}
+
+src_test() {
+ emake -C spim test || die
+}