Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jul 2013 14:17:04 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r323389 - in head/lang: . asis asis/files
Message-ID:  <201307211417.r6LEH4WM044941@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Sun Jul 21 14:17:04 2013
New Revision: 323389
URL: http://svnweb.freebsd.org/changeset/ports/323389

Log:
  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)

Added:
  head/lang/asis/
  head/lang/asis/Makefile   (contents, props changed)
  head/lang/asis/distinfo   (contents, props changed)
  head/lang/asis/files/
  head/lang/asis/files/patch-Makefile   (contents, props changed)
  head/lang/asis/files/patch-Makefile.stub   (contents, props changed)
  head/lang/asis/files/patch-asis__bld.gpr   (contents, props changed)
  head/lang/asis/files/patch-asis_asis.gpr   (contents, props changed)
  head/lang/asis/pkg-descr   (contents, props changed)
Modified:
  head/lang/Makefile

Modified: head/lang/Makefile
==============================================================================
--- head/lang/Makefile	Sun Jul 21 14:12:28 2013	(r323388)
+++ head/lang/Makefile	Sun Jul 21 14:17:04 2013	(r323389)
@@ -11,6 +11,7 @@
     SUBDIR += algol68g
     SUBDIR += alisp
     SUBDIR += arena
+    SUBDIR += asis
     SUBDIR += asn1c
     SUBDIR += atlast
     SUBDIR += ats

Added: head/lang/asis/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/asis/Makefile	Sun Jul 21 14:17:04 2013	(r323389)
@@ -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>

Added: head/lang/asis/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/asis/distinfo	Sun Jul 21 14:17:04 2013	(r323389)
@@ -0,0 +1,2 @@
+SHA256 (asis-gpl-2011-src.tgz) = abce6aecf13a94bafcbaab363241878805898cb731d30dc0686a7079c96029a8
+SIZE (asis-gpl-2011-src.tgz) = 3132742

Added: head/lang/asis/files/patch-Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/asis/files/patch-Makefile	Sun Jul 21 14:17:04 2013	(r323389)
@@ -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-%)

Added: head/lang/asis/files/patch-Makefile.stub
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/asis/files/patch-Makefile.stub	Sun Jul 21 14:17:04 2013	(r323389)
@@ -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

Added: head/lang/asis/files/patch-asis__bld.gpr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/asis/files/patch-asis__bld.gpr	Sun Jul 21 14:17:04 2013	(r323389)
@@ -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";

Added: head/lang/asis/files/patch-asis_asis.gpr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/asis/files/patch-asis_asis.gpr	Sun Jul 21 14:17:04 2013	(r323389)
@@ -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");

Added: head/lang/asis/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/asis/pkg-descr	Sun Jul 21 14:17:04 2013	(r323389)
@@ -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/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307211417.r6LEH4WM044941>