Commit a658efed authored by marino's avatar marino
Browse files

Add new port: lang/adacontrol

Adacontrol is a tool that analyzes language constructs in Ada programs.  It
can be used as a standalone tool, or integrated into other tools.  An
example of integration can be seen with the upcoming devel/ahven port.

Approved by:	bapt (mentor)
parent 8a14b157
......@@ -7,6 +7,7 @@
SUBDIR += STk
SUBDIR += Sather
SUBDIR += abcl
SUBDIR += adacontrol
SUBDIR += afnix
SUBDIR += algol68g
SUBDIR += alisp
......
# Created by: John Marino <marino@FreeBSD.org>
# $FreeBSD$
PORTNAME= adacontrol
PORTVERSION= 1.15r5
CATEGORIES= lang
MASTER_SITES= SF/adacontrol
DISTNAME= adactl_old-${PORTVERSION}-src
EXTRACT_SUFX= .tgz
MAINTAINER= marino@FreeBSD.org
COMMENT= Tool for detecting use or non-use of specific Ada constructs
BUILD_DEPENDS= asis>=2011:${PORTSDIR}/lang/asis \
gnat_util>=2013:${PORTSDIR}/lang/gnat_util
USES= ada gmake
WRKSRC= ${WRKDIR}/adactl-${PORTVERSION}
DESTINY= ${WRKDIR}/destino
BUILD_WRKSRC= ${WRKSRC}/src
ALL_TARGET= build
do-install:
# To support DESTDIR in the future, install twice
${MKDIR} ${DESTINY}${PREFIX}/bin
${MKDIR} ${DESTINY}${PREFIX}/share/gps/plug-ins
${MKDIR} ${DESTINY}${PREFIX}/share/doc/gps/html
${MKDIR} ${DESTINY}${PREFIX}/share/doc/adacontrol
${MKDIR} ${DESTINY}${PREFIX}/share/gprconfig
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/adactl ${BUILD_WRKSRC}/pfni \
${BUILD_WRKSRC}/ptree ${DESTINY}/${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/GPS/adacontrol.xml \
${DESTINY}${PREFIX}/share/gprconfig
${INSTALL_DATA} ${WRKSRC}/GPS/*adactl* ${WRKSRC}/GPS/pfni.* \
${DESTINY}${PREFIX}/share/gps/plug-ins
${INSTALL_MAN} ${WRKSRC}/doc/*.html \
${DESTINY}${PREFIX}/share/doc/gps/html
${INSTALL_MAN} ${WRKSRC}/doc/*.pdf ${WRKSRC}/doc/*.html \
${DESTINY}${PREFIX}/share/doc/adacontrol
# Now install from DESTDIR
${CP} -pR ${DESTINY}${PREFIX}/ ${PREFIX}/
.include <bsd.port.mk>
SHA256 (adactl_old-1.15r5-src.tgz) = 0d495ee1f6c643c807f295474f32726c5935c5ec8a94c847c25e803b1546f4fb
SIZE (adactl_old-1.15r5-src.tgz) = 1700731
--- src/Makefile.orig 2013-07-09 13:33:01.000000000 +0000
+++ src/Makefile
@@ -2,7 +2,7 @@
# Set PATH to ASIS library below (default corresponds to the case where you
# installed ASIS in the Gnat directory)
-ASIS_TOP = /usr/gnat/
+ASIS_TOP = ${PREFIX}
###############################################################################
# Depending on your version of ASIS, the ASIS directory may be split into
@@ -22,6 +22,10 @@ ASIS_INCLUDE = ${ASIS_TOP}/include/asis
ASIS_OBJ = ${ASIS_TOP}/lib/asis
ASIS_LIB = ${ASIS_TOP}/lib/asis
+GU_INCLUDE = ${ASIS_TOP}/include/gnat_util
+GU_OBJ = ${ASIS_TOP}/lib/gnat_util
+GU_LIB = ${ASIS_TOP}/lib/gnat_util
+
###############################################################################
# SYSTEM COMMANDS (do not change)
@@ -48,7 +52,8 @@ EXT = ${UNIX_EXT}
GARGS = -gnatf -gnatwa -aI${ASIS_INCLUDE} -aO${ASIS_OBJ} -g
CARGS = -cargs -O2 -gnatWh -gnat05 -gnato
BARGS = -bargs -E
-LARGS = -largs -L${ASIS_LIB} -lasis
+LARGS = -largs -L${ASIS_LIB} -lasis -L${GU_LIB} -lgnat_util
+GARGS+= -aI${GU_INCLUDE} -aO${GU_OBJ}
# Uncomment the following line if you are running GnatPro 6.1.2 or above
#CARGS_EXTRA = ${CARGS} -fno-tree-vrp
AdaControl is a free (GMGPL) tool that detects the use of various kinds of
constructs in Ada programs. Its first goal is to control proper usage of
style or programming rules, but it can also be used as a powerful tool to
search for use (or non-use) of various forms of programming styles or design
patterns. Searched elements range from very simple, like the occurrence of
certaine entities, declarations, or statements, to very sophisticated, like
verifying that certain programming patterns are being obeyed..
Which elements or constructs are searched is defined by a set of rules; the
following table gives a short summary of rules currently checked by
AdaControl. The number in parentheses after the rule name gives the number
of subrules, if any. Considering all possible rules and subrules, this makes
452 tests that can be performed currently by AdaControl!
WWW: http://www.adalog.fr
bin/adactl
bin/pfni
bin/ptree
%%DOCSDIR%%/adacontrol_pm.html
%%DOCSDIR%%/adacontrol_pm.pdf
%%DOCSDIR%%/adacontrol_ug.html
%%DOCSDIR%%/adacontrol_ug.pdf
share/doc/gps/html/adacontrol_pm.html
share/doc/gps/html/adacontrol_ug.html
share/gprconfig/adacontrol.xml
share/gps/plug-ins/adactl.gif
share/gps/plug-ins/adactl.py
share/gps/plug-ins/adactl_ask.gif
share/gps/plug-ins/pfni.py
share/gps/plug-ins/pfni.xml
share/gps/plug-ins/zadactl.xml
@dirrm %%DOCSDIR%%
@dirrmtry share/doc/gps/html
@dirrmtry share/doc/gps
@dirrmtry share/doc
@dirrmtry share/gprconfig
@dirrmtry share/gps/plug-ins
@dirrmtry share/gps
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment