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)
This commit is contained in:
John Marino 2013-07-21 14:26:31 +00:00
parent bdffd45829
commit 25a3e224f5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=323392
6 changed files with 116 additions and 0 deletions

View File

@ -7,6 +7,7 @@
SUBDIR += STk
SUBDIR += Sather
SUBDIR += abcl
SUBDIR += adacontrol
SUBDIR += afnix
SUBDIR += algol68g
SUBDIR += alisp

43
lang/adacontrol/Makefile Normal file
View File

@ -0,0 +1,43 @@
# 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>

2
lang/adacontrol/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (adactl_old-1.15r5-src.tgz) = 0d495ee1f6c643c807f295474f32726c5935c5ec8a94c847c25e803b1546f4fb
SIZE (adactl_old-1.15r5-src.tgz) = 1700731

View File

@ -0,0 +1,32 @@
--- 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

15
lang/adacontrol/pkg-descr Normal file
View File

@ -0,0 +1,15 @@
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

23
lang/adacontrol/pkg-plist Normal file
View File

@ -0,0 +1,23 @@
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