aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2013-08-12 22:21:36 +0800
committermarino <marino@FreeBSD.org>2013-08-12 22:21:36 +0800
commit128a670eee05ae2acc0784f4da4d94be0a415ee9 (patch)
treef6e7203fe89b477d8f48cc2bc31a1ef14110b102 /net
parentae8698a10395af1b04ec97761d433b9130051883 (diff)
downloadfreebsd-ports-gnome-128a670eee05ae2acc0784f4da4d94be0a415ee9.tar.gz
freebsd-ports-gnome-128a670eee05ae2acc0784f4da4d94be0a415ee9.tar.zst
freebsd-ports-gnome-128a670eee05ae2acc0784f4da4d94be0a415ee9.zip
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)
Diffstat (limited to 'net')
-rw-r--r--net/Makefile1
-rw-r--r--net/polyorb/Makefile58
-rw-r--r--net/polyorb/distinfo2
-rw-r--r--net/polyorb/files/patch-Makefile.in29
-rw-r--r--net/polyorb/pkg-descr15
5 files changed, 105 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile
index 181eec1d5148..37f65c5ed53b 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -876,6 +876,7 @@
SUBDIR += pload
SUBDIR += plugdaemon
SUBDIR += pmf
+ SUBDIR += polyorb
SUBDIR += poptop
SUBDIR += portfwd
SUBDIR += pppd23
diff --git a/net/polyorb/Makefile b/net/polyorb/Makefile
new file mode 100644
index 000000000000..edfd42aa9281
--- /dev/null
+++ b/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>
diff --git a/net/polyorb/distinfo b/net/polyorb/distinfo
new file mode 100644
index 000000000000..e6edd2815dfd
--- /dev/null
+++ b/net/polyorb/distinfo
@@ -0,0 +1,2 @@
+SHA256 (polyorb-2.9.0.tar.bz2) = aa75ac50a47a088a935146962faa1c6098d476d7517a79d8fb6ba6ca8a23da49
+SIZE (polyorb-2.9.0.tar.bz2) = 3094710
diff --git a/net/polyorb/files/patch-Makefile.in b/net/polyorb/files/patch-Makefile.in
new file mode 100644
index 000000000000..ae52b9c8a086
--- /dev/null
+++ b/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.
diff --git a/net/polyorb/pkg-descr b/net/polyorb/pkg-descr
new file mode 100644
index 000000000000..d0f642e12bed
--- /dev/null
+++ b/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