aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2013-07-21 22:17:04 +0800
committermarino <marino@FreeBSD.org>2013-07-21 22:17:04 +0800
commit4d8074dc0ffe5c2ba20c6abcfe2e435590c820e8 (patch)
tree3c32ef60edb3abee4ac728470eccd77e96082030 /lang
parent7ca256c3c3ef10f9b38c55cb9432e7590aa174e5 (diff)
downloadfreebsd-ports-gnome-4d8074dc0ffe5c2ba20c6abcfe2e435590c820e8.tar.gz
freebsd-ports-gnome-4d8074dc0ffe5c2ba20c6abcfe2e435590c820e8.tar.zst
freebsd-ports-gnome-4d8074dc0ffe5c2ba20c6abcfe2e435590c820e8.zip
Add new port: lang/asis
This is ASIS, the Ada Semantic Interface Specification. ASIS is tightly coupled with lang/gcc-aux and must be built with the same sources. For this reason, ASIS will not work with other Ada compilers, including GNAT GPL (lang/gnat). ASIS is a dependency of several upcoming Ada ports. Approved by: bapt (mentor)
Diffstat (limited to 'lang')
-rw-r--r--lang/Makefile1
-rw-r--r--lang/asis/Makefile49
-rw-r--r--lang/asis/distinfo2
-rw-r--r--lang/asis/files/patch-Makefile50
-rw-r--r--lang/asis/files/patch-Makefile.stub12
-rw-r--r--lang/asis/files/patch-asis__bld.gpr13
-rw-r--r--lang/asis/files/patch-asis_asis.gpr7
-rw-r--r--lang/asis/pkg-descr20
8 files changed, 154 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index 9a0074dde6c4..849bdb921f9b 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -11,6 +11,7 @@
SUBDIR += algol68g
SUBDIR += alisp
SUBDIR += arena
+ SUBDIR += asis
SUBDIR += asn1c
SUBDIR += atlast
SUBDIR += ats
diff --git a/lang/asis/Makefile b/lang/asis/Makefile
new file mode 100644
index 000000000000..73649739910a
--- /dev/null
+++ b/lang/asis/Makefile
@@ -0,0 +1,49 @@
+# Created by: John Marino <marino@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= asis
+PORTVERSION= 2011
+CATEGORIES= lang
+MASTER_SITES= http://downloads.dragonlace.net/src/
+DISTNAME= ${PORTNAME}-gpl-${PORTVERSION}-src
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= marino@FreeBSD.org
+COMMENT= GNAT implementation of Ada Semantic Interface Specification
+
+BUILD_DEPENDS= gnat_util>=2013:${PORTSDIR}/lang/gnat_util \
+ xmlada>=3.2:${PORTSDIR}/textproc/xmlada
+
+USES= ada gmake
+
+DESTINY= ${WRKDIR}/destino
+MAKE_ENV= DESTDIR=${DESTINY} \
+ PROCESSORS=${MAKE_JOBS_NUMBER}
+
+post-extract:
+ @${REINPLACE_CMD} -e 's|OPSYS|ASISOPSYS|g' \
+ ${WRKSRC}/Makefile \
+ ${WRKSRC}/Makefile.stub \
+ ${WRKSRC}/common.gpr
+ @${RM} -rf ${WRKSRC}/gnat
+
+do-build:
+ # This target is recreated because -j cannot be set, but
+ # MAKE_JOBS_SAFE=yes is needed for PROCESSORS value
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gmake all
+
+post-install:
+ ${CP} -pR ${DESTINY}${PREFIX}/ ${PREFIX}/
+ @cd ${DESTINY}${PREFIX}; ${FIND} * \( -type f -or -type l \) | \
+ ${SORT} > ${WRKDIR}/PLIST.all
+ @cd ${DESTINY}${PREFIX}; ${FIND} * -type d | ${AWK} '/\//' | \
+ ${SORT} -r | ${SED} -e '/lib\/gnat$$/d' -e '/share\/doc$$/d' \
+ -e '/share\/gps$$/d' -e '/share\/gps\/plug-ins$$/d' \
+ -e 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.all
+ @echo "@unexec rmdir %D/lib/gnat 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
+ @echo "@unexec rmdir %D/share/doc 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
+ @echo "@unexec rmdir %D/share/gps/plug-ins 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
+ @echo "@unexec rmdir %D/share/gps 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
+ @${CAT} ${WRKDIR}/PLIST.all >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/lang/asis/distinfo b/lang/asis/distinfo
new file mode 100644
index 000000000000..d71a595a3da1
--- /dev/null
+++ b/lang/asis/distinfo
@@ -0,0 +1,2 @@
+SHA256 (asis-gpl-2011-src.tgz) = abce6aecf13a94bafcbaab363241878805898cb731d30dc0686a7079c96029a8
+SIZE (asis-gpl-2011-src.tgz) = 3132742
diff --git a/lang/asis/files/patch-Makefile b/lang/asis/files/patch-Makefile
new file mode 100644
index 000000000000..6ae86c9c92c9
--- /dev/null
+++ b/lang/asis/files/patch-Makefile
@@ -0,0 +1,50 @@
+--- Makefile.orig 2013-07-17 18:11:51.000000000 +0000
++++ Makefile
+@@ -1,21 +1,21 @@
+
+ include Makefile.stub
+
+-all: lib/libasis$(arext) asistant
++all: lib/libasis$(arext) asistant tools
+
+ BLD=prod
+ tools = gnatstub gnatelim gnatmetric gnatpp gnatcheck
+ gu_tools = aunitstub aunitglue
+
+-I_BIN = $(prefix)/bin
+-I_INC = $(prefix)/include/asis
+-I_LIB = $(prefix)/lib/asis
+-I_GPR = $(prefix)/lib/gnat
+-I_DOC = $(prefix)/share/doc/asis
+-I_GPS = $(prefix)/share/gps/plug-ins
+-G_DOC = $(prefix)/share/doc/gnat
++I_BIN = $(DESTDIR)$(prefix)/bin
++I_INC = $(DESTDIR)$(prefix)/include/asis
++I_LIB = $(DESTDIR)$(prefix)/lib/asis
++I_GPR = $(DESTDIR)$(prefix)/lib/gnat
++I_DOC = $(DESTDIR)$(prefix)/share/doc/asis
++I_GPS = $(DESTDIR)$(prefix)/share/gps/plug-ins
++G_DOC = $(DESTDIR)$(prefix)/share/doc/gnat
+
+-install: install-lib install-asistant
++install: install-lib install-asistant install-tools
+
+ install-lib:
+ $(RMDIR) $(I_INC)
+@@ -36,7 +36,6 @@ ifneq ($(ATTRIB),)
+ cd $(I_LIB) && $(ATTRIB) +r '*.ali'
+ cd $(I_LIB) && $(ATTRIB) +r 'libasis$(arext)'
+ endif
+- $(INSTALL_FILES) gnat/*.ads gnat/*.adb $(I_INC)
+ $(INSTALL_FILES) asis/*.ads asis/*.adb $(I_INC)
+ $(INSTALL_FILES) asis/asis.gpr $(I_GPR)
+ $(INSTALL_FILES) documentation/gps_index.xml $(I_GPS)/asis.xml
+@@ -45,8 +44,6 @@ endif
+ -$(INSTALL_FILES) documentation/asis_*.info $(I_DOC)/info/
+
+ lib/libasis$(arext): force
+- cd gnat && $(GNATMAKE) xsnamest && ./xsnamest \
+- && mv snames.ns snames.ads && mv snames.nb snames.adb
+ $(GNATMAKE) -Pasis_bld -XBLD=$(BLD) -XASISOPSYS=$(ASISOPSYS)
+
+ install-tools: $(tools:%=install-%)
diff --git a/lang/asis/files/patch-Makefile.stub b/lang/asis/files/patch-Makefile.stub
new file mode 100644
index 000000000000..79a279ccff7b
--- /dev/null
+++ b/lang/asis/files/patch-Makefile.stub
@@ -0,0 +1,12 @@
+--- Makefile.stub.orig 2013-07-16 23:01:45.000000000 +0000
++++ Makefile.stub
+@@ -3,8 +3,7 @@ host := $(shell gcc -dumpmachine)
+
+ # Where Asis library should be installed
+ # Default is into current GNAT directory
+-INSTALL_DIR = $(dir $(shell which gnatls))..
+-prefix=$(INSTALL_DIR)
++prefix=$(PREFIX)
+
+ # Asis specific directories
+ GNAT_DIR=../gnat
diff --git a/lang/asis/files/patch-asis__bld.gpr b/lang/asis/files/patch-asis__bld.gpr
new file mode 100644
index 000000000000..84fa6e46c7b7
--- /dev/null
+++ b/lang/asis/files/patch-asis__bld.gpr
@@ -0,0 +1,13 @@
+--- asis_bld.gpr.orig 2012-05-10 13:27:53.000000000 +0000
++++ asis_bld.gpr
+@@ -1,8 +1,9 @@
++with "gnat_util";
+ with "common";
+ project Asis_Bld is
+
+ for Languages use ("ada");
+- for Source_Dirs use ("asis", "gnat");
++ for Source_Dirs use ("asis");
+ for Object_Dir use "obj";
+ for Library_Name use "asis";
+ for Library_Dir use "lib";
diff --git a/lang/asis/files/patch-asis_asis.gpr b/lang/asis/files/patch-asis_asis.gpr
new file mode 100644
index 000000000000..b2c6ca6b9f5a
--- /dev/null
+++ b/lang/asis/files/patch-asis_asis.gpr
@@ -0,0 +1,7 @@
+--- asis/asis.gpr.orig 2012-05-10 13:27:52.000000000 +0000
++++ asis/asis.gpr
+@@ -1,3 +1,4 @@
++with "gnat_util";
+ project Asis is
+ for Languages use ("ada");
+ for Source_Dirs use ("../../include/asis");
diff --git a/lang/asis/pkg-descr b/lang/asis/pkg-descr
new file mode 100644
index 000000000000..2b9ee671e2b9
--- /dev/null
+++ b/lang/asis/pkg-descr
@@ -0,0 +1,20 @@
+The Ada Semantic Interface Specification (ASIS) is an interface between an
+Ada environment as defined by ISO/IEC 8652 (the Ada Reference Manual) and
+any tool requiring information from this environment. An Ada environment
+includes valuable semantic and syntactic information. ASIS is an open and
+published callable interface which gives CASE tool and application
+developers access to this information. ASIS has been designed to be
+independent of underlying Ada environment implementations, thus supporting
+portability of software engineering tools while relieving tool developers
+from having to understand the complexities of an Ada environment's
+proprietary internal representation.
+
+ASIS 95 is the ASIS interface to Ada 95 (ISO/IEC 8652:1995).
+ASIS 95 is now available as ISO/IEC 15291:1999.
+
+The 2011 release is the latest ASIS for GNAT implementation that functions
+properly with lang/gcc-aux. The 2012 release fully builds but result with
+ASIS BUGS DETECTED during use while the ASIS tools don't even build on the
+2013 release.
+
+WWW: http://www.sigada.org/wg/asiswg/