diff options
author | Olivier Fisette <ribosome@gentoo.org> | 2004-12-23 21:59:25 +0000 |
---|---|---|
committer | Olivier Fisette <ribosome@gentoo.org> | 2004-12-23 21:59:25 +0000 |
commit | 0452e053a6894ef58d6b5e0e0de088e7c65ff981 (patch) | |
tree | 0bdaa9d2df5aab364516d670b1450e1497d29db5 | |
parent | ~amd64 (diff) | |
download | historical-0452e053a6894ef58d6b5e0e0de088e7c65ff981.tar.gz historical-0452e053a6894ef58d6b5e0e0de088e7c65ff981.tar.bz2 historical-0452e053a6894ef58d6b5e0e0de088e7c65ff981.zip |
Moving app-sci/staden to sci-biology
-rw-r--r-- | sci-biology/staden/ChangeLog | 74 | ||||
-rw-r--r-- | sci-biology/staden/Manifest | 15 | ||||
-rw-r--r-- | sci-biology/staden/files/digest-staden-1.4.1-r7 | 3 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-emboss.patch | 40 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-env | 8 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-gap4.patch | 11 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-getopt.patch | 12 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-iwidgetsrc.new | 16 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-mutscan.patch | 15 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-prefinish.patch | 17 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-staden_help.new | 5 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-tk_utils.patch | 13 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-top.patch | 11 | ||||
-rw-r--r-- | sci-biology/staden/files/staden-1.4.1-tracediff.patch | 15 | ||||
-rw-r--r-- | sci-biology/staden/metadata.xml | 9 | ||||
-rw-r--r-- | sci-biology/staden/staden-1.4.1-r7.ebuild | 319 |
16 files changed, 583 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/Manifest b/sci-biology/staden/Manifest new file mode 100644 index 000000000000..c1a54a79b760 --- /dev/null +++ b/sci-biology/staden/Manifest @@ -0,0 +1,15 @@ +MD5 6f999719e6e3ac5580d4ec23fbc7caa6 staden-1.4.1-r7.ebuild 11085 +MD5 9b99cfc710ceb45cf0d12c8bf3c46930 ChangeLog 2709 +MD5 f189a3c4ff5ae55bcee4f8ed0ace5d20 metadata.xml 254 +MD5 e908bf4692dd3494ec22f07db2e7a9f5 files/staden-1.4.1-env 225 +MD5 3699a9d368068d835cbd8568d50d23e5 files/staden-1.4.1-gap4.patch 463 +MD5 ccf3b22c1399cd7f80f3f6f1caec2cda files/staden-1.4.1-tracediff.patch 334 +MD5 1026629ee4b47aea8043dd7f35eb2ffe files/staden-1.4.1-staden_help.new 159 +MD5 bd82265e893628c1b46329d77e1f11d8 files/staden-1.4.1-iwidgetsrc.new 445 +MD5 8650f58c55b83838846447c89543255d files/staden-1.4.1-getopt.patch 375 +MD5 7717f77ecd800d0b3049974db3fcd0a9 files/staden-1.4.1-prefinish.patch 362 +MD5 a8ceefd2b3b2c1c0053a504561635379 files/staden-1.4.1-mutscan.patch 328 +MD5 cd40ea0a473054769a0963e708257f98 files/digest-staden-1.4.1-r7 213 +MD5 708ea4c4b4cbc7e2b6b88b5a09e1b564 files/staden-1.4.1-top.patch 230 +MD5 ea4a62a1cd5070014d2c9352eeecf06a files/staden-1.4.1-tk_utils.patch 368 +MD5 8f13c224bf3c586a6436c39906b780ec files/staden-1.4.1-emboss.patch 1312 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 +} |