Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Nov 2000 15:14:00 +0200
From:      johann@egenetics.com
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/22818: Port update: biology/emboss (MAINTAINER)
Message-ID:  <E13vJQu-000A6M-00@fling.sanbi.ac.za>

next in thread | raw e-mail | index | archive | help

>Number:         22818
>Category:       ports
>Synopsis:       Port update: biology/emboss (MAINTAINER)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 13 05:20:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Johann Visagie
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
Electric Genetics
>Environment:
>Description:
- This is a fairly extensive rework of this port.
- "EMBASSY" applications are third party tools which have been adapted to
  function as part of EMBOSS, but which are not included with the base EMBOSS
  distribution for licensing or other reasons.  This new version of the
  EMBOSS port now contains the three current EMBASSY applications as well,
  and during installation the user is presented with a dialog(1) menu to
  choose which of these should be isntalled.
- Parts of this has been liberally plagiarised from the www/mod_php4 and
  textprox/py-xml ports.  :-)
- New files:
  - pkg-plist.MSE
  - pkg-plist.PHYLIP
  - pkg-plist.TOPO
  - scripts/configure.emboss
- Mainly tested on 5.0-CURRENT.  One of the EMBASSY tools - MSE - fails to
  compile on 3-STABLE and earlier systems due to ncurses version
  incompatiblities.  I'm still working on a workaround.
>How-To-Repeat:
>Fix:
diff -ruN emboss.bak/Makefile emboss/Makefile
--- emboss.bak/Makefile	Mon Nov 13 14:50:54 2000
+++ emboss/Makefile	Mon Nov 13 14:53:31 2000
@@ -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 @@
 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 @@
 	  ${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 -ruN emboss.bak/distinfo emboss/distinfo
--- emboss.bak/distinfo	Mon Nov 13 14:50:54 2000
+++ emboss/distinfo	Wed Nov  1 16:22:48 2000
@@ -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 -ruN emboss.bak/pkg-descr emboss/pkg-descr
--- emboss.bak/pkg-descr	Mon Nov 13 14:50:54 2000
+++ emboss/pkg-descr	Mon Nov 13 14:50:24 2000
@@ -4,11 +4,20 @@
 (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/
 
diff -ruN emboss.bak/pkg-plist.MSE emboss/pkg-plist.MSE
--- emboss.bak/pkg-plist.MSE	Thu Jan  1 02:00:00 1970
+++ emboss/pkg-plist.MSE	Wed Nov  8 15:55:07 2000
@@ -0,0 +1,6 @@
+bin/mse
+lib/libckit.a
+lib/libckit.la
+lib/libckit.so
+lib/libckit.so.1
+share/EMBOSS/acd/mse.acd
diff -ruN emboss.bak/pkg-plist.PHYLIP emboss/pkg-plist.PHYLIP
--- emboss.bak/pkg-plist.PHYLIP	Thu Jan  1 02:00:00 1970
+++ emboss/pkg-plist.PHYLIP	Wed Nov  8 15:55:26 2000
@@ -0,0 +1,48 @@
+bin/eclique
+bin/econsense
+bin/econtml
+bin/econtrast
+bin/ednacomp
+bin/ednadist
+bin/ednainvar
+bin/ednaml
+bin/ednamlk
+bin/ednapars
+bin/ednapenny
+bin/edollop
+bin/edolpenny
+bin/efactor
+bin/efitch
+bin/egendist
+bin/ekitsch
+bin/emix
+bin/eneighbor
+bin/epenny
+bin/eprotdist
+bin/eprotpars
+bin/erestml
+bin/eseqboot
+share/EMBOSS/acd/eclique.acd
+share/EMBOSS/acd/econsense.acd
+share/EMBOSS/acd/econtml.acd
+share/EMBOSS/acd/econtrast.acd
+share/EMBOSS/acd/ednacomp.acd
+share/EMBOSS/acd/ednadist.acd
+share/EMBOSS/acd/ednainvar.acd
+share/EMBOSS/acd/ednaml.acd
+share/EMBOSS/acd/ednamlk.acd
+share/EMBOSS/acd/ednapars.acd
+share/EMBOSS/acd/ednapenny.acd
+share/EMBOSS/acd/edollop.acd
+share/EMBOSS/acd/edolpenny.acd
+share/EMBOSS/acd/efactor.acd
+share/EMBOSS/acd/efitch.acd
+share/EMBOSS/acd/egendist.acd
+share/EMBOSS/acd/ekitsch.acd
+share/EMBOSS/acd/emix.acd
+share/EMBOSS/acd/eneighbor.acd
+share/EMBOSS/acd/epenny.acd
+share/EMBOSS/acd/eprotdist.acd
+share/EMBOSS/acd/eprotpars.acd
+share/EMBOSS/acd/erestml.acd
+share/EMBOSS/acd/eseqboot.acd
diff -ruN emboss.bak/pkg-plist.TOPO emboss/pkg-plist.TOPO
--- emboss.bak/pkg-plist.TOPO	Thu Jan  1 02:00:00 1970
+++ emboss/pkg-plist.TOPO	Wed Nov  8 15:55:14 2000
@@ -0,0 +1,2 @@
+bin/topo
+share/EMBOSS/acd/topo.acd
diff -ruN emboss.bak/scripts/configure.emboss emboss/scripts/configure.emboss
--- emboss.bak/scripts/configure.emboss	Thu Jan  1 02:00:00 1970
+++ emboss/scripts/configure.emboss	Mon Nov 13 13:53:34 2000
@@ -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

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E13vJQu-000A6M-00>