+++ /dev/null
-# 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.12 2004/10/14 14:57:34 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.
-
+++ /dev/null
-# 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-r7.ebuild,v 1.2 2004/10/14 14:57:34 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
-}