freebsd-ports/www/aws-demos/Makefile
John Marino 95cc8022ed textproc/xmlada: Upgrade version 4.5.0.0 => 4.6.0.0, overhaul make system
Due to the unavailability of a public repository, this version uses
Adacores 2015 distribution of xmlada.  It's probably a minor update
from the previous one.

The major change, however, is the creation of a custom makefile to build
and install xmlada.  Why?  because gnatmake will lose the ability to
build project files in the near future, so xmlada makefiles were changed
to use gprbuild to build and itself it.  One problem: gprbuild needs
xmlada as a build dependency.  (and it also needs gprbuild to build
itself!!)  I could have chosen to keep using gnatmake, but I decided to
bite the bullet, fix it correctly now and not have to get stuck by it
by future versions of gnat that remove project management from gnatmake.

Having to support a bootstrap gprbuild is nonsense in my opinion, so
both will have to be built manually.  Morever, the GPL 2015 distinfo
file removed all the vital *.gpr files which other packages' configure
script absolutely depends on.  These had to be recreated from scratch
as well.

Noticeable changes:
  - no more .lgpr files, these are incorporated in generated *.gpr now
  - xmlada_input.gpr renamed to xmlada_input_sources.gpr as expected
    since we had to create it anyway
  - xmlada_shared.gpr no longer exists; it was incorporated into each
    gpr that pulled it in
  - RPATH hack no longer necessary
  - symlinks of 5 libraries at $LOCALBASE/lib were removed (useless)
  - rpaths are now correct and have $LOCALBASE/lib/xmlada/relocatable
    as path (this was big fix made possible by new Makefile)
  - xmlada seems to build a lot faster, fully jobs safe
  - GNU configure not longer performed
  - GNU make no longer a build dependency

I verified packages that depend on xmlada build as expected.  I also
verified that the manually generated libraries look very similar in
size to the gnatmake generated libraries.

Since the library version changed, I'm also bumping ports directly
dependent on xmlada.
2015-06-21 23:35:11 +00:00

110 lines
2.5 KiB
Makefile

# Created by: John Marino <marino@FreeBSD.org>
# $FreeBSD$
PORTNAME= aws
PORTVERSION= 3.2.0.0
PORTREVISION= 1
CATEGORIES= www
MASTER_SITES= http://downloads.dragonlace.net/src/
PKGNAMESUFFIX= -demos
MAINTAINER= marino@FreeBSD.org
COMMENT= Adacore Ada Web Server demos
LICENSE= GPLv3 GPLv3RLE
LICENSE_COMB= multi
BUILD_DEPENDS= gprbuild:${PORTSDIR}/devel/gprbuild \
xmlada>=4.4:${PORTSDIR}/textproc/xmlada \
aws>=3.1:${PORTSDIR}/www/aws
USES= ada gmake tar:bzip2
DISTINFO_FILE= ${PORTSDIR}/www/aws/distinfo
CONF_ARGS= PROCESSORS=1
CONF_ARGS+= GCC=ada
CONF_ARGS+= prefix=${PREFIX}
OPTIONS_DEFINE= SSL LDAP
OPTIONS_DEFAULT= SSL
OPTIONS_SUB= yes
DEMO_DIRS+= auth
DEMO_DIRS+= autobahn
DEMO_DIRS+= cert
DEMO_DIRS+= com
DEMO_DIRS+= dispatch
DEMO_DIRS+= dowload_manager
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+= soap_demo
DEMO_DIRS+= soap_disp
DEMO_DIRS+= soap_vs
DEMO_DIRS+= split
DEMO_DIRS+= test_mail
DEMO_DIRS+= text_input
DEMO_DIRS+= upload
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+= websockets
DEMO_DIRS+= wps
DEMO_DIRS+= ws
DEMO_DIRS+= ws_candy
DEMO_DIRS+= zdemo
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MSSL}
CONF_ARGS+= SOCKET=openssl
DEMO_DIRS+= agent
DEMO_DIRS+= runme
.endif
.if ${PORT_OPTIONS:MLDAP}
CONF_ARGS+= LDAP=true
DEMO_DIRS+= test_ldap
.endif
post-patch:
@${REINPLACE_CMD} -e 's|@PREFIX@|${LOCALBASE}|g' \
${WRKSRC}/demos/test_ldap/test_ldap.gpr
@${REINPLACE_CMD} -e 's| setup_tp | |' ${WRKSRC}/makefile
do-configure:
${MKDIR} ${WRKSRC}/.build/native/debug/static/obj
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
${MAKE_CMD} setup ${CONF_ARGS}
do-build:
.for dd in ${DEMO_DIRS}
@${ECHO_MSG} "=== BUILD ${dd} ==="
cd ${WRKSRC}/demos/${dd} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD}
.endfor
do-install:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/templates \
${STAGEDIR}${EXAMPLESDIR}/images
.for dd in ${DEMO_DIRS}
${FIND} ${WRKSRC}/demos/${dd} -type f -perm -0001 \
-exec ${INSTALL} {} ${STAGEDIR}${EXAMPLESDIR}/ \;
.endfor
cd ${WRKSRC} && \
${COPYTREE_SHARE} web_elements ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/demos/runme/aws_*.png \
${STAGEDIR}${EXAMPLESDIR}/images
${INSTALL_DATA} ${WRKSRC}/demos/web_mail/*html \
${STAGEDIR}${EXAMPLESDIR}/templates
${INSTALL_DATA} ${FILESDIR}/templates.tads \
${STAGEDIR}${EXAMPLESDIR}/templates
.include <bsd.port.mk>