Bug 178163

Summary: www/aws: [MAINTAINER] Support USES+= ada, bug fixes, split out demos
Product: Ports & Packages Reporter: John Marino <draco>
Component: Individual Port(s)Assignee: Baptiste Daroussin <bapt>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description John Marino 2013-04-25 22:20:00 UTC
The www/aws port was always a little rough.  Some issues this update addresses:

1) support USES+= ada
2) Remove demos and put then in another port (they require aws to be installed before they can build)
3) Fix LDAP support
4) Fix PLIST in multiple places
5) Fix RPATH issues (tested in pkgsrc)
6) Fix gcc-aux incompatibilities
7) Use new gprbuild port
8) convert to new options framework
9) support multijob building

make sure ports/178146 is committed first (it has several dependencies as well)

Fix: Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-04-25 22:20:10 UTC
Class Changed
From-To: sw-bug->maintainer-update

Fix category (submitter is maintainer) (via the GNATS Auto Assign Tool)
Comment 2 Baptiste Daroussin freebsd_committer freebsd_triage 2013-04-25 22:37:18 UTC
Responsible Changed
From-To: freebsd-ports-bugs->bapt

I'll take it.
Comment 3 dfilter service freebsd_committer freebsd_triage 2013-04-30 13:13:27 UTC
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@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@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,@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,@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@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
-@dirrmtry %%EXAMPLESDIR%%/demos
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 Baptiste Daroussin freebsd_committer freebsd_triage 2013-04-30 13:13:28 UTC
State Changed
From-To: open->closed

Committed. Thanks!