svn commit: r316923 - in head/www/aws: . files

Baptiste Daroussin bapt at FreeBSD.org
Tue Apr 30 12:13:14 UTC 2013


Author: bapt
Date: Tue Apr 30 12:13:12 2013
New Revision: 316923
URL: http://svnweb.freebsd.org/changeset/ports/316923

Log:
  support USES+= ada
  Remove demos and put then in another port (they require aws to be installed before they can build)
  Fix LDAP support
  Fix PLIST in multiple places
  Fix RPATH issues (tested in pkgsrc)
  Fix gcc-aux incompatibilities
  Use new gprbuild port
  convert to new options framework
  support multijob building
  Remove demos
  Rename ipv6 options to ip6 to avoid having it on by default.
  
  PR:		ports/178163
  Submitted by:	John Marino <draco at marino.st>

Added:
  head/www/aws/files/patch-docs_docs.gpr   (contents, props changed)
  head/www/aws/files/patch-include_include.gpr   (contents, props changed)
  head/www/aws/files/patch-src_soap_soap-message-xml.adb   (contents, props changed)
  head/www/aws/files/patch-src_src.gpr   (contents, props changed)
Modified:
  head/www/aws/Makefile
  head/www/aws/pkg-plist

Modified: head/www/aws/Makefile
==============================================================================
--- head/www/aws/Makefile	Tue Apr 30 12:08:08 2013	(r316922)
+++ head/www/aws/Makefile	Tue Apr 30 12:13:12 2013	(r316923)
@@ -3,15 +3,14 @@
 
 PORTNAME=	aws
 PORTVERSION=	2.10.0
+PORTREVISION=	1
 CATEGORIES=	www
-MASTER_SITES=	http://downloads.dragonlace.net/src/ \
-		http://dragonlace.mirrors.ada.cx/src/
+MASTER_SITES=	http://downloads.dragonlace.net/src/
 
 MAINTAINER=	draco at marino.st
 COMMENT=	Adacore Ada Web Server and framework
 
-BUILD_DEPENDS=	gnat-aux>=20101204:${PORTSDIR}/lang/gnat-aux \
-		gprbuild-aux>=20101120:${PORTSDIR}/devel/gprbuild-aux \
+BUILD_DEPENDS=	gprbuild>=20120510:${PORTSDIR}/devel/gprbuild \
 		xmlada>=3.2:${PORTSDIR}/textproc/xmlada \
 		gnatpython>=20101207:${PORTSDIR}/devel/gnatpython
 
@@ -19,21 +18,26 @@ USE_PYTHON=	yes
 USE_BZIP2=	yes
 GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
-USE_LDCONFIG=	yes
-CC=		gnatgcc
+USES+=		ada
+MAKE_JOBS_SAFE=	yes
 DOTBUILD=	release
-MAKE_ENV+=	ADA_PROJECT_PATH=${PREFIX}/lib/gnat
+ADDL_RPATH=	${LOCALBASE}/lib:${LOCALBASE}/lib/aws/native/relocatable
 
-OPTIONS_DEFINE=	SSL IPV6 DEMOS DEBUG LDAP DSRT RELOC
+OPTIONS_DEFINE=		SSL IP6 DEBUG LDAP DSRT RELOC
 OPTIONS_DEFAULT=	SSL
-SSL_DESC=	Enable HTTPS/SSL support
-DEMOS_DESC=	Build demo programs in examples/aws/demos
-DSRT_DESC=	Disable shared runtime
-RELOC_DESC=	Build shared libraries (default is static)
+NO_OPTIONS_SORT=	yes
 
-CONF_ARGS=	PROCESSORS=1
-CONF_ARGS+=	GCC=gnatgcc
+SSL_DESC=		Enable HTTPS/SSL support
+DSRT_DESC=		Disable shared runtime
+RELOC_DESC=		Build shared libraries (default is static)
+IP6_DESC=		Support IPv6 instead of IPv4
+
+CONF_ARGS=	PROCESSORS=${MAKE_JOBS_NUMBER}
+CONF_ARGS+=	GCC=ada
 CONF_ARGS+=	PYTHON=python${PYTHON_VER}
+CONF_ARGS+=	XMLADA=true
+CONF_ARGS+=	PRJ_BUILD=${DOTBUILD}
+CONF_ARGS+=	prefix=${PREFIX}
 
 .include <bsd.port.options.mk>
 
@@ -42,9 +46,8 @@ CONF_ARGS+=	PYTHON=python${PYTHON_VER}
 ###################
 
 .if ${PORT_OPTIONS:MSSL}
+USE_OPENSSL=	yes
 CONF_ARGS+=	SOCKET=openssl
-BUILD_DEPENDS+=	openssl>=1:${PORTSDIR}/security/openssl
-RUN_DEPENDS+=	openssl>=1:${PORTSDIR}/security/openssl
 PLIST_SUB+=	YSSL=""
 PLIST_SUB+=	NSSL="@comment "
 .else
@@ -57,16 +60,24 @@ PLIST_SUB+=	NSSL=""
 ####################
 
 .if ${PORT_OPTIONS:MLDAP}
+USE_OPENLDAP=	yes
 CONF_ARGS+=	LDAP=true
-RUN_DEPENDS+=	openldap24>=2.4:${PORTSDIR}/net/openldap24-client
+PLIST_SUB+=	LDAP=""
+.else
+PLIST_SUB+=	LDAP="@comment "
 .endif
 
 ####################
 ##  IPv6 Support  ##
 ####################
 
-.if ${PORT_OPTIONS:MIPV6}
+.if ${PORT_OPTIONS:MIP6}
 CONF_ARGS+=	IPv6=true
+PLIST_SUB+=	NIP6="@comment "
+PLIST_SUB+=	YIP6=""
+.else
+PLIST_SUB+=	YIP6="@comment "
+PLIST_SUB+=	NIP6=""
 .endif
 
 #####################
@@ -97,76 +108,31 @@ CONF_ARGS+=	DEFAULT_LIBRARY_TYPE=relocat
 ##  DEMOS Support  ##
 #####################
 
-.if ${PORT_OPTIONS:MDEMOS}
-DEMO_DIRS+=	agent
-DEMO_DIRS+=	auth
-DEMO_DIRS+=	com
-DEMO_DIRS+=	dispatch
-DEMO_DIRS+=	hello_world
-DEMO_DIRS+=	hello_wsdl
-DEMO_DIRS+=	hotplug
-DEMO_DIRS+=	interoplab
-DEMO_DIRS+=	jabber_demo
-DEMO_DIRS+=	multiple_sessions
-DEMO_DIRS+=	res_demo
-DEMO_DIRS+=	runme
-DEMO_DIRS+=	soap_demo
-DEMO_DIRS+=	soap_disp
-DEMO_DIRS+=	soap_vs
-DEMO_DIRS+=	split
-DEMO_DIRS+=	test_mail
-DEMO_DIRS+=	text_input
-DEMO_DIRS+=	vh_demo
-DEMO_DIRS+=	web_block
-DEMO_DIRS+=	web_block_ajax
-DEMO_DIRS+=	web_block_ajax_templates
-DEMO_DIRS+=	web_elements
-DEMO_DIRS+=	web_mail
-DEMO_DIRS+=	wps
-DEMO_DIRS+=	ws
-DEMO_DIRS+=	zdemo
-
-.if ${PORT_OPTIONS:MLDAP}
-DEMO_DIRS+=	test_ldap
-PLIST_SUB+=	LDAP=""
-.else
-PLIST_SUB+=	LDAP="@comment "
-.endif
-PLIST_SUB+=	DEMO=""
-.else
-PLIST_SUB+=	DEMO="@comment "
-PLIST_SUB+=	LDAP="@comment "
-.endif
+# Option removed.
+# Demos require an installed AWS to build.
+# These demos must be moved to a separate port, e.g. www/aws-demos
+
+post-patch:
+	@${REINPLACE_CMD} \
+	   -e 's|@ADDITIONAL_RPATH@|${ADDL_RPATH}|' \
+	   -e 's|@PREFIX@|${LOCALBASE}|g' \
+		${WRKSRC}/src/src.gpr \
+		${WRKSRC}/include/include.gpr
 
 do-configure:
 	cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
-	${GMAKE} setup ${CONF_ARGS}
+		${GMAKE} setup ${CONF_ARGS}
 
 do-build:
 	# docs are built, but the .pdf format is intentionally disabled
 	# The taTeX dependency brings in ~100MB so it's not worth it.
-	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} build build_doc
+	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+		${GMAKE} build build_doc
 
 test: install
 	cd ${WRKSRC}/regtests && python${PYTHON_VER} testsuite.py
 
 do-install:
 	cd ${WRKSRC} && ${GMAKE} install
-.if ${PORT_OPTIONS:MDEMOS}
-	${MAKE} demos
-	${MAKE} demos-install
-.endif
-
-demos:
-.for dd in ${DEMO_DIRS}
-	cd ${WRKSRC}/demos/${dd} && ${GMAKE}
-.endfor
-
-demos-install:
-	${MKDIR} ${PREFIX}/share/examples/aws/demos
-.for dd in ${DEMO_DIRS}
-	${FIND} ${WRKSRC}/demos/${dd} -type f -perm -0001 \
-	-exec ${INSTALL} {} ${PREFIX}/share/examples/aws/demos/ \;
-.endfor
 
 .include <bsd.port.mk>

Added: head/www/aws/files/patch-docs_docs.gpr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/aws/files/patch-docs_docs.gpr	Tue Apr 30 12:13:12 2013	(r316923)
@@ -0,0 +1,13 @@
+$NetBSD: patch-docs_docs.gpr,v 1.1 2012/07/08 20:14:28 marino Exp $
+
+--- docs/docs.gpr.orig	2011-01-25 20:53:19.000000000 +0000
++++ docs/docs.gpr
+@@ -55,7 +55,7 @@ project Docs is
+ 
+    package Binder is
+       for Default_Switches ("Ada")
+-         use Shared.Builder'Default_Switches ("Ada") & ("-static");
++         use Shared.Builder'Default_Switches ("Ada");
+    end Binder;
+ 
+    -------------

Added: head/www/aws/files/patch-include_include.gpr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/aws/files/patch-include_include.gpr	Tue Apr 30 12:13:12 2013	(r316923)
@@ -0,0 +1,12 @@
+$NetBSD: patch-include_include.gpr,v 1.1 2012/07/08 20:14:28 marino Exp $
+
+--- include/include.gpr.orig	2011-01-25 20:52:57.000000000 +0000
++++ include/include.gpr
+@@ -40,6 +40,7 @@ project Include is
+ 
+    for Library_Name use "aws_include";
+    for Library_Kind use Shared.Library_Type;
++   for Library_Options use ("-R", "-Wl,-R, at ADDITIONAL_RPATH@");
+ 
+    ---------
+    -- Ide --

Added: head/www/aws/files/patch-src_soap_soap-message-xml.adb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/aws/files/patch-src_soap_soap-message-xml.adb	Tue Apr 30 12:13:12 2013	(r316923)
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_soap_soap-message-xml.adb,v 1.1 2012/07/08 20:14:28 marino Exp $
+
+--- src/soap/soap-message-xml.adb.orig	2012-07-05 03:56:08.000000000 +0000
++++ src/soap/soap-message-xml.adb
+@@ -437,7 +437,8 @@ package body SOAP.Message.XML is
+             Faultstring => SOAP.Parameters.Get (S.Parameters, "faultstring"));
+       else
+          return Message.Response.Object'
+-           (S.Name_Space, S.Wrapper_Name, S.Parameters);
++           (Message.Object'(S.Name_Space, S.Wrapper_Name, S.Parameters)
++            with null record);
+       end if;
+ 
+    exception
+@@ -483,7 +484,8 @@ package body SOAP.Message.XML is
+             Faultstring => SOAP.Parameters.Get (S.Parameters, "faultstring"));
+       else
+          return Message.Response.Object'
+-           (S.Name_Space, S.Wrapper_Name, S.Parameters);
++           (Message.Object'(S.Name_Space, S.Wrapper_Name, S.Parameters)
++            with null record);
+       end if;
+ 
+    exception

Added: head/www/aws/files/patch-src_src.gpr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/aws/files/patch-src_src.gpr	Tue Apr 30 12:13:12 2013	(r316923)
@@ -0,0 +1,20 @@
+--- src/src.gpr.orig	2011-01-09 15:47:58.000000000 +0100
++++ src/src.gpr	2013-04-25 20:08:01.000000000 +0200
+@@ -77,7 +77,7 @@
+             when "Windows_NT" =>
+                for Library_Options use ("-lwsock32", "-lws2_32");
+             when others =>
+-               null;
++               for Library_Options use ("-R", "-Wl,-R, at ADDITIONAL_RPATH@");
+          end case;
+ 
+          case Shared.LDAP is
+@@ -88,7 +88,7 @@
+                        Project'Library_Options & ("-lwldap32");
+                   when others =>
+                      for Library_Options use
+-                       Project'Library_Options & ("-lldap");
++                       Project'Library_Options & ("-L at PREFIX@/lib", "-lldap");
+                end case;
+             when "Disabled" =>
+                null;

Modified: head/www/aws/pkg-plist
==============================================================================
--- head/www/aws/pkg-plist	Tue Apr 30 12:08:08 2013	(r316922)
+++ head/www/aws/pkg-plist	Tue Apr 30 12:13:12 2013	(r316923)
@@ -43,6 +43,9 @@ lib/aws/native/static/sha-strings.ali
 lib/aws/native/static/sha-process_data.ali
 lib/aws/native/static/sha.ali
 lib/aws/native/static/memory_streams.ali
+%%LDAP%%lib/aws/native/static/aws-ldap-client.ali
+%%LDAP%%lib/aws/native/static/aws-ldap-thin.ali
+%%LDAP%%lib/aws/native/static/aws-ldap.ali
 lib/aws/native/static/libaws_ssl.a
 lib/aws/native/static/libaws_include.a
 lib/aws/native/static/libaws.a
@@ -117,7 +120,8 @@ lib/aws/native/static/aws-parameters.ali
 lib/aws/native/static/aws-os_lib.ali
 lib/aws/native/static/aws-net-thin.ali
 lib/aws/native/static/aws-net-stream_io.ali
-lib/aws/native/static/aws-net-std__gnat.ali
+%%NIP6%%lib/aws/native/static/aws-net-std__gnat.ali
+%%YIP6%%lib/aws/native/static/aws-net-std__ipv6.ali
 %%YSSL%%lib/aws/native/static/aws-net-ssl__openssl.ali
 %%NSSL%%lib/aws/native/static/aws-net-ssl__dummy.ali
 %%YSSL%%lib/aws/native/static/aws-net-ssl-certificate__openssl.ali
@@ -206,6 +210,9 @@ lib/aws/native/relocatable/sha-strings.a
 lib/aws/native/relocatable/sha-process_data.ali
 lib/aws/native/relocatable/sha.ali
 lib/aws/native/relocatable/memory_streams.ali
+%%LDAP%%lib/aws/native/relocatable/aws-ldap-client.ali
+%%LDAP%%lib/aws/native/relocatable/aws-ldap-thin.ali
+%%LDAP%%lib/aws/native/relocatable/aws-ldap.ali
 lib/aws/native/relocatable/libaws_ssl.so
 lib/aws/native/relocatable/libaws.so
 lib/aws/native/relocatable/libaws_include.so
@@ -280,7 +287,8 @@ lib/aws/native/relocatable/aws-parameter
 lib/aws/native/relocatable/aws-os_lib.ali
 lib/aws/native/relocatable/aws-net-thin.ali
 lib/aws/native/relocatable/aws-net-stream_io.ali
-lib/aws/native/relocatable/aws-net-std__gnat.ali
+%%NIP6%%lib/aws/native/relocatable/aws-net-std__gnat.ali
+%%YIP6%%lib/aws/native/relocatable/aws-net-std__ipv6.ali
 %%YSSL%%lib/aws/native/relocatable/aws-net-ssl__openssl.ali
 %%NSSL%%lib/aws/native/relocatable/aws-net-ssl__dummy.ali
 %%YSSL%%lib/aws/native/relocatable/aws-net-ssl-certificate__openssl.ali
@@ -416,6 +424,11 @@ include/aws/soap-client.ads
 include/aws/soap-client.adb
 include/aws/soap.ads
 include/aws/native/aws-os_lib.ads
+%%LDAP%%include/aws/aws-ldap-client.ads
+%%LDAP%%include/aws/aws-ldap-client.adb
+%%LDAP%%include/aws/aws-ldap-thin.ads
+%%LDAP%%include/aws/aws-ldap-thin.adb
+%%LDAP%%include/aws/aws-ldap.ads
 include/aws/components/zlib-thin.ads
 include/aws/components/zlib-thin.adb
 include/aws/components/zlib-streams.ads
@@ -736,39 +749,6 @@ include/aws/aws.ads
 %%EXAMPLESDIR%%/images/aws_up.png
 %%EXAMPLESDIR%%/images/aws_logo.png
 %%EXAMPLESDIR%%/images/aws_down.png
-%%DEMO%%%%EXAMPLESDIR%%/demos/agent
-%%DEMO%%%%EXAMPLESDIR%%/demos/auth
-%%DEMO%%%%EXAMPLESDIR%%/demos/com_1
-%%DEMO%%%%EXAMPLESDIR%%/demos/com_2
-%%DEMO%%%%EXAMPLESDIR%%/demos/dispatch
-%%DEMO%%%%EXAMPLESDIR%%/demos/hello_world
-%%DEMO%%%%EXAMPLESDIR%%/demos/hotplug
-%%DEMO%%%%EXAMPLESDIR%%/demos/interoplab_main
-%%DEMO%%%%EXAMPLESDIR%%/demos/jabber_demo
-%%DEMO%%%%EXAMPLESDIR%%/demos/main
-%%DEMO%%%%EXAMPLESDIR%%/demos/multiple_sessions
-%%DEMO%%%%EXAMPLESDIR%%/demos/res_demo
-%%DEMO%%%%EXAMPLESDIR%%/demos/runme
-%%DEMO%%%%EXAMPLESDIR%%/demos/soap_client
-%%DEMO%%%%EXAMPLESDIR%%/demos/soap_cvs
-%%DEMO%%%%EXAMPLESDIR%%/demos/soap_server
-%%DEMO%%%%EXAMPLESDIR%%/demos/soap_server_disp
-%%DEMO%%%%EXAMPLESDIR%%/demos/soap_svs
-%%DEMO%%%%EXAMPLESDIR%%/demos/split
-%%LDAP%%%%EXAMPLESDIR%%/demos/test_ldap
-%%DEMO%%%%EXAMPLESDIR%%/demos/test_mail
-%%DEMO%%%%EXAMPLESDIR%%/demos/text_input
-%%DEMO%%%%EXAMPLESDIR%%/demos/vh_demo
-%%DEMO%%%%EXAMPLESDIR%%/demos/web_block
-%%DEMO%%%%EXAMPLESDIR%%/demos/web_block_ajax
-%%DEMO%%%%EXAMPLESDIR%%/demos/web_block_ajax_templates
-%%DEMO%%%%EXAMPLESDIR%%/demos/web_elements
-%%DEMO%%%%EXAMPLESDIR%%/demos/web_mail
-%%DEMO%%%%EXAMPLESDIR%%/demos/wps
-%%DEMO%%%%EXAMPLESDIR%%/demos/ws
-%%DEMO%%%%EXAMPLESDIR%%/demos/wsdl_demo_client
-%%DEMO%%%%EXAMPLESDIR%%/demos/wsdl_demo_server
-%%DEMO%%%%EXAMPLESDIR%%/demos/zdemo
 share/gps/plug-ins/ada2wsdl.xml
 share/gps/plug-ins/aws.py
 share/gps/plug-ins/aws.xml
@@ -798,4 +778,3 @@ share/gps/plug-ins/wsdl2aws.xml
 @dirrm include/aws
 @dirrmtry lib/gnat
 @dirrmtry share/gps/plug-ins
- at dirrmtry %%EXAMPLESDIR%%/demos


More information about the svn-ports-all mailing list