diff options
author | Stefan Knoblich <stkn@gentoo.org> | 2005-10-29 21:37:16 +0000 |
---|---|---|
committer | Stefan Knoblich <stkn@gentoo.org> | 2005-10-29 21:37:16 +0000 |
commit | 7a03cebda3fb3f5a882b9619aac4c2c4588bf071 (patch) | |
tree | 3596675ad088d601bd56cca7e7a44f13ef68337a /net-misc/asterisk-addons | |
download | voip-7a03cebda3fb3f5a882b9619aac4c2c4588bf071.tar.gz voip-7a03cebda3fb3f5a882b9619aac4c2c4588bf071.tar.bz2 voip-7a03cebda3fb3f5a882b9619aac4c2c4588bf071.zip |
Initial import of private gentoo-voip repos
svn path=/trunk/; revision=2
Diffstat (limited to 'net-misc/asterisk-addons')
7 files changed, 710 insertions, 0 deletions
diff --git a/net-misc/asterisk-addons/Manifest b/net-misc/asterisk-addons/Manifest new file mode 100644 index 0000000..8eb6f31 --- /dev/null +++ b/net-misc/asterisk-addons/Manifest @@ -0,0 +1,6 @@ +MD5 4f4fe33a885527efd317ebd887483ae1 asterisk-addons-1.2.0_beta1.ebuild 3169 +MD5 00cfba5fc6217bd223624a267cd55a13 files/digest-asterisk-addons-1.2.0_beta1 144 +MD5 727a0a2296bb763d31542e624c6ca224 files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff 1282 +MD5 d9614f6289a7b8edda8045241187e138 files/asterisk-addons-1.2.0_beta1-gentoo-base.diff 1852 +MD5 67d6be912d6a4cbc6250339885e778a0 files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff 1930 +MD5 46cefa8dc3aa8a97c973f54cd08f0ace files/sqlite-3.2.1-data-corruption.patch 6529 diff --git a/net-misc/asterisk-addons/asterisk-addons-1.2.0_beta1.ebuild b/net-misc/asterisk-addons/asterisk-addons-1.2.0_beta1.ebuild new file mode 100644 index 0000000..8abefbc --- /dev/null +++ b/net-misc/asterisk-addons/asterisk-addons-1.2.0_beta1.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +IUSE="mysql sqlite h323" + +inherit eutils flag-o-matic + +## TODO: +# +# - cleanup +# + +#AST_PATCHES_PV="1.2.0_pre-1.0" +SQLITE_PV="3.2.1" + +MY_P="${P/_/-}" + +DESCRIPTION="Additional Plugins for Asterisk" +HOMEPAGE="http://www.asterisk.org/" +SRC_URI="http://ftp.digium.com/pub/asterisk/${MY_P}.tar.gz + sqlite? ( http://www.sqlite.org/sqlite-${SQLITE_PV}.tar.gz )" + +S=${WORKDIR}/${MY_P} + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~sparc ~hppa ~amd64" + +DEPEND=" + >=net-misc/asterisk-1.2.0_beta1 + mysql? ( dev-db/mysql )" + +pkg_setup() { + local n dosleep=0 + einfo "Running pre-flight checks..." + + if use h323 && built_with_use net-misc/asterisk h323; then + echo + ewarn "h323: Emerging ${PN} with the h323 flag enabled will overwrite asterisk's chan_h323.so!" + ewarn "h323: Be sure to upgrade ${ROOT}etc/asterisk/h323.conf afterwards!" + dosleep=1 + fi + + echo + if [[ $dosleep -gt 0 ]]; then + ebeep + n=10 + while [[ $n -gt 0 ]]; do + echo -en " Waiting $n seconds...\r" + sleep 1 + (( n-- )) + done + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + + # + # gentoo patchset + # + epatch ${FILESDIR}/${P}-gentoo-base.diff + epatch ${FILESDIR}/${P}-gentoo-res_sqlite3.diff + epatch ${FILESDIR}/${P}-gentoo-ooh323c.diff + + # patch sqlite + if use sqlite; then + cd ${WORKDIR}/sqlite-${SQLITE_PV} + + epatch ${FILESDIR}/sqlite-${SQLITE_PV}-data-corruption.patch + epunt_cxx + fi + + # rebuild ooh323c configure + if use h323; then + cd ${S}/asterisk-ooh323c + libtoolize --copy --force || die "libtoolize failed" + fi +} + +src_compile() { + append-flags -fPIC + + emake -j1 || die "Make failed" + + if use sqlite; then + cd ${WORKDIR}/sqlite-${SQLITE_PV} + econf --enable-threadsafe || die "" + emake || die "" + + cd ${S} + emake -j1 -C res_sqlite3 \ + SQLITEDIR=${WORKDIR}/sqlite-${SQLITE_PV} || die "Make res_sqlite failed" + fi + + if use h323; then + cd ${S}/asterisk-ooh323c + econf || die "econf failed" + emake || die "emake failed" + fi +} + +src_install() { + make DESTDIR=${D} install || die "Make install failed" + + if use sqlite; then + make -C res_sqlite3 \ + DESTDIR=${D} install || die "Make install res_sqlite3 failed" + fi + + if use h323; then + make -C asterisk-ooh323c \ + DESTDIR=${D} install || die "Make instal ooh323c failed" + fi + + # install standard docs... + dodoc README + dodoc doc/cdr_mysql.txt + + insinto /usr/share/doc/${PF} + doins configs/*.sample + + if use sqlite; then + cd ${S}/res_sqlite3 + docinto res_sqlite3 + dodoc README + insinto /usr/share/doc/${PF}/res_sqlite3 + doins res_sqlite.conf dialplan.sql + keepdir /var/lib/asterisk/sqlite + fi + + if use h323; then + cd ${S}/asterisk-ooh323c + docinto chan_ooh323c + dodoc AUTHORS INSTALL NEWS README COPYING ChangeLog + dodoc h323.conf.sample extensions.conf.sample + + insinto /etc/asterisk + newins h323.conf.sample h323.conf + fi + + einfo "Fixing permissions" + chown -R root:asterisk ${D}etc/asterisk + chmod -R u=rwX,g=rX,o= ${D}etc/asterisk + + chown -R asterisk:asterisk ${D}var/lib/asterisk + chmod -R u=rwX,g=rX,o= ${D}var/lib/asterisk +} + +#pkg_postinst() { +# # +# # Announcements, warnings, reminders... +# # +#} diff --git a/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-base.diff b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-base.diff new file mode 100644 index 0000000..25d432c --- /dev/null +++ b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-base.diff @@ -0,0 +1,40 @@ +--- asterisk-addons/Makefile.orig 2005-07-30 21:04:44.000000000 +0200 ++++ asterisk-addons/Makefile 2005-07-30 21:06:06.000000000 +0200 +@@ -16,7 +16,6 @@ + MODS=format_mp3/format_mp3.so app_saycountpl.so + + CFLAGS+=-fPIC +-CFLAGS+=-I../asterisk + CFLAGS+=-D_GNU_SOURCE + + INSTALL=install +@@ -27,17 +26,11 @@ + # + # MySQL stuff... Autoconf anyone?? + # +-MODS+=$(shell if [ -d /usr/local/mysql/include ] || [ -d /usr/include/mysql ] || [ -d /usr/local/include/mysql ] || [ -d /opt/mysql/include ]; then echo "cdr_addon_mysql.so app_addon_sql_mysql.so res_config_mysql.so"; fi) +-CFLAGS+=$(shell if [ -d /usr/local/mysql/include ]; then echo "-I/usr/local/mysql/include"; fi) ++MODS+=$(shell if [ -d /usr/include/mysql ]; then echo "cdr_addon_mysql.so app_addon_sql_mysql.so res_config_mysql.so"; fi) + CFLAGS+=$(shell if [ -d /usr/include/mysql ]; then echo "-I/usr/include/mysql"; fi) +-CFLAGS+=$(shell if [ -d /usr/local/include/mysql ]; then echo "-I/usr/local/include/mysql"; fi) +-CFLAGS+=$(shell if [ -d /opt/mysql/include/mysql ]; then echo "-I/opt/mysql/include/mysql"; fi) + MLFLAGS= +-MLFLAGS+=$(shell if [ -d /usr/lib/mysql ]; then echo "-L/usr/lib/mysql"; fi) + MLFLAGS+=$(shell if [ -d /usr/lib64/mysql ]; then echo "-L/usr/lib64/mysql"; fi) +-MLFLAGS+=$(shell if [ -d /usr/local/mysql/lib ]; then echo "-L/usr/local/mysql/lib"; fi) +-MLFLAGS+=$(shell if [ -d /usr/local/lib/mysql ]; then echo "-L/usr/local/lib/mysql"; fi) +-MLFLAGS+=$(shell if [ -d /opt/mysql/lib/mysql ]; then echo "-L/opt/mysql/lib/mysql"; fi) ++MLFLAGS+=$(shell if [ -d /usr/lib/mysql ]; then echo "-L/usr/lib/mysql"; fi) + + OSARCH=$(shell uname -s) + +@@ -55,7 +48,8 @@ + format_mp3/format_mp3.so: + $(MAKE) -C format_mp3 all + +-install: all ++install: ++ $(INSTALL) -m 755 -d $(DESTDIR)$(MODULES_DIR) + for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done + + clean: diff --git a/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff new file mode 100644 index 0000000..460cbee --- /dev/null +++ b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff @@ -0,0 +1,30 @@ +--- asterisk-addons/asterisk-ooh323c/Makefile.am.orig 2005-08-24 23:19:04.000000000 +0200 ++++ asterisk-addons/asterisk-ooh323c/Makefile.am 2005-08-24 23:20:08.000000000 +0200 +@@ -19,10 +19,10 @@ + $(MAKE) "CFLAGS = -g -DGNU -D_GNU_SOURCE -D_REENTRANT" all + + install: +- cp .libs/libchan_h323.so.1.0.1 /usr/lib/asterisk/modules/chan_h323.so ++ cp .libs/libchan_h323.so.1.0.1 $(DESTDIR)/usr/lib/asterisk/modules/chan_h323.so + + sample: +- cp h323.conf.sample /etc/asterisk/h323.conf ++ cp h323.conf.sample $(DESTDIR)/etc/asterisk/h323.conf + + + EXTRA_DIST = extensions.conf h323.conf README COPYING +--- asterisk-addons/asterisk-ooh323c/Makefile.in.orig 2005-08-24 23:19:12.000000000 +0200 ++++ asterisk-addons/asterisk-ooh323c/Makefile.in 2005-08-24 23:19:53.000000000 +0200 +@@ -1214,10 +1214,10 @@ + $(MAKE) "CFLAGS = -g -DGNU -D_GNU_SOURCE -D_REENTRANT" all + + install: +- cp .libs/libchan_h323.so.1.0.1 /usr/lib/asterisk/modules/chan_h323.so ++ cp .libs/libchan_h323.so.1.0.1 $(DESTDIR)/usr/lib/asterisk/modules/chan_h323.so + + sample: +- cp h323.conf.sample /etc/asterisk/h323.conf ++ cp h323.conf.sample $(DESTDIR)/etc/asterisk/h323.conf + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: diff --git a/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff new file mode 100644 index 0000000..5d077b4 --- /dev/null +++ b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff @@ -0,0 +1,61 @@ +--- asterisk-addons/res_sqlite3/Makefile.orig 2005-08-04 23:27:22.000000000 +0200 ++++ asterisk-addons/res_sqlite3/Makefile 2005-08-04 23:37:38.000000000 +0200 +@@ -1,44 +1,24 @@ +-ASTDIR=/usr/src/asterisk +-ASTXS=$(ASTDIR)/contrib/scripts/astxs +-ASTSQLITE=/var/lib/asterisk/sqlite +-SQLITE2=/usr/local/bin/sqlite +-SQLITE3=/usr/local/bin/sqlite3 +-SQLITEBASE=http://www.sqlite.org/ +-SQLITEFILE=sqlite-3.2.1 ++SQLITEDIR= ++DESTDIR= + +-CFLAGS=-I$(SQLITEFILE) -I $(SQLITEFILE)/src ++ASTCFG=/usr/bin/asterisk-config ++ASTSQLITE=/var/lib/asterisk/sqlite ++ASTMODDIR=/usr/lib/asterisk/modules + +-all: .sqlite res_sqlite.so ++CFLAGS=-I$(SQLITEDIR) -I$(SQLITEDIR)/src + ++all: res_sqlite.so + + res_sqlite.so: +- ASTSRC=$(ASTDIR) $(ASTXS) "-append=CFLAGS:$(CFLAGS)" "-append=EXTOBJ:./$(SQLITEFILE)/.libs/libsqlite3.a" res_sqlite.c +- +-.sqlite: +- wget $(SQLITEBASE)/$(SQLITEFILE).tar.gz +- tar -zxvf $(SQLITEFILE).tar.gz +- cd $(SQLITEFILE) && test -f ./config.status || ./configure --enable-threadsafe +- cd $(SQLITEFILE) && make +- touch .sqlite ++ $(CC) $(shell $(ASTCFG) --cflags) $(CFLAGS) -fPIC -c -o res_sqlite.o res_sqlite.c ++ $(CC) $(shell $(ASTCFG) --solink) -o res_sqlite.so res_sqlite.o $(SQLITEDIR)/.libs/libsqlite3.a + + clean: + /bin/rm -f *.o *.so *~ + +-distclean: clean +- /bin/rm -fr .sqlite sqlite $(SQLITEFILE) $(SQLITEFILE).tar.gz +- + install: +- $(ASTXS) -autoload -install res_sqlite.so +- /bin/mkdir -p $(ASTSQLITE) +- if [ ! -f /etc/asterisk/res_sqlite.conf ] ; then /bin/cp res_sqlite.conf /etc/asterisk; fi +- +-sqlite_install: .sqlite +- cd sqlite && make install +- test -f /etc/ld.so.conf && ldconfig +- +-upgrade: $(SQLITE2) $(SQLITE3) +- @echo upgrading database files +- @upgrade.sh $(ASTSQLITE) $(SQLITE2) $(SQLITE3) +- +- +- ++ /bin/mkdir -p $(DESTDIR)$(ASTSQLITE) ++ /bin/mkdir -p $(DESTDIR)$(ASTMODDIR) ++ /bin/mkdir -p $(DESTDIR)/etc/asterisk ++ /bin/cp res_sqlite.so $(DESTDIR)$(ASTMODDIR) ++ /bin/cp res_sqlite.conf $(DESTDIR)/etc/asterisk diff --git a/net-misc/asterisk-addons/files/digest-asterisk-addons-1.2.0_beta1 b/net-misc/asterisk-addons/files/digest-asterisk-addons-1.2.0_beta1 new file mode 100644 index 0000000..aef5625 --- /dev/null +++ b/net-misc/asterisk-addons/files/digest-asterisk-addons-1.2.0_beta1 @@ -0,0 +1,2 @@ +MD5 e0d42e4b0b1b7276bd7c760e5e5c437a asterisk-addons-1.2.0-beta1.tar.gz 740760 +MD5 ccf3831c2f67452d444c5e5e2c7ca6f0 sqlite-3.2.1.tar.gz 1351842 diff --git a/net-misc/asterisk-addons/files/sqlite-3.2.1-data-corruption.patch b/net-misc/asterisk-addons/files/sqlite-3.2.1-data-corruption.patch new file mode 100644 index 0000000..1bfd859 --- /dev/null +++ b/net-misc/asterisk-addons/files/sqlite-3.2.1-data-corruption.patch @@ -0,0 +1,415 @@ +diff -uNr sqlite-3.2.1/src/vdbeaux.c sqlite-3.2.1-data-fix/src/vdbeaux.c +--- sqlite-3.2.1/src/vdbeaux.c 2005-03-29 15:14:03.000000000 +0200 ++++ sqlite-3.2.1-data-fix/src/vdbeaux.c 2005-04-24 12:13:52.000000000 +0200 +@@ -1604,7 +1604,7 @@ + } + if( flags&MEM_Int ){ + /* Figure out whether to use 1, 2, 4, 6 or 8 bytes. */ +-# define MAX_6BYTE ((((i64)0x00010000)<<32)-1) ++# define MAX_6BYTE ((((i64)0x00001000)<<32)-1) + i64 i = pMem->i; + u64 u = i<0 ? -i : i; + if( u<=127 ) return 1; +diff -uNr sqlite-3.2.1/test/misc5.test sqlite-3.2.1-data-fix/test/misc5.test +--- sqlite-3.2.1/test/misc5.test 2005-03-17 04:15:40.000000000 +0100 ++++ sqlite-3.2.1-data-fix/test/misc5.test 2005-04-24 16:45:07.000000000 +0200 +@@ -41,4 +41,399 @@ + } {} + } + ++# Make sure large integers are stored correctly. ++# ++do_test misc5-2.1 { ++ execsql { ++ create table t2(x unique); ++ insert into t2 values(1); ++ insert or ignore into t2 select x*2 from t2; ++ insert or ignore into t2 select x*4 from t2; ++ insert or ignore into t2 select x*16 from t2; ++ insert or ignore into t2 select x*256 from t2; ++ insert or ignore into t2 select x*65536 from t2; ++ insert or ignore into t2 select x*2147483648 from t2; ++ insert or ignore into t2 select x-1 from t2; ++ insert or ignore into t2 select x+1 from t2; ++ insert or ignore into t2 select -x from t2; ++ select count(*) from t2; ++ } ++} 371 ++do_test misc5-2.2 { ++ execsql { ++ select x from t2 order by x; ++ } ++} \ ++"-4611686018427387905\ ++-4611686018427387904\ ++-4611686018427387903\ ++-2305843009213693953\ ++-2305843009213693952\ ++-2305843009213693951\ ++-1152921504606846977\ ++-1152921504606846976\ ++-1152921504606846975\ ++-576460752303423489\ ++-576460752303423488\ ++-576460752303423487\ ++-288230376151711745\ ++-288230376151711744\ ++-288230376151711743\ ++-144115188075855873\ ++-144115188075855872\ ++-144115188075855871\ ++-72057594037927937\ ++-72057594037927936\ ++-72057594037927935\ ++-36028797018963969\ ++-36028797018963968\ ++-36028797018963967\ ++-18014398509481985\ ++-18014398509481984\ ++-18014398509481983\ ++-9007199254740993\ ++-9007199254740992\ ++-9007199254740991\ ++-4503599627370497\ ++-4503599627370496\ ++-4503599627370495\ ++-2251799813685249\ ++-2251799813685248\ ++-2251799813685247\ ++-1125899906842625\ ++-1125899906842624\ ++-1125899906842623\ ++-562949953421313\ ++-562949953421312\ ++-562949953421311\ ++-281474976710657\ ++-281474976710656\ ++-281474976710655\ ++-140737488355329\ ++-140737488355328\ ++-140737488355327\ ++-70368744177665\ ++-70368744177664\ ++-70368744177663\ ++-35184372088833\ ++-35184372088832\ ++-35184372088831\ ++-17592186044417\ ++-17592186044416\ ++-17592186044415\ ++-8796093022209\ ++-8796093022208\ ++-8796093022207\ ++-4398046511105\ ++-4398046511104\ ++-4398046511103\ ++-2199023255553\ ++-2199023255552\ ++-2199023255551\ ++-1099511627777\ ++-1099511627776\ ++-1099511627775\ ++-549755813889\ ++-549755813888\ ++-549755813887\ ++-274877906945\ ++-274877906944\ ++-274877906943\ ++-137438953473\ ++-137438953472\ ++-137438953471\ ++-68719476737\ ++-68719476736\ ++-68719476735\ ++-34359738369\ ++-34359738368\ ++-34359738367\ ++-17179869185\ ++-17179869184\ ++-17179869183\ ++-8589934593\ ++-8589934592\ ++-8589934591\ ++-4294967297\ ++-4294967296\ ++-4294967295\ ++-2147483649\ ++-2147483648\ ++-2147483647\ ++-1073741825\ ++-1073741824\ ++-1073741823\ ++-536870913\ ++-536870912\ ++-536870911\ ++-268435457\ ++-268435456\ ++-268435455\ ++-134217729\ ++-134217728\ ++-134217727\ ++-67108865\ ++-67108864\ ++-67108863\ ++-33554433\ ++-33554432\ ++-33554431\ ++-16777217\ ++-16777216\ ++-16777215\ ++-8388609\ ++-8388608\ ++-8388607\ ++-4194305\ ++-4194304\ ++-4194303\ ++-2097153\ ++-2097152\ ++-2097151\ ++-1048577\ ++-1048576\ ++-1048575\ ++-524289\ ++-524288\ ++-524287\ ++-262145\ ++-262144\ ++-262143\ ++-131073\ ++-131072\ ++-131071\ ++-65537\ ++-65536\ ++-65535\ ++-32769\ ++-32768\ ++-32767\ ++-16385\ ++-16384\ ++-16383\ ++-8193\ ++-8192\ ++-8191\ ++-4097\ ++-4096\ ++-4095\ ++-2049\ ++-2048\ ++-2047\ ++-1025\ ++-1024\ ++-1023\ ++-513\ ++-512\ ++-511\ ++-257\ ++-256\ ++-255\ ++-129\ ++-128\ ++-127\ ++-65\ ++-64\ ++-63\ ++-33\ ++-32\ ++-31\ ++-17\ ++-16\ ++-15\ ++-9\ ++-8\ ++-7\ ++-5\ ++-4\ ++-3\ ++-2\ ++-1\ ++0\ ++1\ ++2\ ++3\ ++4\ ++5\ ++7\ ++8\ ++9\ ++15\ ++16\ ++17\ ++31\ ++32\ ++33\ ++63\ ++64\ ++65\ ++127\ ++128\ ++129\ ++255\ ++256\ ++257\ ++511\ ++512\ ++513\ ++1023\ ++1024\ ++1025\ ++2047\ ++2048\ ++2049\ ++4095\ ++4096\ ++4097\ ++8191\ ++8192\ ++8193\ ++16383\ ++16384\ ++16385\ ++32767\ ++32768\ ++32769\ ++65535\ ++65536\ ++65537\ ++131071\ ++131072\ ++131073\ ++262143\ ++262144\ ++262145\ ++524287\ ++524288\ ++524289\ ++1048575\ ++1048576\ ++1048577\ ++2097151\ ++2097152\ ++2097153\ ++4194303\ ++4194304\ ++4194305\ ++8388607\ ++8388608\ ++8388609\ ++16777215\ ++16777216\ ++16777217\ ++33554431\ ++33554432\ ++33554433\ ++67108863\ ++67108864\ ++67108865\ ++134217727\ ++134217728\ ++134217729\ ++268435455\ ++268435456\ ++268435457\ ++536870911\ ++536870912\ ++536870913\ ++1073741823\ ++1073741824\ ++1073741825\ ++2147483647\ ++2147483648\ ++2147483649\ ++4294967295\ ++4294967296\ ++4294967297\ ++8589934591\ ++8589934592\ ++8589934593\ ++17179869183\ ++17179869184\ ++17179869185\ ++34359738367\ ++34359738368\ ++34359738369\ ++68719476735\ ++68719476736\ ++68719476737\ ++137438953471\ ++137438953472\ ++137438953473\ ++274877906943\ ++274877906944\ ++274877906945\ ++549755813887\ ++549755813888\ ++549755813889\ ++1099511627775\ ++1099511627776\ ++1099511627777\ ++2199023255551\ ++2199023255552\ ++2199023255553\ ++4398046511103\ ++4398046511104\ ++4398046511105\ ++8796093022207\ ++8796093022208\ ++8796093022209\ ++17592186044415\ ++17592186044416\ ++17592186044417\ ++35184372088831\ ++35184372088832\ ++35184372088833\ ++70368744177663\ ++70368744177664\ ++70368744177665\ ++140737488355327\ ++140737488355328\ ++140737488355329\ ++281474976710655\ ++281474976710656\ ++281474976710657\ ++562949953421311\ ++562949953421312\ ++562949953421313\ ++1125899906842623\ ++1125899906842624\ ++1125899906842625\ ++2251799813685247\ ++2251799813685248\ ++2251799813685249\ ++4503599627370495\ ++4503599627370496\ ++4503599627370497\ ++9007199254740991\ ++9007199254740992\ ++9007199254740993\ ++18014398509481983\ ++18014398509481984\ ++18014398509481985\ ++36028797018963967\ ++36028797018963968\ ++36028797018963969\ ++72057594037927935\ ++72057594037927936\ ++72057594037927937\ ++144115188075855871\ ++144115188075855872\ ++144115188075855873\ ++288230376151711743\ ++288230376151711744\ ++288230376151711745\ ++576460752303423487\ ++576460752303423488\ ++576460752303423489\ ++1152921504606846975\ ++1152921504606846976\ ++1152921504606846977\ ++2305843009213693951\ ++2305843009213693952\ ++2305843009213693953\ ++4611686018427387903\ ++4611686018427387904\ ++4611686018427387905" ++ + finish_test |