aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2013-07-21 22:26:31 +0800
committermarino <marino@FreeBSD.org>2013-07-21 22:26:31 +0800
commita658efed57cec672a218894b25e69e41069f2989 (patch)
tree62155804c617fb58e46cc44fc5032127bdf19830
parent8a14b157c65be4b42e78d0c4a5ee071b38fedcb4 (diff)
downloadfreebsd-ports-gnome-a658efed57cec672a218894b25e69e41069f2989.tar.gz
freebsd-ports-gnome-a658efed57cec672a218894b25e69e41069f2989.tar.zst
freebsd-ports-gnome-a658efed57cec672a218894b25e69e41069f2989.zip
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)
-rw-r--r--lang/Makefile1
-rw-r--r--lang/adacontrol/Makefile43
-rw-r--r--lang/adacontrol/distinfo2
-rw-r--r--lang/adacontrol/files/patch-src_Makefile32
-rw-r--r--lang/adacontrol/pkg-descr15
-rw-r--r--lang/adacontrol/pkg-plist23
6 files changed, 116 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index 849bdb921f9b..0acf34fadb89 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -7,6 +7,7 @@
SUBDIR += STk
SUBDIR += Sather
SUBDIR += abcl
+ SUBDIR += adacontrol
SUBDIR += afnix
SUBDIR += algol68g
SUBDIR += alisp
diff --git a/lang/adacontrol/Makefile b/lang/adacontrol/Makefile
new file mode 100644
index 000000000000..b9bf2cd0fd9b
--- /dev/null
+++ b/lang/adacontrol/Makefile
@@ -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>
diff --git a/lang/adacontrol/distinfo b/lang/adacontrol/distinfo
new file mode 100644
index 000000000000..0ffff3f097eb
--- /dev/null
+++ b/lang/adacontrol/distinfo
@@ -0,0 +1,2 @@
+SHA256 (adactl_old-1.15r5-src.tgz) = 0d495ee1f6c643c807f295474f32726c5935c5ec8a94c847c25e803b1546f4fb
+SIZE (adactl_old-1.15r5-src.tgz) = 1700731
diff --git a/lang/adacontrol/files/patch-src_Makefile b/lang/adacontrol/files/patch-src_Makefile
new file mode 100644
index 000000000000..e5796c9060c4
--- /dev/null
+++ b/lang/adacontrol/files/patch-src_Makefile
@@ -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
diff --git a/lang/adacontrol/pkg-descr b/lang/adacontrol/pkg-descr
new file mode 100644
index 000000000000..0050e67e2de0
--- /dev/null
+++ b/lang/adacontrol/pkg-descr
@@ -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
diff --git a/lang/adacontrol/pkg-plist b/lang/adacontrol/pkg-plist
new file mode 100644
index 000000000000..cd9cd49a40a8
--- /dev/null
+++ b/lang/adacontrol/pkg-plist
@@ -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