svn commit: r344938 - in head/devel/ahven: . files
John Marino
marino at FreeBSD.org
Tue Feb 18 18:35:17 UTC 2014
Author: marino
Date: Tue Feb 18 18:35:16 2014
New Revision: 344938
URL: http://svnweb.freebsd.org/changeset/ports/344938
QAT: https://qat.redports.org/buildarchive/r344938/
Log:
devel/ahven: Modify to add symbolic tracing.
The author, Tero Koskine, intends for ahven to be compiler agnostic,
and therefore can't use GNAT-specific functionality like
GNAT.Traceback.Symbolic. However, there is only one brand of Ada
compiler in ports, GNAT, so we can take advantage of it.
This change adds a default option to alter the exception handling to
trace through the symbols to display files and line numbers of each
frame on the stack. Declining the option builds Ahven without the
modification and allows Ahven to be used on non-GNAT compilers (assuming
you can find one on FreeBSD.)
Added:
head/devel/ahven/files/extra-src_ahven-framework.adb (contents, props changed)
Modified:
head/devel/ahven/Makefile
Modified: head/devel/ahven/Makefile
==============================================================================
--- head/devel/ahven/Makefile Tue Feb 18 18:30:44 2014 (r344937)
+++ head/devel/ahven/Makefile Tue Feb 18 18:35:16 2014 (r344938)
@@ -3,7 +3,7 @@
PORTNAME= ahven
PORTVERSION= 2.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= SF
MASTER_SITE_SUBDIR=${PORTNAME}/${PORTNAME}/Ahven%20${PORTVERSION}
@@ -19,7 +19,11 @@ USES= ada
ALL_TARGET= build_all
MAKE_ENV+= OS_VERSION=unix
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= TRACE DOCS
+OPTIONS_DEFAULT=TRACE
+NO_OPTIONS_SORT=yes
+
+TRACE_DESC= Build with GNAT-specific symbolic tracing functionality
.include <bsd.port.options.mk>
@@ -30,6 +34,10 @@ BUILD_DEPENDS+= sphinx-build:${PORTSDIR}
ALL_TARGET+= docs
.endif
+.if ${PORT_OPTIONS:MTRACE}
+EXTRA_PATCHES= ${FILESDIR}/extra-src_ahven-framework.adb
+.endif
+
post-install:
@${RM} -rf ${STAGEDIR}${PREFIX}/share/doc/ahven/html/_sources
@${RM} ${STAGEDIR}${PREFIX}/share/doc/ahven/html/.buildinfo
Added: head/devel/ahven/files/extra-src_ahven-framework.adb
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/ahven/files/extra-src_ahven-framework.adb Tue Feb 18 18:35:16 2014 (r344938)
@@ -0,0 +1,34 @@
+--- src/ahven-framework.adb.orig 2014-02-08 21:21:51.000000000 +0000
++++ src/ahven-framework.adb
+@@ -14,6 +14,8 @@
+ -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ --
+
++with GNAT.Traceback.Symbolic;
++use GNAT.Traceback.Symbolic;
+ with Ada.Strings;
+ with Ada.Unchecked_Deallocation;
+ with Ada.Exceptions;
+@@ -346,19 +348,19 @@ package body Ahven.Framework is
+ Set_Status
+ (S => TEST_FAIL,
+ Message => Ada.Exceptions.Exception_Message (E),
+- Long_Message => Ada.Exceptions.Exception_Information (E),
++ Long_Message => Symbolic_Traceback (E),
+ R => Result);
+ when E : Test_Skipped_Error =>
+ Set_Status
+ (S => TEST_SKIP,
+ Message => Ada.Exceptions.Exception_Message (E),
+- Long_Message => Ada.Exceptions.Exception_Information (E),
++ Long_Message => Symbolic_Traceback (E),
+ R => Result);
+ when E : others =>
+ Set_Status
+ (S => TEST_ERROR,
+ Message => Ada.Exceptions.Exception_Message (E),
+- Long_Message => Ada.Exceptions.Exception_Information (E),
++ Long_Message => Symbolic_Traceback (E),
+ R => Result);
+ end;
+ end Run_A_Command;
More information about the svn-ports-all
mailing list