Migrated to fortran.eclass (bug #65950)
authorOlivier Fisette <ribosome@gentoo.org>
Sun, 13 Nov 2005 05:38:39 +0000 (05:38 +0000)
committerOlivier Fisette <ribosome@gentoo.org>
Sun, 13 Nov 2005 05:38:39 +0000 (05:38 +0000)
Package-Manager: portage-2.0.51.22-r3

sci-biology/staden/ChangeLog
sci-biology/staden/Manifest
sci-biology/staden/files/digest-staden-1.5.3-r1 [new file with mode: 0644]
sci-biology/staden/staden-1.5.3-r1.ebuild [new file with mode: 0644]

index 28956674e4dd48de10f635f43f3aa2bf454c2208..e86147c6a8ec00de68c8c356cef2953d365d88ab 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sci-biology/staden
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-biology/staden/ChangeLog,v 1.14 2005/08/26 19:12:57 r3pek Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/staden/ChangeLog,v 1.15 2005/11/13 05:38:39 ribosome Exp $
+
+*staden-1.5.3-r1 (13 Nov 2005)
+
+  13 Nov 2005; Olivier Fisette <ribosome@gentoo.org>
+  +staden-1.5.3-r1.ebuild:
+  Migrated to fortran.eclass (bug #65950).
 
   26 Aug 2005; Carlos Silva <r3pek@gentoo.org> staden-1.5.3.ebuild:
   Marking ~amd64
index 6318993508f5463262cee41733d185e70fd3b623..58030eeec548772c5644bb739d9f7e5058f6dbda 100644 (file)
@@ -1,5 +1,6 @@
+MD5 046971a49ff7fe4a883b02b1de41cf4f staden-1.5.3-r1.ebuild 9536
 MD5 b1697af3ea55037696b55f2982f7d7e1 staden-1.5.3.ebuild 10083
-MD5 839d10c6f8f723a1617715c967686c70 ChangeLog 4900
+MD5 40edbb0adeff908fefa5a7987437bde4 ChangeLog 5059
 MD5 f189a3c4ff5ae55bcee4f8ed0ace5d20 metadata.xml 254
 MD5 6ce4d77a48d0377a1ada09f1990fb2af files/staden-1.5.3-text_utils.patch 478
 MD5 bd82265e893628c1b46329d77e1f11d8 files/staden-1.5.3-iwidgetsrc.new 445
@@ -11,5 +12,6 @@ MD5 0857e0bf79953bfa46b1224f6218701a files/staden-1.5.3-top.patch 230
 MD5 82a31125cf882d95d15578040add39c3 files/staden-1.5.3-mutlib-gcc-3.4.patch 5460
 MD5 daf40c222b80ffc48d9a2ac2544ab631 files/staden-1.5.3-getopt.patch 367
 MD5 9f05ecafdd38d17d8dd40ff581dda1a2 files/staden-1.5.3-prefinish.patch 362
+MD5 e3ce8053514641a26df3ca33f2962e55 files/digest-staden-1.5.3-r1 338
 MD5 7e0b4d0414191e2d1e00c65c16f3c377 files/staden-1.5.3-tk_utils.patch 787
 MD5 e3ce8053514641a26df3ca33f2962e55 files/digest-staden-1.5.3 338
diff --git a/sci-biology/staden/files/digest-staden-1.5.3-r1 b/sci-biology/staden/files/digest-staden-1.5.3-r1
new file mode 100644 (file)
index 0000000..e56ba56
--- /dev/null
@@ -0,0 +1,5 @@
+MD5 8f0ab94abe48972aecda69a1828d59ea staden-src-1-5-3.tar.gz 19670216
+MD5 9550e01cd954c3f672d2a500e051fa53 staden-1.4.1-missing-doc.tar.bz2 63825
+MD5 9009a92dc648775fb8a9b0789b995756 tcl8.4.6-src.tar.gz 3448711
+MD5 24b7774d54c1c568cabe16f3498ddccd tk8.4.6-src.tar.gz 3230760
+MD5 d6e739e823bff99e61007ded4cb71f79 course-1.1.tar.gz 5271133
diff --git a/sci-biology/staden/staden-1.5.3-r1.ebuild b/sci-biology/staden/staden-1.5.3-r1.ebuild
new file mode 100644 (file)
index 0000000..af10d40
--- /dev/null
@@ -0,0 +1,283 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/staden/staden-1.5.3-r1.ebuild,v 1.1 2005/11/13 05:38:39 ribosome Exp $
+
+inherit eutils toolchain-funcs fortran
+
+TCLV="8.4.6"
+TKV="8.4.6"
+
+DESCRIPTION="The Staden Package - Biological sequence handling and analysis"
+LICENSE="${PN}"
+HOMEPAGE="http://staden.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${PN}-src-${PV//./-}.tar.gz
+       mirror://gentoo/${PN}-1.4.1-missing-doc.tar.bz2
+       mirror://sourceforge/tcl/tcl${TCLV}-src.tar.gz
+       mirror://sourceforge/tcl/tk${TKV}-src.tar.gz
+       doc? ( mirror://sourceforge/${PN}/course-1.1.tar.gz )"
+
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="app-shells/ksh
+       dev-lang/tcl
+       dev-lang/tk
+       sci-libs/io_lib
+       =dev-tcltk/itcl-3.2*
+       dev-tcltk/iwidgets
+       media-libs/libpng
+       virtual/x11"
+
+DEPEND="${RDEPEND}
+       dev-lang/perl
+       media-gfx/imagemagick
+       virtual/emacs
+       virtual/tetex"
+
+S="${WORKDIR}/${PN}-src-${PV//./-}"
+
+src_unpack() {
+       unpack ${A}
+       mv "${WORKDIR}"/tcl${TCLV} "${S}"/src
+       mv "${WORKDIR}"/tk${TKV} "${S}"/src
+
+       # 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}"
+       epatch "${FILESDIR}"/${P}-top.patch
+       epatch "${FILESDIR}"/${P}-text_utils.patch
+       epatch "${FILESDIR}"/${P}-tk_utils.patch
+       epatch "${FILESDIR}"/${P}-prefinish.patch
+       epatch "${FILESDIR}"/${P}-tracediff.patch
+       epatch "${FILESDIR}"/${P}-mutscan.patch
+       epatch "${FILESDIR}"/${P}-mutlib-gcc-3.4.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 || die
+       cd "${S}"
+
+       # "getopt" is incorrectly included as an extern (for Win32 compatibility).
+       epatch "${FILESDIR}"/${P}-getopt.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
+
+       # 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 || die
+
+       # 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} || die
+       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 | die
+
+       # 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}
+       done
+
+       # "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 -e "s/COPT          = -O2 -g3 -DNDEBUG/COPT = ${CFLAGS:-"-O2 -g3 -DNDEBUG"} -fPIC/" \
+               -e "s/FOPT              = -O2 -g3 -DNDEBUG/FOPT = ${FFLAGS:-"-O2 -g3 -DNDEBUG"} -fPIC/" \
+               -i global.mk || die
+}
+
+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=$(tc-getCC) \
+               CXX=$(tc-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=$(tc-getCC) \
+               CXX=$(tc-getCXX) \
+               F77=${F77:-g77} \
+               || die "Package compilation failed."
+
+
+       # The install process will copy the libraries in ${S}/lib/linux-binaries,
+       # but this directory is in fact a symlink to the source directory.
+       rm "${S}"/lib/linux-binaries
+       mkdir "${S}"/lib/linux-binaries
+
+       # Moves executables in "${S}/linux-bin" and libraries to
+       # ${S}/lib/linux-binaries.
+       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 libread since an updated version is included in "sci-libs/io_lib".
+       rm "${S}"/lib/linux-binaries/libread.so
+       # Delete the binaries already included in "sci-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 (broken) 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 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}"/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}"/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*.{png,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}"/${PN}-1.4.1-missing-doc/documentation.html
+       insinto /opt/${PN}/doc/misc
+       doins "${WORKDIR}"/${PN}-1.4.1-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.pdf manual.pdf
+       newins "${S}"/doc/manual/mini_unix.pdf mini_manual.pdf
+       newins "${S}"/doc/scripting_manual/scripting.pdf scripting_manual.pdf
+
+       # 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
+}