diff options
author | marino <marino@FreeBSD.org> | 2013-07-21 22:17:04 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2013-07-21 22:17:04 +0800 |
commit | 4d8074dc0ffe5c2ba20c6abcfe2e435590c820e8 (patch) | |
tree | 3c32ef60edb3abee4ac728470eccd77e96082030 /lang | |
parent | 7ca256c3c3ef10f9b38c55cb9432e7590aa174e5 (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | lang/asis/Makefile | 49 | ||||
-rw-r--r-- | lang/asis/distinfo | 2 | ||||
-rw-r--r-- | lang/asis/files/patch-Makefile | 50 | ||||
-rw-r--r-- | lang/asis/files/patch-Makefile.stub | 12 | ||||
-rw-r--r-- | lang/asis/files/patch-asis__bld.gpr | 13 | ||||
-rw-r--r-- | lang/asis/files/patch-asis_asis.gpr | 7 | ||||
-rw-r--r-- | lang/asis/pkg-descr | 20 |
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/ |