diff options
author | Olivier Fisette <ribosome@gentoo.org> | 2004-09-18 18:59:56 +0000 |
---|---|---|
committer | Olivier Fisette <ribosome@gentoo.org> | 2004-09-18 18:59:56 +0000 |
commit | 745f63b7d3918307e164179871f03aa63668c7b2 (patch) | |
tree | 74462e99e097710bedae2f7cd18a737ae0497241 /app-sci | |
parent | Initial import. (diff) | |
download | historical-745f63b7d3918307e164179871f03aa63668c7b2.tar.gz historical-745f63b7d3918307e164179871f03aa63668c7b2.tar.bz2 historical-745f63b7d3918307e164179871f03aa63668c7b2.zip |
Updated course material and io_lib. Documentation now builds from source.
Diffstat (limited to 'app-sci')
-rw-r--r-- | app-sci/staden/ChangeLog | 9 | ||||
-rw-r--r-- | app-sci/staden/Manifest | 6 | ||||
-rw-r--r-- | app-sci/staden/files/digest-staden-1.4.1-r6 | 3 | ||||
-rw-r--r-- | app-sci/staden/files/staden-1.4.1-emboss.patch | 24 | ||||
-rw-r--r-- | app-sci/staden/staden-1.4.1-r6.ebuild | 321 |
5 files changed, 357 insertions, 6 deletions
diff --git a/app-sci/staden/ChangeLog b/app-sci/staden/ChangeLog index ed9ce0a61ffa..f16d13c87094 100644 --- a/app-sci/staden/ChangeLog +++ b/app-sci/staden/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-sci/staden # Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-sci/staden/ChangeLog,v 1.6 2004/09/17 18:25:48 ribosome Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-sci/staden/ChangeLog,v 1.7 2004/09/18 18:59:56 ribosome Exp $ + +*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) diff --git a/app-sci/staden/Manifest b/app-sci/staden/Manifest index ab135f6ec412..43edd2c49271 100644 --- a/app-sci/staden/Manifest +++ b/app-sci/staden/Manifest @@ -1,5 +1,6 @@ +MD5 342dcc42299b6d4e8e18e7e2a454a069 staden-1.4.1-r6.ebuild 11043 MD5 34fa9925397ab3b57f39b5d438bd20ca staden-1.4.1-r5.ebuild 7008 -MD5 ddb74640f6ba06aee9950ca41f1eb58b ChangeLog 1729 +MD5 590ef42294c4669427f1d765ee7a665d ChangeLog 1989 MD5 f189a3c4ff5ae55bcee4f8ed0ace5d20 metadata.xml 254 MD5 e908bf4692dd3494ec22f07db2e7a9f5 files/staden-1.4.1-env 225 MD5 3699a9d368068d835cbd8568d50d23e5 files/staden-1.4.1-gap4.patch 463 @@ -10,6 +11,7 @@ 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 4250ea5eac7e7f2092a797bb78e27e41 files/digest-staden-1.4.1-r5 217 +MD5 cd40ea0a473054769a0963e708257f98 files/digest-staden-1.4.1-r6 213 MD5 708ea4c4b4cbc7e2b6b88b5a09e1b564 files/staden-1.4.1-top.patch 230 MD5 ea4a62a1cd5070014d2c9352eeecf06a files/staden-1.4.1-tk_utils.patch 368 -MD5 12ca92a6e8763128e89ea667b4224b71 files/staden-1.4.1-emboss.patch 799 +MD5 8f13c224bf3c586a6436c39906b780ec files/staden-1.4.1-emboss.patch 1312 diff --git a/app-sci/staden/files/digest-staden-1.4.1-r6 b/app-sci/staden/files/digest-staden-1.4.1-r6 new file mode 100644 index 000000000000..f11f83bbe989 --- /dev/null +++ b/app-sci/staden/files/digest-staden-1.4.1-r6 @@ -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/app-sci/staden/files/staden-1.4.1-emboss.patch b/app-sci/staden/files/staden-1.4.1-emboss.patch index 7e619f0d2f5f..29639cd6c929 100644 --- a/app-sci/staden/files/staden-1.4.1-emboss.patch +++ b/app-sci/staden/files/staden-1.4.1-emboss.patch @@ -1,12 +1,12 @@ ---- lib/spin2_emboss/create_emboss_files.tcl.old 2004-09-16 18:52:45.566400400 -0400 -+++ lib/spin2_emboss/create_emboss_files.tcl 2004-09-16 18:43:32.912416576 -0400 +--- 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 ++# $OUTDIR/lib/spin2_emboss/acdtcl/* +# $OUTDIR/emboss_menu # # To run it, simply run this script. NOTE that it requires DISPLAY to be set @@ -20,3 +20,21 @@ 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/app-sci/staden/staden-1.4.1-r6.ebuild b/app-sci/staden/staden-1.4.1-r6.ebuild new file mode 100644 index 000000000000..a0d43d66b1d9 --- /dev/null +++ b/app-sci/staden/staden-1.4.1-r6.ebuild @@ -0,0 +1,321 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-sci/staden/staden-1.4.1-r6.ebuild,v 1.1 2004/09/18 18:59:56 ribosome Exp $ + +inherit eutils + +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 emboss" + +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" + +PDEPEND="emboss? ( app-sci/staden-emboss )" + +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 + sed -i -e 's/SHLIB_CFLAGS = -fpic/SHLIB_CFLAGS = -fPIC/' linux.mk \ + && einfo "Successfully applied sed script to patch linux.mk." \ + || eerror "Failed to apply sed script to patch linux.mk." + 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. + einfo "Applying user-defined compilation/linking flags:" + cd ${S}/src/mk + sed -i -e "s/COPT = -O2 -g3 -DNDEBUG/COPT = ${CFLAGS:-"-O2 -g3 -DNDEBUG"}/" 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"}/" 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=${CC:-gcc} \ + CXX=${CXX:-g++} \ + 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=${CC:-gcc} \ + CXX=${CXX:-g++} \ + 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 + + # Remove the old "spin_emboss" (replaced by "spin2_emboss") + rm -r ${S}/lib/spin_emboss + + # 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 +} |