Bug 180242

Summary: [MAINTAINER] www/aws: Upgrade to version 3.1.0
Product: Ports & Packages Reporter: John Marino <draco>
Component: Individual Port(s)Assignee: William Grzybowski <wg>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.txt
none
aws-310.diff.txt none

Description John Marino 2013-07-03 20:30:00 UTC
The attached patch will upgrade AWS from version 2.10 to version 3.1.0

It adds another option for SSL, gnutls (turned into a radio group with SSL and NOSSL).  The "test" target was also fixed as it broken when "USES+= ada" was added.  Also, the complexity of the package list increased again with the new option so the PLIST was removed in favor of a generated pkg-plist (options actually remove files as well as adds them and all the permutations required many runs).

Also note that the base version of OpenSSL will not work with this version on FreeBSD although it built fine on DragonFly.  This was exposed by redports testing so the port version of OpenSSL was specified.

Passed 4X redports:
https://redports.org/buildarchive/20130703185101-20615/

Fix: Patch attached with submission follows:
Comment 1 John Marino 2013-07-04 08:47:27 UTC
Use the attached diff instead.
The previous one allows linking of libdl, which is tolerated by 
DragonFly but not by FreeBSD.  This was detected in the build of 
www/aws-demos.
Comment 2 William Grzybowski freebsd_committer freebsd_triage 2013-07-04 13:23:00 UTC
Responsible Changed
From-To: freebsd-ports-bugs->wg

I'll take it.
Comment 3 William Grzybowski freebsd_committer freebsd_triage 2013-07-04 13:31:15 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 4 dfilter service freebsd_committer freebsd_triage 2013-07-04 13:31:17 UTC
Author: wg
Date: Thu Jul  4 12:31:07 2013
New Revision: 322270
URL: http://svnweb.freebsd.org/changeset/ports/322270

Log:
  www/aws: udpate to 3.1.0.0
  
  - Update to 3.1.0.0
  - Auto generate pkg-plist
  - Add another option for SSL
  
  PR:		ports/180242
  Submitted by:	John Marino <draco@marino.st> (maintainer)

Deleted:
  head/www/aws/files/patch-src_soap_soap-message-xml.adb
  head/www/aws/pkg-plist
Modified:
  head/www/aws/Makefile
  head/www/aws/distinfo
  head/www/aws/files/patch-config__projects__aws.gpr
  head/www/aws/files/patch-docs__gentexifile
  head/www/aws/files/patch-docs__makefile
  head/www/aws/files/patch-makefile

Modified: head/www/aws/Makefile
==============================================================================
--- head/www/aws/Makefile	Thu Jul  4 10:14:55 2013	(r322269)
+++ head/www/aws/Makefile	Thu Jul  4 12:31:07 2013	(r322270)
@@ -2,8 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	aws
-PORTVERSION=	2.10.0
-PORTREVISION=	3
+PORTVERSION=	3.1.0.0
 CATEGORIES=	www
 MASTER_SITES=	http://downloads.dragonlace.net/src/
 
@@ -18,26 +17,34 @@ USE_PYTHON=	yes
 USE_BZIP2=	yes
 GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
-USES+=		ada
+USES=		ada
 MAKE_JOBS_SAFE=	yes
 DOTBUILD=	release
 ADDL_RPATH=	${LOCALBASE}/lib:${LOCALBASE}/lib/aws/native/relocatable
 
-OPTIONS_DEFINE=		SSL IP6 DEBUG LDAP DSRT RELOC
+OPTIONS_RADIO=		Secure-Socket-Layer
+OPTIONS_DEFINE=		IP6 DEBUG LDAP DSRT RELOC
 OPTIONS_DEFAULT=	SSL
 NO_OPTIONS_SORT=	yes
+OPTIONS_RADIO_Secure-Socket-Layer= SSL GNUTLS NOSSL
 
-SSL_DESC=		Enable HTTPS/SSL support
+NOSSL_DESC=		Disable SSL support
 DSRT_DESC=		Disable shared runtime
 RELOC_DESC=		Build shared libraries (default is static)
 IP6_DESC=		Support IPv6 instead of IPv4
 
+DESTINY=	${WRKDIR}/destino
+MAKE_ENV+=	DESTDIR=${DESTINY} AWK=${AWK}
+MAKEFILE=	makefile
+
 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}
+CONF_ARGS+=	LPATH=${PREFIX}/lib
+CONF_ARGS+=	ZPATH=/usr/lib
 
 .include <bsd.port.options.mk>
 
@@ -46,13 +53,14 @@ CONF_ARGS+=	prefix=${PREFIX}
 ###################
 
 .if ${PORT_OPTIONS:MSSL}
+WITH_OPENSSL_PORT= yes
 USE_OPENSSL=	yes
 CONF_ARGS+=	SOCKET=openssl
-PLIST_SUB+=	YSSL=""
-PLIST_SUB+=	NSSL="@comment "
-.else
-PLIST_SUB+=	YSSL="@comment "
-PLIST_SUB+=	NSSL=""
+.elif ${PORT_OPTIONS:MGNUTLS}
+CONF_ARGS+=	SOCKET=gnutls
+LIB_DEPENDS+=	gnutls:${PORTSDIR}/security/gnutls
+LIB_DEPENDS+=	crypto:${PORTSDIR}/security/openssl
+LIB_DEPENDS+=	gcrypt:${PORTSDIR}/security/libgcrypt
 .endif
 
 ####################
@@ -62,9 +70,6 @@ PLIST_SUB+=	NSSL=""
 .if ${PORT_OPTIONS:MLDAP}
 USE_OPENLDAP=	yes
 CONF_ARGS+=	LDAP=true
-PLIST_SUB+=	LDAP=""
-.else
-PLIST_SUB+=	LDAP="@comment "
 .endif
 
 ####################
@@ -73,11 +78,6 @@ PLIST_SUB+=	LDAP="@comment "
 
 .if ${PORT_OPTIONS:MIP6}
 CONF_ARGS+=	IPv6=true
-PLIST_SUB+=	NIP6="@comment "
-PLIST_SUB+=	YIP6=""
-.else
-PLIST_SUB+=	YIP6="@comment "
-PLIST_SUB+=	NIP6=""
 .endif
 
 #####################
@@ -104,14 +104,6 @@ CONF_ARGS+=	ENABLE_SHARED=false
 CONF_ARGS+=	DEFAULT_LIBRARY_TYPE=relocatable
 .endif
 
-#####################
-##  DEMOS Support  ##
-#####################
-
-# 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}|' \
@@ -120,19 +112,34 @@ post-patch:
 		${WRKSRC}/include/include.gpr
 
 do-configure:
-	cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
+	@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
 		${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.
+	# We cannot use a redefined ALL_TARGET because MAKE_JOBS_SAFE is set
+	# for PROCESSORS, but that also sets -j for gmake which breaks build
 	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
 		${GMAKE} build build_doc
 
 test: install
-	cd ${WRKSRC}/regtests && python${PYTHON_VER} testsuite.py
+	@cd ${WRKSRC}/regtests && ${SETENV} ${MAKE_ENV} \
+		python${PYTHON_VER} testsuite.py
 
-do-install:
-	cd ${WRKSRC} && ${GMAKE} install
+post-install:
+	# AWS plist changes due to options are complex, and are not simply
+	# additive.  Trying to capture every permutation is error prone and
+	# tedious, so a generated PLIST is the way to go.
+	@${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 '/share\/examples$$/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
+	@echo "@unexec rmdir %D/share/examples 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
+	@${CAT} ${WRKDIR}/PLIST.all >> ${TMPPLIST}
 
 .include <bsd.port.mk>

Modified: head/www/aws/distinfo
==============================================================================
--- head/www/aws/distinfo	Thu Jul  4 10:14:55 2013	(r322269)
+++ head/www/aws/distinfo	Thu Jul  4 12:31:07 2013	(r322270)
@@ -1,2 +1,2 @@
-SHA256 (aws-2.10.0.tar.bz2) = 010244129cc736d1ca415162dca79243fb243c3f0b12371a0ffc8a31c8b42f30
-SIZE (aws-2.10.0.tar.bz2) = 1384976
+SHA256 (aws-3.1.0.0.tar.bz2) = bb2896d81ab15f62a6fc8b7ae5c7191bf04ee9875e021ec0639cdbc435f8b8da
+SIZE (aws-3.1.0.0.tar.bz2) = 1529933

Modified: head/www/aws/files/patch-config__projects__aws.gpr
==============================================================================
--- head/www/aws/files/patch-config__projects__aws.gpr	Thu Jul  4 10:14:55 2013	(r322269)
+++ head/www/aws/files/patch-config__projects__aws.gpr	Thu Jul  4 12:31:07 2013	(r322270)
@@ -1,6 +1,6 @@
---- config/projects/aws.gpr.orig	2010-12-20 12:38:25 +0000
+--- config/projects/aws.gpr.orig	2013-07-03 01:11:54.000000000 +0000
 +++ config/projects/aws.gpr
-@@ -31,7 +31,6 @@ with "aws/aws_crypto_lib";
+@@ -22,7 +22,6 @@ with "aws/aws_crypto_lib";
  with "aws/aws_ssl_support";
  with "aws/aws_ssl_lib";
  with "aws/aws_ssl_error_lib";

Modified: head/www/aws/files/patch-docs__gentexifile
==============================================================================
--- head/www/aws/files/patch-docs__gentexifile	Thu Jul  4 10:14:55 2013	(r322269)
+++ head/www/aws/files/patch-docs__gentexifile	Thu Jul  4 12:31:07 2013	(r322270)
@@ -1,6 +1,6 @@
---- docs/gentexifile.orig	2011-01-09 15:48:05.000000000 +0100
-+++ docs/gentexifile	2011-07-17 16:15:21.000000000 +0200
-@@ -32,14 +32,7 @@
+--- docs/gentexifile.orig	2013-07-03 01:11:54.000000000 +0000
++++ docs/gentexifile
+@@ -32,12 +32,7 @@ SOURCE=$1
  TARGET=`basename ${SOURCE}`.texi
  TMPTAR=${TARGET}.tmp
  
@@ -10,13 +10,11 @@
 -else
 -   awk="gawk"
 -fi
--
--$awk 'BEGIN{out=1}$1=="end"&&substr($0,1,1)=="e"{out=1}out==1{print}$1=="private"&&$2!="with"&&out==1{out=0; print "   --  implementation removed"}' ${SOURCE} > genout
-+${AWK} 'BEGIN{out=1}$1=="end"&&substr($0,1,1)=="e"{out=1}out==1{print}$1=="private"&&$2!="with"&&out==1{out=0; print "   --  implementation removed"}' ${SOURCE} > genout
++awk=${AWK}
  
- rm -f ${TMPTAR}
+ $awk 'BEGIN{out=1}$1=="end"&&substr($0,1,1)=="e"{out=1}out==1{print}$1=="private"&&$2!="with"&&out==1{out=0; print "   --  implementation removed"}' ${SOURCE} > genout
  
-@@ -51,7 +44,7 @@
+@@ -51,7 +46,7 @@ if [ $# = 1 ]; then
  echo "@group"            >>${TMPTAR}
  fi
  echo ""                  >>${TMPTAR}

Modified: head/www/aws/files/patch-docs__makefile
==============================================================================
--- head/www/aws/files/patch-docs__makefile	Thu Jul  4 10:14:55 2013	(r322269)
+++ head/www/aws/files/patch-docs__makefile	Thu Jul  4 12:31:07 2013	(r322270)
@@ -1,6 +1,6 @@
---- docs/makefile.orig	2010-12-21 00:43:52.000000000 +0100
-+++ docs/makefile	2010-12-21 00:45:25.000000000 +0100
-@@ -122,10 +122,9 @@
+--- docs/makefile.orig	2013-07-03 01:11:54.000000000 +0000
++++ docs/makefile
+@@ -116,10 +116,9 @@ build_doc: $(APIFILES) aws_docs sg_docs
  	echo AWS Documentation built with success.
  	${MAKE} -C ../templates_parser doc
  
@@ -13,15 +13,3 @@
  
  setup:
  
-@@ -209,11 +208,9 @@
- aws.texi: gen_texi check_texi
- 
- install:
--	-$(CP) aws.pdf $(I_DOC)
- 	-$(CP) aws.html $(I_DOC)
- 	-$(CP) aws.txt $(I_DOC)
- 	-$(CP) aws*.info* $(I_DOC)
--	-$(CP) ../templates_parser/docs/templates_parser.pdf $(I_DOC)
- 	-$(CP) ../templates_parser/docs/templates_parser.html $(I_DOC)
- 	-$(CP) ../templates_parser/docs/templates_parser.txt $(I_DOC)
- 	-$(CP) ../templates_parser/docs/templates_parser.info* $(I_DOC)

Modified: head/www/aws/files/patch-makefile
==============================================================================
--- head/www/aws/files/patch-makefile	Thu Jul  4 10:14:55 2013	(r322269)
+++ head/www/aws/files/patch-makefile	Thu Jul  4 12:31:07 2013	(r322270)
@@ -1,12 +1,12 @@
 Prevent empty ${EXAMPLESDIR}/bin directory from being created
 
---- makefile.orig	2011-01-09 14:48:05.000000000 +0000
+--- makefile.orig	2013-07-03 01:11:54.000000000 +0000
 +++ makefile
-@@ -437,7 +437,6 @@ endif
- 	$(MKDIR) -p $(I_AGP)
- 	$(MKDIR) -p $(I_TPL)
- 	$(MKDIR) -p $(I_IMG)
--	$(MKDIR) -p $(I_SBN)
- 	$(MKDIR) -p $(I_PLG)
- 	$(MKDIR) -p $(I_WEL)
+@@ -390,7 +390,6 @@ endif
+ 	$(MKDIR) -p $(DESTDIR)$(I_AGP)
+ 	$(MKDIR) -p $(DESTDIR)$(I_TPL)
+ 	$(MKDIR) -p $(DESTDIR)$(I_IMG)
+-	$(MKDIR) -p $(DESTDIR)$(I_SBN)
+ 	$(MKDIR) -p $(DESTDIR)$(I_PLG)
+ 	$(MKDIR) -p $(DESTDIR)$(I_WEL)
  
_______________________________________________
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"