aboutsummaryrefslogtreecommitdiffstats
path: root/biology
diff options
context:
space:
mode:
Diffstat (limited to 'biology')
-rw-r--r--biology/emboss/Makefile76
-rw-r--r--biology/emboss/distinfo5
-rw-r--r--biology/emboss/pkg-descr13
-rw-r--r--biology/emboss/scripts/configure.emboss61
4 files changed, 150 insertions, 5 deletions
diff --git a/biology/emboss/Makefile b/biology/emboss/Makefile
index 651c403ee3eb..5ffa3f400065 100644
--- a/biology/emboss/Makefile
+++ b/biology/emboss/Makefile
@@ -7,10 +7,13 @@
PORTNAME= emboss
PORTVERSION= 1.7.0
+PORTREVISION= 1
CATEGORIES= biology
MASTER_SITES= ftp://ftp.uk.embnet.org/pub/EMBOSS/ \
ftp://ftp.no.embnet.org/pub/EMBOSS/
-DISTNAME= EMBOSS-${PORTVERSION}
+DISTFILES= ${PORTNAME:U}-${PORTVERSION}${EXTRACT_SUFX}
+DIST_SUBDIR= ${PORTNAME}
+EXTRACT_ONLY= ${PORTNAME:U}-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER= johann@egenetics.com
@@ -20,12 +23,51 @@ LIB_DEPENDS= gd.1:${PORTSDIR}/graphics/gd \
USE_GMAKE= yes
USE_LIBTOOL= yes
USE_XLIB= yes
+PLIST= ${WRKDIR}/pkg-plist
-CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/gd" \
+.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc)
+.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc"
+.endif
+
+CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include/gd" \
LIBS="-L${LOCALBASE}/lib"
+SCRIPTS_ENV+= WRKDIRPREFIX="${WRKDIRPREFIX}" \
+ MKDIR="${MKDIR}" \
+ RM="${RM}"
+
+WRKSRC= ${WRKDIR}/${PORTNAME:U}-${PORTVERSION}
+EMBASSY_WRKDIR= ${WRKSRC}/EMBASSY
+PHYLIP_VERSION= 3.573c
+MSE_VERSION= 0.0.4
+TOPO_VERSION= 0.1
+.for app in MSE PHYLIP TOPO
+SCRIPTS_ENV+= ${app}_VERSION="${${app}_VERSION}"
+.if defined(WITH_${app})
+APPLIST+= ${app}
+PLISTS+= ${PKGDIR}/pkg-plist.${app}
+${app}_WRKSRC= ${EMBASSY_WRKDIR}/${app}-${${app}_VERSION}
+${app}_DISTFILE=${app}-${${app}_VERSION}${EXTRACT_SUFX}
+DISTFILES+= ${${app}_DISTFILE}
+.endif
+.endfor
+PLISTS+= ${PKGDIR}/pkg-plist
DOC_DIRS= doc/manuals doc/tutorials doc/programs/text doc/programs/html
+pre-fetch:
+ @ ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.${PORTNAME}
+
+post-extract:
+.for app in ${APPLIST}
+ @ ${MKDIR} ${EMBASSY_WRKDIR}
+ @ cd ${EMBASSY_WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \
+ ${_DISTDIR}/${${app}_DISTFILE} ${EXTRACT_AFTER_ARGS}
+ @ if [ `id -u` = 0 ]; then \
+ ${CHMOD} -R ug-s ${${app}_WRKSRC}; \
+ ${CHOWN} -R 0:0 ${${app}_WRKSRC}; \
+ fi
+.endfor
+
post-patch:
.for DIR in ${DOC_DIRS}
@ ${PERL} -pi.orig -e \
@@ -33,11 +75,41 @@ post-patch:
${WRKSRC}/${DIR}/Makefile.in
.endfor
+post-configure:
+.for app in ${APPLIST}
+ @ (cd ${${app}_WRKSRC} && \
+ ${SETENV} CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ INSTALL="/usr/bin/install -c -o ${BINOWN} -g ${BINGRP}" \
+ INSTALL_DATA="${INSTALL_DATA}" \
+ INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
+ INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
+ ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS})
+.endfor
+
+post-build:
+.for app in ${APPLIST}
+ @ (cd ${${app}_WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} \
+ ${MAKE_ARGS})
+.endfor
+
+pre-install:
+ @ ${CAT} ${PLISTS} > ${PLIST}
+
post-install:
+.for app in ${APPLIST}
+ @ (cd ${${app}_WRKSRC} && \
+ ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} \
+ ${MAKE_ARGS} ${INSTALL_TARGET})
+.endfor
@ ${INSTALL_DATA} ${WRKSRC}/emboss/acd/emboss.default \
${PREFIX}/etc/emboss.default.sample
.if !defined(BATCH)
@ ${CAT} ${PKGMESSAGE}
.endif
+post-clean:
+ @ ${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc
+
.include <bsd.port.mk>
diff --git a/biology/emboss/distinfo b/biology/emboss/distinfo
index f2d8f7e3d2ef..72b54429db4b 100644
--- a/biology/emboss/distinfo
+++ b/biology/emboss/distinfo
@@ -1 +1,4 @@
-MD5 (EMBOSS-1.7.0.tar.gz) = 61758add8d2d6bdb9e043fe93c37f341
+MD5 (emboss/EMBOSS-1.7.0.tar.gz) = 61758add8d2d6bdb9e043fe93c37f341
+MD5 (emboss/PHYLIP-3.573c.tar.gz) = e41b0552196e9b7b46ca0e9563e9384a
+MD5 (emboss/MSE-0.0.4.tar.gz) = 6ba124ff85465be3541d2e250248cd3d
+MD5 (emboss/TOPO-0.1.tar.gz) = 687c6ca8ba945520b11058ba28ee880d
diff --git a/biology/emboss/pkg-descr b/biology/emboss/pkg-descr
index 3b212c44b033..37865f30eebe 100644
--- a/biology/emboss/pkg-descr
+++ b/biology/emboss/pkg-descr
@@ -4,12 +4,21 @@ analysis. EMBOSS is produced by the European Molecular Biology Network
(EMBnet - http://www.embnet.org/).
All EMBOSS tools are all built around the same set of core libraries - AJAX
-and NUCLEUS - and therefore share a unified user interface and a uniform
-sequence addressing methodology.
+and NUCLEUS - and therefore share a unified user interface, have similar
+"look and feel", and implement a uniform sequence addressing methodology.
The various components of EMBOSS are distributed under the GPL, except the
core libraries which are under the LGPL.
+EMBASSY packages are third party applications which have been integrated with
+the EMBOSS suite, but which are not included in the base EMBOSS distribution
+for licensing or other reasons. This port includes the three currently
+available EMBASSY applications - MSE, PHYLIP and TOPO. During an interactive
+install the user will be asked to choose which of these will be installed
+(default: all). Note that the EMBASSY version of PHYLIP should not clash
+with the standalone Phylip application due to the fact that its binaries have
+been renamed.
+
WWW: http://www.uk.embnet.org/Software/EMBOSS/
-- Johann Visagie <johann@egenetics.com>
diff --git a/biology/emboss/scripts/configure.emboss b/biology/emboss/scripts/configure.emboss
new file mode 100644
index 000000000000..a17b495c50b1
--- /dev/null
+++ b/biology/emboss/scripts/configure.emboss
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+if [ -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc ]; then
+ exit
+fi
+
+if [ "${BATCH}" ]; then
+ set \"MSE\" \"PHYLIP\" \"TOPO\"
+else
+ /usr/bin/dialog --title "EMBOSS: EMBASSY applications" --clear \
+ --checklist "\n\
+These third party applications have been adapted to
+function as part of EMBOSS.\n
+Please select EMBASSY applications to install:" -1 -1 3 \
+MSE "v${MSE_VERSION} - Phylogeny inference" ON \
+PHYLIP "v${PHYLIP_VERSION} - Sequence editor" ON \
+TOPO "v${TOPO_VERSION} - Transmembrane display" ON \
+2> /tmp/checklist.tmp.$$
+
+ retval=$?
+
+ if [ -s /tmp/checklist.tmp.$$ ]; then
+ set `cat /tmp/checklist.tmp.$$`
+ fi
+ ${RM} -f /tmp/checklist.tmp.$$
+
+ case $retval in
+ 0)
+ if [ -z "$*" ]; then
+ echo "Nothing selected"
+ fi
+ ;;
+ 1)
+ echo "Cancel pressed."
+ exit 1
+ ;;
+ esac
+fi
+
+${MKDIR} ${WRKDIRPREFIX}${CURDIR}
+exec > ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
+
+while [ "$1" ]; do
+ case $1 in
+ \"MSE\")
+ echo "WITH_MSE= yes"
+ ;;
+ \"PHYLIP\")
+ echo "WITH_PHYLIP= yes"
+ ;;
+ \"TOPO\")
+ echo "WITH_TOPO= yes"
+ ;;
+ *)
+ echo "Invalid option(s): $*" > /dev/stderr
+ ${RM} -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
+ exit 1
+ ;;
+ esac
+ shift
+done