Add new port: net/polyorb

PolyORB is a middleware implementation providing development tools and an
innovative runtime library architecture for collaboration of application
components using open standards for distributed systems.

Polyorb has to be carefully matched with its compiler.  For the Ada
framework compiler, this means version "GPL 2012" despite "GPL 2013" being
available now.  However, a Polyorb developer told me that GPL 2012 was a
bit unstable and recommended that I create a custom tarball from the
Adacore subversion repository using the last revision compatible with
gcc-aux.  The approximate version number of 2.9 was adopted.

THis custom distfile is based on rev 201373 (23 Jan 2013).
The documentation from GPL 2012 was included in this new distfile rather
than embarking on the painful process of regenerating all 5 versions.

Approved by:	bapt/culot (mentors, implicit)
This commit is contained in:
John Marino 2013-08-12 14:21:36 +00:00
parent 0fda0c621f
commit 5f8ef5d27e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=324631
5 changed files with 105 additions and 0 deletions

View File

@ -876,6 +876,7 @@
SUBDIR += pload
SUBDIR += plugdaemon
SUBDIR += pmf
SUBDIR += polyorb
SUBDIR += poptop
SUBDIR += portfwd
SUBDIR += pppd23

58
net/polyorb/Makefile Normal file
View File

@ -0,0 +1,58 @@
# Created by: John Marino <marino@FreeBSD.org>
# $FreeBSD$
PORTNAME= polyorb
PORTVERSION= 2.9.0
CATEGORIES= net
MASTER_SITES= http://downloads.dragonlace.net/src/
MAINTAINER= marino@FreeBSD.org
COMMENT= CORBA, SOAP, Ada 95 Distributed System Annex middleware
LICENSE= GPLv3
BUILD_DEPENDS= xmlada>=3.2:${PORTSDIR}/textproc/xmlada
USES+= ada gmake
USE_BZIP2= yes
GNU_CONFIGURE= yes
USE_PYTHON_BUILD= yes
DESTINY= ${WRKDIR}/destino
MAKE_ENV= DESTDIR=${DESTINY} \
PROCESSORS=${MAKE_JOBS_NUMBER}
CONFIGURE_ENV= PYTHON=${PYTHON_CMD} \
ac_cv_prog_CXXCPP="cpp -E" \
ac_cv_prog_SVN=false
CONFIGURE_ARGS= --with-appli-perso="corba dsa moma" \
--with-proto-perso="giop soap srp" \
--with-corba-services="event ir naming notification time"
# Polyorb 2011 = PCS version 4 GNAT GCC 4.6 = PCS version 4
# Polyorb 2012 = PCS version 5 GNAT GCC 4.7 = PCS version 5
# Polyorb 2013 = PCS version 6 GNAT GCC 4.8 = PCS version 6(?)
#
# Current gcc-aux expander is version 5, so Polyorb 2012 is the lastest
# version that it can build. The versions have to match.
# However, GPL 2012 is particularly unstable, so a custom tarball from
# SVN revision 201373 has been created, which is the last of PCS version 5.
do-build:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} default
post-install:
@cd ${DESTINY}${PREFIX}; ${FIND} * -type d -empty -print | ${XARGS} ${RMDIR}
${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 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.all
@echo "@unexec rmdir %D/lib/gnat 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
@echo "@unexec rmdir %D/share/doc 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
@${CAT} ${WRKDIR}/PLIST.all >> ${TMPPLIST}
.include <bsd.port.mk>

2
net/polyorb/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (polyorb-2.9.0.tar.bz2) = aa75ac50a47a088a935146962faa1c6098d476d7517a79d8fb6ba6ca8a23da49
SIZE (polyorb-2.9.0.tar.bz2) = 3094710

View File

@ -0,0 +1,29 @@
--- Makefile.in.orig 2013-08-11 21:54:41.000000000 +0000
+++ Makefile.in
@@ -826,10 +826,10 @@ host=@host@
target=@target@
ifeq (${target}, ${host})
- target_prefix=${prefix}
- host_exe_dir=${prefix}/bin
+ target_prefix=${DESTDIR}${prefix}
+ host_exe_dir=${DESTDIR}${prefix}/bin
host_cmdprefix=
- target_exe_dir=${prefix}/bin
+ target_exe_dir=${DESTDIR}${prefix}/bin
else
target_prefix=${prefix}/${target}
@@ -886,10 +886,10 @@ install:
# pre-built and packaged with sources.
if [ -r docs/polyorb_ug.html ]; \
then \
- (cd docs && ${MAKE} install prefix="${prefix}"); \
+ (cd docs && ${MAKE} install prefix="${target_prefix}"); \
elif [ -r $(top_srcdir)/docs/polyorb_ug.html ]; \
then \
- (cd docs && ${MAKE} install prefix="${prefix}" doc_build_dir="$(top_srcdir)/docs/"); \
+ (cd docs && ${MAKE} install prefix="${target_prefix}" doc_build_dir="$(top_srcdir)/docs/"); \
fi
# polyorb-dsa_p-partitions.ali is a special case above.

15
net/polyorb/pkg-descr Normal file
View File

@ -0,0 +1,15 @@
PolyORB is a middleware implementation providing development tools and an
innovative runtime library architecture for collaboration of application
components using open standards for distributed systems.
Key Features:
* Support of standard application personalities: CORBA, Ada DSA (Annex E)
* Support of standard protocol personalities: GIOP, SOAP
* Interoperability between hardward platforms and operating environments,
between distribution models
* Support for multiple tasking profiles (full Ada tasking, Ravenscar
tasking, no tasking)
* Support for security and realtime extensions
* Tailorability to application and platform specific requirements
WWW: http://www.adacore.com/polyorb