summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Fisette <ribosome@gentoo.org>2004-12-23 21:59:25 +0000
committerOlivier Fisette <ribosome@gentoo.org>2004-12-23 21:59:25 +0000
commit7075792e7fc528d91f6e3fc1970b6a6a9b3cf2c0 (patch)
treeaee366e7e428509f647a3fb50730a7d4344b3e3f /sci-biology/staden
parent~amd64 (Manifest recommit) (diff)
downloadgentoo-2-7075792e7fc528d91f6e3fc1970b6a6a9b3cf2c0.tar.gz
gentoo-2-7075792e7fc528d91f6e3fc1970b6a6a9b3cf2c0.tar.bz2
gentoo-2-7075792e7fc528d91f6e3fc1970b6a6a9b3cf2c0.zip
Moving app-sci/staden to sci-biology
Diffstat (limited to 'sci-biology/staden')
-rw-r--r--sci-biology/staden/ChangeLog74
-rw-r--r--sci-biology/staden/files/digest-staden-1.4.1-r73
-rw-r--r--sci-biology/staden/files/staden-1.4.1-emboss.patch40
-rw-r--r--sci-biology/staden/files/staden-1.4.1-env8
-rw-r--r--sci-biology/staden/files/staden-1.4.1-gap4.patch11
-rw-r--r--sci-biology/staden/files/staden-1.4.1-getopt.patch12
-rw-r--r--sci-biology/staden/files/staden-1.4.1-iwidgetsrc.new16
-rw-r--r--sci-biology/staden/files/staden-1.4.1-mutscan.patch15
-rw-r--r--sci-biology/staden/files/staden-1.4.1-prefinish.patch17
-rw-r--r--sci-biology/staden/files/staden-1.4.1-staden_help.new5
-rw-r--r--sci-biology/staden/files/staden-1.4.1-tk_utils.patch13
-rw-r--r--sci-biology/staden/files/staden-1.4.1-top.patch11
-rw-r--r--sci-biology/staden/files/staden-1.4.1-tracediff.patch15
-rw-r--r--sci-biology/staden/metadata.xml9
-rw-r--r--sci-biology/staden/staden-1.4.1-r7.ebuild319
15 files changed, 568 insertions, 0 deletions
diff --git a/sci-biology/staden/ChangeLog b/sci-biology/staden/ChangeLog
new file mode 100644
index 000000000000..25101c3c6597
--- /dev/null
+++ b/sci-biology/staden/ChangeLog
@@ -0,0 +1,74 @@
+# ChangeLog for app-sci/staden
+# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/staden/ChangeLog,v 1.1 2004/12/23 21:59:25 ribosome Exp $
+
+ 14 Oct 2004; Olivier Fisette <ribosome@gentoo.org> staden-1.4.1-r7.ebuild:
+ Use gcc-getCC/CXX from gcc.eclass rather than ${CC/CXX}.
+
+*staden-1.4.1-r7 (22 Sep 2004)
+
+ 22 Sep 2004; Olivier Fisette <ribosome@gentoo.org> -staden-1.4.1-r6.ebuild,
+ +staden-1.4.1-r7.ebuild:
+ Fixed the last "-fPIC" problem in mutlib.
+
+ 18 Sep 2004; Olivier Fisette <ribosome@gentoo.org> -staden-1.4.1-r5.ebuild,
+ staden-1.4.1-r6.ebuild:
+ Removing EMBOSS support until some issues are fixed.
+
+ 18 Sep 2004; Olivier Fisette <ribosome@gentoo.org> staden-1.4.1-r6.ebuild:
+ Fixed an issue with the EMBOSS tcl/tk GUIs.
+
+ 18 Sep 2004; Olivier Fisette <ribosome@gentoo.org> staden-1.4.1-r6.ebuild:
+ Fixed issues with "spin_emboss".
+
+*staden-1.4.1-r6 (18 Sep 2004)
+
+ 18 Sep 2004; Olivier Fisette <ribosome@gentoo.org>
+ files/staden-1.4.1-emboss.patch, +staden-1.4.1-r6.ebuild:
+ Documentation builds from souce. Updated course material. Updated external
+ io_lib. Fixed some library issues.
+
+*staden-1.4.1-r5 (17 Sep 2004)
+
+ 17 Sep 2004; Olivier Fisette <ribosome@gentoo.org> -staden-1.4.1-r4.ebuild,
+ +staden-1.4.1-r5.ebuild:
+ Now compiles with -fPIC.
+
+*staden-1.4.1-r4 (16 Sep 2004)
+
+ 16 Sep 2004; Olivier Fisette <ribosome@gentoo.org>
+ +files/staden-1.4.1-emboss.patch, -staden-1.4.1-r3.ebuild,
+ +staden-1.4.1-r4.ebuild:
+ Patched the "create_emboss_files" program to allow more flexibility.
+
+*staden-1.4.1-r3 (16 Sep 2004)
+
+ 16 Sep 2004; Olivier Fisette <ribosome@gentoo.org> -staden-1.4.1-r2.ebuild,
+ +staden-1.4.1-r3.ebuild:
+ Fixed problem with EMBOSS GUIs failing to compile.
+
+*staden-1.4.1-r2 (16 Sep 2004)
+
+ 16 Sep 2004; Olivier Fisette <ribosome@gentoo.org>
+ +files/staden-1.4.1-top.patch, -staden-1.4.1-r1.ebuild,
+ +staden-1.4.1-r2.ebuild:
+ Provide prebuilt docs to avoid doc compilation problems and reduce the number
+ of dependencies. Made the course installation optional with the "doc" "USE"
+ flag.
+
+*staden-1.4.1-r1 (15 Sep 2004)
+
+ 15 Sep 2004; Olivier Fisette <ribosome@gentoo.org> +staden-1.4.1-r1.ebuild,
+ -staden-1.4.1.ebuild:
+ Fixed the staden_help program.
+
+*staden-1.4.1 (14 Sep 2004)
+
+ 14 Sep 2004; Olivier Fisette <ribosome@gentoo.org> +metadata.xml,
+ +files/staden-1.4.1-env, +files/staden-1.4.1-gap4.patch,
+ +files/staden-1.4.1-getopt.patch, +files/staden-1.4.1-iwidgetsrc.new,
+ +files/staden-1.4.1-mutscan.patch, +files/staden-1.4.1-prefinish.patch,
+ +files/staden-1.4.1-tk_utils.patch, +files/staden-1.4.1-tracediff.patch,
+ +staden-1.4.1.ebuild:
+ Initial import.
+
diff --git a/sci-biology/staden/files/digest-staden-1.4.1-r7 b/sci-biology/staden/files/digest-staden-1.4.1-r7
new file mode 100644
index 000000000000..f11f83bbe989
--- /dev/null
+++ b/sci-biology/staden/files/digest-staden-1.4.1-r7
@@ -0,0 +1,3 @@
+MD5 a5588b112df2071d17f256e94777def5 staden-src-rel-1-4-1.tar.gz 21889519
+MD5 d6e739e823bff99e61007ded4cb71f79 course-1.1.tar.gz 5271133
+MD5 9550e01cd954c3f672d2a500e051fa53 staden-1.4.1-missing-doc.tar.bz2 63825
diff --git a/sci-biology/staden/files/staden-1.4.1-emboss.patch b/sci-biology/staden/files/staden-1.4.1-emboss.patch
new file mode 100644
index 000000000000..29639cd6c929
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-emboss.patch
@@ -0,0 +1,40 @@
+--- src/spin2_emboss/create_emboss_files.tcl.old 2003-06-09 07:25:27.000000000 -0400
++++ src/spin2_emboss/create_emboss_files.tcl 2004-09-18 14:18:53.782043416 -0400
+@@ -2,15 +2,15 @@
+ # dialogue for each program along with the necessary menu definitions.
+ #
+ # These will be written to
+-# $STADENROOT/lib/spin2_emboss/acdtcl/*
+-# $STADENROOT/tables/emboss_menu
++# $OUTDIR/lib/spin2_emboss/acdtcl/*
++# $OUTDIR/emboss_menu
+ #
+ # To run it, simply run this script. NOTE that it requires DISPLAY to be set
+ # correctly, even though no graphics are obvious. This is because certain
+ # widgets are temporarily created in order to query their pathnames.
+
+-set acdtcl_dir acdtcl
+-set menu_file ../../tables/emboss_menu
++set acdtcl_dir $env(OUTDIR)
++set menu_file $env(OUTDIR)/emboss_menu
+
+ tkinit
+ wm withdraw .
+@@ -53,7 +53,7 @@
+ if {$errorCode != "NONE"} {
+ puts "ERROR: could not parse"
+ puts $errorInfo
+- continue
++ continue
+ }
+ if {[string match "lappend *e_menu(*" $menu_line] || \
+ [string match "set *e_prog(*" $menu_line]} {
+@@ -85,7 +85,7 @@
+ }
+ append out [list add_cascade "Emboss.$i"] { $::EMBOSS::init 4} \n
+ set e_casc(Emboss.$i) 1
+-
++
+ if {[array names e_menu $prefix$i.*] != ""} {
+ set out [_do_emboss_menu $out $prefix$i.]
+ }
diff --git a/sci-biology/staden/files/staden-1.4.1-env b/sci-biology/staden/files/staden-1.4.1-env
new file mode 100644
index 000000000000..3c2697f6dc3a
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-env
@@ -0,0 +1,8 @@
+STADENROOT=/opt/staden
+MACHINE=linux
+STADTABL=/opt/staden/tables
+STADLIB=/opt/staden/lib
+PATH=/opt/staden/linux-bin
+LD_LIBRARY_PATH=/opt/staden/lib/linux-binaries
+TCL_LIBRARY=/opt/staden/lib/tcl
+TK_LIBRARY=/opt/staden/lib/tk
diff --git a/sci-biology/staden/files/staden-1.4.1-gap4.patch b/sci-biology/staden/files/staden-1.4.1-gap4.patch
new file mode 100644
index 000000000000..2a7773af60cf
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-gap4.patch
@@ -0,0 +1,11 @@
+--- src/gap4/Makefile.old 2003-12-01 12:30:19.000000000 -0500
++++ src/gap4/Makefile 2004-09-12 21:52:57.275756696 -0400
+@@ -184,7 +184,7 @@
+ $(MKDEFL) $@ $(GAPOBJS)
+
+ $(O)/gap4sh: $(GAPOBJS) $(GAPOBJS2)
+- $(CXX) $(LDEXEFLAG)$@$(EXE_SUFFIX) $(GAPOBJS) $(GAPOBJS2) $(GAP4SH_LIBS) $(CXX_DEP) $(F77_DEP)
++ $(CXX) $(LDEXEFLAG)$@$(EXE_SUFFIX) $(GAPOBJS) $(GAPOBJS2) $(GAP4SH_LIBS) $(CXX_DEP) $(F77_DEP) -L../lib/linux-binaries
+
+ COPYDBOBJS=\
+ $(GAPDB_LOW) \
diff --git a/sci-biology/staden/files/staden-1.4.1-getopt.patch b/sci-biology/staden/files/staden-1.4.1-getopt.patch
new file mode 100644
index 000000000000..e3aa06dcc137
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-getopt.patch
@@ -0,0 +1,12 @@
+--- src/Misc/misc.h.old 2003-06-09 07:24:36.000000000 -0400
++++ src/Misc/misc.h 2004-09-10 10:37:54.593326848 -0400
+@@ -7,8 +7,8 @@
+
+ #include "os.h"
+ #include "xalloc.h"
++#include <getopt.h>
+
+-extern int getopt( int argc, char* const argv[], const char* optstring );
+ extern int is_directory(char * fn);
+ extern int is_file(char * fn);
+ extern int file_exists(char * fn);
diff --git a/sci-biology/staden/files/staden-1.4.1-iwidgetsrc.new b/sci-biology/staden/files/staden-1.4.1-iwidgetsrc.new
new file mode 100644
index 000000000000..1beae9513b51
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-iwidgetsrc.new
@@ -0,0 +1,16 @@
+set tcl_pkgPath ""
+#if {"$tcl_platform(platform)" == "windows"} {
+# load_package itcl33
+# load_package itk33
+#} else {
+load_package itcl3.3
+load_package itk3.3
+#}
+load_package iwidgets
+# Can't use package require as it will still attempt to use /usr/local copy.
+#namespace import itk::*
+#source $env(STADLIB)/itcl3.3/itcl.tcl
+source $env(STADLIB)/iwidgets/iwidgets.tcl
+package require Iwidgets
+namespace import itcl::*
+namespace import itk::*
diff --git a/sci-biology/staden/files/staden-1.4.1-mutscan.patch b/sci-biology/staden/files/staden-1.4.1-mutscan.patch
new file mode 100644
index 000000000000..d768bf2f39a2
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-mutscan.patch
@@ -0,0 +1,15 @@
+--- src/mutscan/Makefile.old 2003-06-09 07:25:30.000000000 -0400
++++ src/mutscan/Makefile 2004-09-12 22:04:11.490260512 -0400
+@@ -19,7 +19,11 @@
+ HLIBS=\
+ $(TEXTUTILS_LIB) \
+ $(MUT_LIB) \
+- $(IOLIB_LIB)
++ $(IOLIB_LIB) \
++ -lmisc \
++ -lseq_utils \
++ -ltk_utils \
++ -L../lib/linux-binaries
+
+ OBJSD = \
+ $(MUTSCANBIN)/main.o \
diff --git a/sci-biology/staden/files/staden-1.4.1-prefinish.patch b/sci-biology/staden/files/staden-1.4.1-prefinish.patch
new file mode 100644
index 000000000000..bf99154c8032
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-prefinish.patch
@@ -0,0 +1,17 @@
+--- src/prefinish/Makefile.old 2004-01-14 05:29:14.000000000 -0500
++++ src/prefinish/Makefile 2004-09-12 21:50:01.014552472 -0400
+@@ -53,7 +53,13 @@
+ $(GAP_LIB) \
+ $(TEXTUTILS_LIB) \
+ $(MISC_LIB) \
+- $(TCL_LIB)
++ $(TCL_LIB) \
++ -lmutlib \
++ -lprimer3 \
++ -ltk_utils \
++ -lread \
++ -lseq_utils \
++ -L../lib/linux-binaries
+
+ ISOBJS=\
+ $(O)/insert_size_dist.o
diff --git a/sci-biology/staden/files/staden-1.4.1-staden_help.new b/sci-biology/staden/files/staden-1.4.1-staden_help.new
new file mode 100644
index 000000000000..4e371d848ce6
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-staden_help.new
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+[ -z ${BROWSER} ] \
+ && echo 'staden_help: "BROWSER" environment variable not set.' && exit 1 \
+ || ${BROWSER} ${STADENROOT}/doc/documentation.html
diff --git a/sci-biology/staden/files/staden-1.4.1-tk_utils.patch b/sci-biology/staden/files/staden-1.4.1-tk_utils.patch
new file mode 100644
index 000000000000..b1ffa2e6e4b9
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-tk_utils.patch
@@ -0,0 +1,13 @@
+--- src/tk_utils/Makefile.old 2003-06-09 09:54:59.000000000 -0400
++++ src/tk_utils/Makefile 2004-09-12 19:50:18.367480800 -0400
+@@ -97,7 +97,9 @@
+
+ STASH_LIBS = \
+ $(TKUTILS_LIB) \
+- $(TK_LIB)
++ $(TK_LIB) \
++ $(IOLIB_LIB) \
++ $(MISC_LIB)
+
+ $(TKUTILSBIN)/stash: $(STASH_OBJS)
+ $(CLD) $(LDEXEFLAG)$@$(EXE_SUFFIX) $(SUBSYSTEMWIN) $(STASH_OBJS) $(STASH_LIBS) $(LIBSC)
diff --git a/sci-biology/staden/files/staden-1.4.1-top.patch b/sci-biology/staden/files/staden-1.4.1-top.patch
new file mode 100644
index 000000000000..d5e062aaef87
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-top.patch
@@ -0,0 +1,11 @@
+--- Makefile.old 2003-06-24 11:44:29.000000000 -0400
++++ Makefile 2004-09-15 23:38:22.194325168 -0400
+@@ -30,8 +30,6 @@
+
+ all:
+ cd src; $(MAKE) all
+- cd doc; $(MAKE) all
+- cd course; $(MAKE) all
+
+ install:
+ cd src; $(MAKE) $@
diff --git a/sci-biology/staden/files/staden-1.4.1-tracediff.patch b/sci-biology/staden/files/staden-1.4.1-tracediff.patch
new file mode 100644
index 000000000000..ae24721986d0
--- /dev/null
+++ b/sci-biology/staden/files/staden-1.4.1-tracediff.patch
@@ -0,0 +1,15 @@
+--- src/tracediff/Makefile.old 2003-06-09 07:25:23.000000000 -0400
++++ src/tracediff/Makefile 2004-09-12 21:58:06.157799488 -0400
+@@ -19,7 +19,11 @@
+ HLIBS=\
+ $(TEXTUTILS_LIB) \
+ $(MUT_LIB) \
+- $(IOLIB_LIB)
++ $(IOLIB_LIB) \
++ -lmisc \
++ -lseq_utils \
++ -ltk_utils \
++ -L../lib/linux-binaries
+
+ OBJSD = \
+ $(TRACEDIFFBIN)/main.o \
diff --git a/sci-biology/staden/metadata.xml b/sci-biology/staden/metadata.xml
new file mode 100644
index 000000000000..e9391a41a838
--- /dev/null
+++ b/sci-biology/staden/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ribosome@gentoo.org</email>
+ <name>Olivier Fisette</name>
+ </maintainer>
+ <herd>sci</herd>
+</pkgmetadata>
diff --git a/sci-biology/staden/staden-1.4.1-r7.ebuild b/sci-biology/staden/staden-1.4.1-r7.ebuild
new file mode 100644
index 000000000000..21b96ada6b0f
--- /dev/null
+++ b/sci-biology/staden/staden-1.4.1-r7.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/staden/staden-1.4.1-r7.ebuild,v 1.1 2004/12/23 21:59:25 ribosome Exp $
+
+inherit eutils gcc
+
+DESCRIPTION="The Staden Package - Biological sequence handling and analysis"
+HOMEPAGE="http://${PN}.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}-src-rel-${PV//./-}.tar.gz
+ doc? mirror://sourceforge/${PN}/course-1.1.tar.gz
+ mirror://gentoo/${P}-missing-doc.tar.bz2"
+LICENSE="${PN}"
+
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="doc"
+
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ media-gfx/imagemagick
+ virtual/emacs
+ virtual/tetex"
+
+RDEPEND="app-shells/ksh
+ dev-lang/tcl
+ dev-lang/tk
+ dev-libs/io_lib
+ =dev-tcltk/itcl-3.2*
+ dev-tcltk/iwidgets
+ media-libs/libpng
+ virtual/x11"
+
+S=${WORKDIR}/${PN}-src-rel-${PV//./-}
+
+pkg_setup() {
+ # Check for a Fortran compiler.
+ if ! which ${F77:-g77} &> /dev/null; then
+ echo
+ eerror "The Fortran compiler \"${F77:-g77}\" could not be found on your system."
+ if [ -z ${F77} ] || [ ${F77} = g77 ]; then
+ eerror 'Please reinstall "sys-devel/gcc" with the "f77" "USE" flag enabled.'
+ else
+ eerror 'Please make sure the variable ${F77} is set to the name of a valid'
+ eerror 'Fortran compiler installed on your system. Make sure this executable'
+ eerror 'is in a directory included in "PATH", and that the corresponding'
+ eerror '"USE" flag is set if applicable (for example "ifc" if you use the'
+ eerror 'Intel Fortran Compiler).'
+ fi
+ die "Fortran compiler not found."
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # The following Makefiles are more or less broken. Libraries are missing,
+ # or their directories are not included, or the variables are not set
+ # correctly and must be replaced by hardcoded library names. The
+ # top-level Makefile is also changed to avoid compiling documentation
+ # (which is provided prebuilt because of numerous compilation/dead links
+ # problems).
+ cd ${S}
+ einfo "Patching Staden Package Makefiles:"
+ epatch ${FILESDIR}/${P}-top.patch
+ epatch ${FILESDIR}/${P}-gap4.patch
+ epatch ${FILESDIR}/${P}-mutscan.patch
+ epatch ${FILESDIR}/${P}-prefinish.patch
+ epatch ${FILESDIR}/${P}-tk_utils.patch
+ epatch ${FILESDIR}/${P}-tracediff.patch
+ cd ${S}/src/mk
+ # Remove the "-fpic" flag. This will be replaced by "-fPIC".
+ sed -i -e 's/SHLIB_CFLAGS = -fpic/SHLIB_CFLAGS = /' linux.mk \
+ && einfo "Successfully applied sed script to patch linux.mk." \
+ || eerror "Failed to apply sed script to patch linux.mk."
+ cd ${S}/src/mutlib
+ cd ${S}
+ echo
+
+
+ einfo "Patching Staden Package code:"
+
+ # "getopt" is incorrectly included as an extern (for Win32 compatibility).
+ epatch ${FILESDIR}/${P}-getopt.patch
+
+ # The "create_emboss_files" program needs more flexibility to respect the
+ # Gentoo FSH.
+ epatch ${FILESDIR}/${P}-emboss.patch
+
+ # The original iwidgetsrc crashes...
+ einfo 'Replacing broken iwidgetsrc'
+ cp ${FILESDIR}/${P}-iwidgetsrc.new ${S}/tables/iwidgetsrc
+
+ # Netscape is not a good default browser (security masked in Portage).
+ # Use documentation.html rather than staden_home.html as the top-level
+ # hypertext documentation file.
+ einfo 'Replacing old staden_help script'
+ cp ${FILESDIR}/${P}-staden_help.new ${S}/src/scripts/staden_help
+ chmod +x ${S}/src/scripts/staden_help
+ echo
+
+ # The documentation building process is broken on Gentoo, mainly because
+ # incorrect program locations are assumed.
+ einfo "Patching Staden Package documentation build system:"
+
+ # Documentation build process cannot find "update-nodes.el".
+ cd ${S}/doc/manual/tools
+ sed -i -e 's%emacs -batch $1 -l ${DOCDIR:-.}/tools/update-nodes.el%emacs -batch $1 -l ${DOCDIR:-..}/manual/tools/update-nodes.el%' update-nodes \
+ && einfo "Successfully applied sed script to patch update-nodes." \
+ || eerror "Failed to apply sed script to patch update-nodes."
+
+ # Perl scripts search for "pearl" in "/usr/local".
+ for SCRIPT in *.pl texi2html; do
+ sed -i -e 's%/usr/local/bin/perl%/usr/bin/perl%' ${SCRIPT} \
+ && einfo "Successfully applied sed script to patch ${SCRIPT}." \
+ || eerror "Failed to apply sed script to patch ${SCRIPT}."
+ done
+
+ # The "convert" tool from Imagemagick is searched for in "/usr/X11R6".
+ sed -i -e 's%/usr/X11R6/bin/convert%/usr/bin/convert%' make_ps \
+ && einfo "Successfully applied sed script to patch make.ps." \
+ || eerror "Failed to apply sed script to patch make.ps."
+
+ # Solves issues with images in the exercise* texi files.
+ cd ${S}/course/texi
+ for FILE in exercise*.texi; do
+ sed -i -e 's/,,8in}/,,8in,,eps}/' ${FILE} && \
+ sed -i -e 's/,6in}/,6in,,,eps}/' ${FILE} \
+ && einfo "Successfully applied sed scripts to patch ${FILE}." \
+ || eerror "Failed to apply sed scripts to patch ${FILE}."
+ done
+ echo
+
+ # "CFLAGS" and "FFLAGS" need to be set to the user's values in the build
+ # system global Makefile. We also want only "-fPIC" shared libraries.
+ einfo "Applying user-defined compilation/linking flags:"
+ cd ${S}/src/mk
+ sed -i -e "s/COPT = -O2 -g3 -DNDEBUG/COPT = ${CFLAGS:-"-O2 -g3 -DNDEBUG"} -fPIC/" global.mk \
+ && einfo "Successfully applied sed script to set CFLAGS." \
+ || eerror "Failed to apply sed script to set CFLAGS."
+ sed -i -e "s/FOPT = -O2 -g3 -DNDEBUG/FOPT = ${FFLAGS:-"-O2 -g3 -DNDEBUG"} -fPIC/" global.mk \
+ && einfo "Successfully applied sed script to set FFLAGS." \
+ || eerror "Failed to apply sed script to set FFLAGS."
+}
+
+src_compile() {
+ # "MACHINE", "{STADEN,SRC}ROOT" and "JOB" are mandatory arguments to the
+ # Staden Package build process. "O" is redefined on the command line to
+ # avoid a conflict between Portage and the Staden Package build system,
+ # which both use this variable. (In Portage, its value is the directory
+ # containing the current ebuild, while in the Staden Package build system
+ # it is set to the directory containing the compiler object files.)
+ # Compiler program names also need to be specified to override the
+ # incorrect hardcoded ones.
+
+ # Compile executables and libraries.
+ make \
+ STADENROOT="${S}" \
+ SRCROOT="${S}/src" \
+ MACHINE="linux" \
+ JOB="all" \
+ O="linux-binaries" \
+ CC=$(gcc-getCC) \
+ CXX=$(gcc-getCXX) \
+ F77=${F77:-g77} \
+ || die "Package compilation failed."
+
+ # Build documentation.
+ cd ${S}/doc
+ make \
+ STADENROOT="${S}" \
+ SRCROOT="${S}/src" \
+ MACHINE="linux" \
+ JOB="all" \
+ O="linux-binaries" \
+ CC=$(gcc-getCC) \
+ CXX=$(gcc-getCXX) \
+ F77=${F77:-g77} \
+ || die "Package compilation failed."
+
+ # Moves executables in "${S}/linux-bin" and libraries to ${S}/lib.
+ cd ${S}
+ make \
+ STADENROOT="${S}" \
+ SRCROOT="${S}/src" \
+ MACHINE="linux" \
+ JOB="all" \
+ O="linux-binaries" \
+ install || die "Package pre-installation failed."
+
+ # Remove Makefiles from directories which will be manually installed.
+ rm ${S}/lib/Makefile
+ rm ${S}/demo/Makefile
+ rm ${S}/tables/Makefile
+ rm ${S}/userdata/Makefile
+
+ # Remove trashed "linux-binaries" file and replace it by a directory
+ # containing the appropriate libraries. Remove libread since an updated
+ # version is included in "dev-libs/io_lib".
+ rm ${S}/lib/linux-binaries
+ rm ${S}/src/lib/linux-binaries/libread.so
+ mkdir ${S}/lib/linux-binaries
+ cp ${S}/src/lib/linux-binaries/* ${S}/lib/linux-binaries
+
+ # Delete the binaries already included in "dev-libs/io_lib".
+ for FILE in convert_trace \
+ extract_seq \
+ get_comment \
+ index_tar \
+ makeSCF \
+ scf_{dump,info,update} \
+ trace_dump; do
+ rm ${S}/linux-bin/${FILE}
+ done
+
+ # These won't be found if they are not symlinked in the lib dir.
+ ln -s /usr/$(get_libdir)/libitcl3.2.so ${S}/lib/itcl3.3/libitcl3.3.so
+ ln -s /usr/$(get_libdir)/libitk3.2.so ${S}/lib/itk3.3/libitk3.3.so
+
+ # Remove the prebuilt EMBOSS tcl/tk GUIs.
+ rm ${S}/tables/emboss_menu
+ rm -r ${S}/lib/spin2_emboss/acdtcl
+ rm -r ${S}/lib/spin_emboss/acdtcl
+
+ # Patch just built hypertext documentation.
+ cd ${S}/doc/manual
+ for FILE in *.html; do
+ sed -i -e 's%<a href="../staden_home.html"><img src="i/nav_home.gif" alt="home"></a>%%' ${FILE}
+ done
+ cd ${S}/doc/scripting_manual
+ for FILE in *.html; do
+ sed -i -e 's%<a href="../staden_home.html"><img src="i/nav_home.gif" alt="home"></a>%%' ${FILE}
+ done
+}
+
+src_install() {
+ # Executables and libraries
+ mkdir -p ${D}/opt/${PN}
+
+ for FILE in ${S}/src/lib/linux-binaries/*; do
+ dolib ${FILE}
+ done
+
+ mv ${S}/linux-bin ${D}/opt/${PN}/linux-bin
+ mv ${S}/lib ${D}/opt/${PN}/lib
+
+ # Shared files
+ mv ${S}/demo ${D}/opt/${PN}
+ mv ${S}/tables ${D}/opt/${PN}
+ mv ${S}/userdata ${D}/opt/${PN}
+
+ # "env" file for setting paths to Staden Package root, libraries, tables...
+ insinto /etc/env.d
+ newins ${FILESDIR}/${P}-env 27${PN}
+
+ # Basic documentation
+ insinto /opt/${PN}/doc
+ doins ${S}/{ChangeLog,doc/Acknowledgements}
+ newins ${S}/doc/emboss.txt README.emboss
+
+ # Man pages
+ doman ${S}/doc/manual/man/man*/*
+
+ # Hypertext documentation
+ insinto /opt/${PN}/doc/manual
+ doins ${S}/doc/manual/*unix*.{gif,html,index}
+ insinto /opt/${PN}/doc/scripting_manual
+ doins ${S}/doc/scripting_manual/*.html
+ insinto /opt/${PN}/doc/manual/i
+ doins ${S}/doc/manual/i/*
+ insinto /opt/${PN}/doc/scripting_manual/i
+ doins ${S}/doc/scripting_manual/i/*
+
+ # Missing hypertext documentation
+ insinto /opt/${PN}/doc
+ doins ${WORKDIR}/${P}-missing-doc/documentation.html
+ insinto /opt/${PN}/doc/misc
+ doins ${WORKDIR}/${P}-missing-doc/misc/*
+ insinto /opt/${PN}/doc/misc/i
+ doins ${S}/doc/manual/i/*
+
+ # Printable manuals and articles
+ insinto /opt/${PN}/doc
+ newins ${S}/doc/gkb547_gml.pdf Staden1998.pdf
+ newins ${S}/doc/manual/manual_unix.dvi manual.dvi
+ newins ${S}/doc/manual/manual_unix.ps manual.ps
+ newins ${S}/doc/manual/mini_unix.ps mini_manual.ps
+ newins ${S}/doc/scripting_manual/scripting.dvi scripting_manual.dvi
+ newins ${S}/doc/scripting_manual/scripting.ps scripting_manual.ps
+
+ # A short course in printable format, along with example data
+ if use doc; then
+ mkdir -p ${D}/opt/${PN}/course
+ mv ${WORKDIR}/course-1.1/data ${D}/opt/${PN}/course/data
+ insinto /opt/${PN}/course
+ doins ${WORKDIR}/course-1.1/README
+ newins ${WORKDIR}/course-1.1/unix_docs/mutation_talk.ppt course_mutation_detection_diapos.pdf
+ newins ${WORKDIR}/course-1.1/unix_docs/course_unix.pdf course_project_management.pdf
+ newins ${WORKDIR}/course-1.1/unix_docs/mutation_notes.pdf course_mutation_detection.pdf
+ fi
+}
+
+pkg_postinst() {
+ echo
+ ewarn 'Known issues:'
+ ewarn
+ ewarn 'The help browser integrated in the GUI applications reports missing'
+ ewarn 'files when following hyperlinks on the main documentation page. This'
+ ewarn 'seems to be a problem in the Staden Package help browser. You might'
+ ewarn 'want to use your favorite browser instead of the integrated one to'
+ ewarn 'read the documentation.'
+ ewarn
+ ewarn 'The GUI programs may crash when bringing up the font selection'
+ ewarn 'dialog. This problem is related to the presence of certain'
+ ewarn 'fonts in "FontPath". If you experience this problem, try using'
+ ewarn '"strace" to identify the problematic font(s) and either uninstall'
+ ewarn 'them or remove the directory they are in from "FontPath" by'
+ ewarn 'editing your X server configuration file.'
+ echo
+}