Skip to content

Commit

Permalink
Add new port: net/polyorb
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
jrmarino committed Aug 12, 2013
1 parent ae8698a commit 128a670
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 0 deletions.
1 change: 1 addition & 0 deletions net/Makefile
Expand Up @@ -876,6 +876,7 @@
SUBDIR += pload
SUBDIR += plugdaemon
SUBDIR += pmf
SUBDIR += polyorb
SUBDIR += poptop
SUBDIR += portfwd
SUBDIR += pppd23
Expand Down
58 changes: 58 additions & 0 deletions net/polyorb/Makefile
@@ -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 changes: 2 additions & 0 deletions net/polyorb/distinfo
@@ -0,0 +1,2 @@
SHA256 (polyorb-2.9.0.tar.bz2) = aa75ac50a47a088a935146962faa1c6098d476d7517a79d8fb6ba6ca8a23da49
SIZE (polyorb-2.9.0.tar.bz2) = 3094710
29 changes: 29 additions & 0 deletions net/polyorb/files/patch-Makefile.in
@@ -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 changes: 15 additions & 0 deletions net/polyorb/pkg-descr
@@ -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

0 comments on commit 128a670

Please sign in to comment.