diff options
author | 2009-07-05 20:25:10 +0200 | |
---|---|---|
committer | 2009-07-05 20:25:10 +0200 | |
commit | 36fd630648f15d7191b7094b5751357fcfe8c4b1 (patch) | |
tree | 073c2977f84527101219a103a3977a4e86ed704e | |
parent | xia version bump (diff) | |
download | sci-36fd630648f15d7191b7094b5751357fcfe8c4b1.tar.gz sci-36fd630648f15d7191b7094b5751357fcfe8c4b1.tar.bz2 sci-36fd630648f15d7191b7094b5751357fcfe8c4b1.zip |
ccü4 needed for xia
-rw-r--r-- | sci-chemistry/ccp4/ChangeLog | 6 | ||||
-rw-r--r-- | sci-chemistry/ccp4/Manifest | 4 | ||||
-rw-r--r-- | sci-chemistry/ccp4/ccp4-6.1.1-r5.ebuild | 414 | ||||
-rw-r--r-- | sci-chemistry/ccp4/files/6.1.1-noxia.patch | 14 |
4 files changed, 437 insertions, 1 deletions
diff --git a/sci-chemistry/ccp4/ChangeLog b/sci-chemistry/ccp4/ChangeLog index d8389f461..b285cd525 100644 --- a/sci-chemistry/ccp4/ChangeLog +++ b/sci-chemistry/ccp4/ChangeLog @@ -2,6 +2,12 @@ # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*ccp4-6.1.1-r5 (05 Jul 2009) + + 05 Jul 2009; Justin Lecher (jlec) <jlec@j-schmitz.net> + +files/6.1.1-noxia.patch, +ccp4-6.1.1-r5.ebuild: + noxia patch + 02 Jul 2009; Justin Lecher (jlec) <jlec@j-schmitz.net> ccp4-6.1.1-r4.ebuild: userpriv usersandbox fix diff --git a/sci-chemistry/ccp4/Manifest b/sci-chemistry/ccp4/Manifest index f69b90a03..8dc0fca65 100644 --- a/sci-chemistry/ccp4/Manifest +++ b/sci-chemistry/ccp4/Manifest @@ -4,6 +4,7 @@ AUX 6.1.1-dont-build-libs.patch 1255 RMD160 6454c2f61a13dbb8238b5ceed69c233fcf33 AUX 6.1.1-dont-make-dirs-in-configure.patch 2866 RMD160 ba49e45ab609a42a2d93b96f55af913bf9625610 SHA1 36c9329c3768c08687ef062c9ab649d32833b422 SHA256 1b5997f17526a4fd60ffa9eccf4b765aadf3a78c9394657000e0454f364240ca AUX 6.1.1-fix-setup-bash-incompatibility.patch 422 RMD160 e7e886ab030cf3324302c8fd0c866b48eeb34f8c SHA1 4e549abcd3ced1e6ecf9d3f2bddfed70425d61aa SHA256 109a0e806f9c0e1b8bf5e5f0c58be6f1dae06396b62ee4dae9f579ff7dcb5a01 AUX 6.1.1-nomolref.patch 559 RMD160 93a81aec6548fa909c67546958878fc27632b392 SHA1 e16dafd552839128f81bc2e8e8f9953258e1c398 SHA256 1ba59db41f93c02494beb7a5d816dea966341009344805df4dfb873ab4e98eca +AUX 6.1.1-noxia.patch 712 RMD160 dd3f8bcf309b7d84c31bf4cf829d1d9f95618d4a SHA1 b4e32e245bd8f5fde6a9573777592b3787f5becd SHA256 931bf9027e503d19d1d4446ea3ada2c20044b355d8071756ae58e88159eab75f AUX 6.1.1-rename-rapper.patch 2856 RMD160 37504bed3cb4e1858d88331305deef6564616b02 SHA1 31f513c987e1408b868f8c9de4aaa9f2c35cb378 SHA256 d9fed1ec65089c4130358aeed771b32c1253e48a73e90f0ce7b92bd0abbb0c2b AUX 6.1.1-rename-truncate.patch 1515 RMD160 eff332faa67a1732e0f99cc6cdcb846932eadc87 SHA1 b504542cf710e1b54a684b0fa0e8d73d967c96ac SHA256 50a59a1856867daa3de1f8f53e92bcfe74dea3a6d3c4ba238a9ea83dbcdfbf07 AUX 6.1.2-clipper-mmdbold-ggc-4.3.patch 656 RMD160 6b302779b48217a14f5ac9110bc307db3a3b51eb SHA1 f5813d6769fa9dc11605425cdbda85691d3016bc SHA256 982eff0336a6dfaf4e280d51a59cf722fc063ca89d15ca0af46ce83727fb9a8a @@ -22,7 +23,8 @@ DIST ctruncate.cpp-r1.13.2.5-r1.13.2.7.diff 4993 RMD160 06deba4ffc19292d3c1b9136 EBUILD ccp4-6.1.1-r1.ebuild 11281 RMD160 523a351ef16aaa5a599ca081a9fa1a0f9d50319c SHA1 ab186ddc879f443fe8bf0db7b14001fe5e6dd3a0 SHA256 e92b2d21f1332f808b14f7cc9bcc04648d93983c5a50014e40b27b55b2578189 EBUILD ccp4-6.1.1-r3.ebuild 11533 RMD160 75cf324436d1264af8cee88d7acdc3d61d1a1163 SHA1 034966380384691a05f60547b294b21167c04424 SHA256 2f195a63886488f0e1c7eedbd35c513805f9da224cb1272b82a61442e7027f9c EBUILD ccp4-6.1.1-r4.ebuild 11487 RMD160 73c05354efb4e32495f8abda001354199939b5fa SHA1 a3e4db5ca08657e83da1411af68a00f6ad5dc218 SHA256 9b494f31162b28a061fb6f3d5be322ee7733b767fce9e6199026e2622334e63a +EBUILD ccp4-6.1.1-r5.ebuild 11541 RMD160 baa8f0063fe798506c543fbed6c14557fa4a9b96 SHA1 19dfb2c04b8e335ddd073459724aadc0e55169b9 SHA256 f482d3f3680416b5d5287c024ecac89993c62f93b74a990784e0e03563f458d1 EBUILD ccp4-6.1.1.ebuild 11078 RMD160 bdda0b25af939be1d59f1d25a3f5d1b603f8b17c SHA1 ceb05f4916197ca661660510e7eec70924032a1e SHA256 33214b5ca84c710112fb286de06073a843400fa2331715db1672713b33032024 EBUILD ccp4-6.1.2.ebuild 11450 RMD160 952f35a05dfb2a5f6c0333a4f4bd0a6b148142da SHA1 574b9e6b66d71df2013c5d43d3bd0fa479891862 SHA256 bde7631e432f218c30e884c56daa011ede4877bee108ec880986d915014d9631 -MISC ChangeLog 5437 RMD160 f9b618428ed39fbbaca42f5812c891fbe2f7801a SHA1 d1577692d005c441ee370c2d380d581e5777391f SHA256 925ab5b4eacaeff799e055c107319492251aec633a405073fb34df46fe22cf8e +MISC ChangeLog 5590 RMD160 d6373cfd25c6e4739c956524654559c5314964f3 SHA1 defff479f590f88eeb296646da3b6ba3da57e7e2 SHA256 8c585ec35ae113c10392a310fe29ce3f7ef76bcf76f51e519ec6bc0afba89c92 MISC metadata.xml 166 RMD160 4452298fd03e7c9395d1182bfe69d60a14144af6 SHA1 cb0b513473c0348f4f6f6cd9a132e4884155fddb SHA256 84c92b49702daf95eace8d2765215cbd8650da4ef776f9f700b5ce3785dec852 diff --git a/sci-chemistry/ccp4/ccp4-6.1.1-r5.ebuild b/sci-chemistry/ccp4/ccp4-6.1.1-r5.ebuild new file mode 100644 index 000000000..e36b96d52 --- /dev/null +++ b/sci-chemistry/ccp4/ccp4-6.1.1-r5.ebuild @@ -0,0 +1,414 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit fortran eutils gnuconfig toolchain-funcs autotools + +FORTRAN="g77 gfortran ifc" + +SRC="ftp://ftp.ccp4.ac.uk/ccp4" + +UPDATE="04_03_09" +PATCHDATE="090511" + +PATCH_TOT="1" +# Here's a little scriptlet to generate this list from the provided +# index.patches file +# +# i=1; while read -a line; do [[ ${line//#} != ${line} ]] && continue; +# echo "PATCH${i}=( ${line[1]}"; echo "${line[0]} )"; (( i++ )); done < +# index.patches +PATCH1=( src/clipper_progs/src/ +ctruncate.cpp-r1.13.2.5-r1.13.2.7.diff ) + +DESCRIPTION="Protein X-ray crystallography toolkit" +HOMEPAGE="http://www.ccp4.ac.uk/" +RESTRICT="mirror" +#SRC_URI="${SRC}/${PV}/source/${P}-core-src.tar.gz" +SRC_URI="${SRC}/6.1.1/${P}-core-src.tar.gz + ${SRC}/${PV}/updates/${P}-src-patch-${UPDATE}.tar.gz + http://dev.gentooexperimental.org/~jlec/science-dist/${PV}-${PATCHDATE}-updates.patch.bz2" +for i in $(seq $PATCH_TOT); do + NAME="PATCH${i}[1]" + SRC_URI="${SRC_URI} + ${SRC}/${PV}/patches/${!NAME}" +done +LICENSE="ccp4" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X examples" +# app-office/sc overlaps sc binary and man page +# We can't rename ours since the automated ccp4i interface expects it there, +# as do many scripts. app-office/sc can't rename its because that's the name +# of the package. +RDEPEND="X? ( + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXaw + x11-libs/libxdl_view + x11-libs/libjwc_c + x11-libs/libjwc_f + ) + >=dev-lang/tk-8.3 + >=dev-tcltk/blt-2.4 + virtual/lapack + virtual/blas + =sci-libs/fftw-2* + sci-chemistry/pdb-extract + sci-chemistry/rasmol + sci-libs/clipper + app-shells/tcsh + dev-python/pyxml + dev-libs/libxml2 + dev-libs/boehm-gc + dev-tcltk/iwidgets + >=dev-tcltk/tdom-0.8 + dev-tcltk/tkimg + dev-tcltk/tktreectrl + dev-tcltk/itcl + dev-tcltk/itk + sci-libs/ccp4-libs + !app-office/sc" +DEPEND="${RDEPEND} + =sys-devel/automake-1.6* + X? ( + x11-misc/imake + x11-proto/inputproto + x11-proto/xextproto + )" +PDEPEND="sci-chemistry/mosflm + sci-chemistry/imosflm + sci-chemistry/molrep + sci-chemistry/refmac + sci-chemistry/xia2 + sci-chemistry/ccp4i + sci-libs/balbes-db" + +S="${WORKDIR}/${PN}-${PV}" + +src_unpack() { + unpack ${A} + cd "${S}" + + einfo "Applying upstream patches ..." + for patch in $(seq $PATCH_TOT); do + base="PATCH${patch}" + dir=$(eval echo \${${base}[0]}) + p=$(eval echo \${${base}[1]}) + pushd "${dir}" >& /dev/null + ccp_patch ${DISTDIR}/"${p}" + popd >& /dev/null + done + einfo "Done." + echo + + epatch "${WORKDIR}"/${PV}-${PATCHDATE}-updates.patch + + einfo "Applying Gentoo patches ..." + # These two only needed when attempting to install outside build dir via + # --bindir and --libdir instead of straight copying after build + + # it attempts to install some libraries during the build + #ccp_patch "${FILESDIR}"/${P}-install-libs-at-install-time.patch + # hklview/ipdisp.exe/xdlmapman/ipmosflm can't find libxdl_view + # without this patch when --libdir is set + # Rotgen still needs more patching to find it + #ccp_patch "${FILESDIR}"/add-xdl-libdir.patch + + # it tries to create libdir, bindir etc on live system in configure + ccp_patch "${FILESDIR}"/${PV}-dont-make-dirs-in-configure.patch + + # We already have sci-chemistry/rasmol + # Also remember to create the bindir. + ccp_patch "${FILESDIR}"/${PV}-dont-build-double-and-make-bindir.patch + + # We already have sci-chemistry/pdb-extract +# Use configure option instead +# ccp_patch "${FILESDIR}"/dont-build-pdb-extract.patch + +# Don't use these when we aren't building phaser +# ccp_patch "${FILESDIR}"/make-phaser-bindir.patch +# ccp_patch "${FILESDIR}"/no-phaser-ld-assume-kernel.patch +# # scons config.py tries to chmod python on live system +# ccp_patch "${FILESDIR}"/dont-chmod-python-binary.patch + +# Upstream fixed it + # csh syntax doesn't work in a bash script +# ccp_patch "${FILESDIR}"/${PV}-fix-setup-bash-incompatibility.patch + + # libraries come from sci-libs/ccp4-libs + ccp_patch "${FILESDIR}"/${PV}-dont-build-libs.patch + + # coreutils installs a binary called truncate + ccp_patch "${FILESDIR}"/${PV}-rename-truncate.patch + mv ./doc/truncate.doc ./doc/ftruncate.doc || die + mv ./html/truncate.html ./html/ftruncate.html || die + + # conflicts with media-libs/raptor + ccp_patch "${FILESDIR}"/${PV}-rename-rapper.patch + mv ./doc/rapper.doc ./doc/rappermc.doc || die + mv ./html/rapper.html ./html/rappermc.html || die + + # molref is provided as binary and dynamically linked against icc + ccp_patch "${FILESDIR}"/${PV}-nomolref.patch + + # mosflm has its own ebuild +# ccp_patch "${FILESDIR}"/${PV}-dont-build-mosflm.patch + + # no xia + ccp_patch "${FILESDIR}"/${PV}-noxia.patch + + einfo "Done." # done applying Gentoo patches + echo + + # glibc-2.10 getline fix + sed -e "s:getline:${PN}getline:g" -i lib/src/fsplit.c + + # Don't build refmac binaries available from the standalone version + sed -i -e "/^REFMACTARGETS/s:refmac5 libcheck makecif molrep::g" configure + + # Rapper bundles libxml2 and boehm-gc. Don't build, use or install those. + pushd src/rapper 2>/dev/null + sed -i \ + -e '/^AC_CONFIG_SUBDIRS(\[gc7.0 libxml2\])/d' \ + configure.ac + sed -i \ + -e '/^SUBDIRS/s:libxml2 gc7.0::g' \ + Makefile.am + sed -i \ + -e '/^rappermc_LDADD/s:../gc7.0/libgc.la ../libxml2/libxml2.la:-lgc -lxml2:g' \ + LOOP/Makefile.am + sed -i \ + -e '/^INCLUDES/s:-I../gc7.0/include -I../libxml2/include:-I/usr/include/gc -I/usr/include/libxml2:g' \ + LOOP/Makefile.am + eautoreconf + popd 2>/dev/null + + gnuconfig_update +} + +src_compile() { + # Build system is broken if we set LDFLAGS + unset LDFLAGS + + # GENTOO_OSNAME can be one of: + # irix irix64 sunos sunos64 aix hpux osf1 linux freebsd + # linux_compaq_compilers linux_intel_compilers generic Darwin + # ia64_linux_intel Darwin_ibm_compilers linux_ibm_compilers + if [[ "${FORTRANC}" = "ifc" ]]; then + if use ia64; then + GENTOO_OSNAME="ia64_linux_intel" + else + # Should be valid for x86, maybe amd64 + GENTOO_OSNAME="linux_intel_compilers" + fi + else + # Should be valid for x86 and amd64, at least + GENTOO_OSNAME="linux" + fi + + # Sets up env + ln -s \ + ccp4.setup-bash \ + "${S}"/include/ccp4.setup + + # We agree to the license by emerging this, set in LICENSE + sed -i \ + -e "s~^\(^agreed=\).*~\1yes~g" \ + "${S}"/configure + + # Fix up variables -- need to reset CCP4_MASTER at install-time + sed -i \ + -e "s~^\(setenv CCP4_MASTER.*\)/.*~\1${WORKDIR}~g" \ + -e "s~^\(setenv CCP4I_TCLTK.*\)/usr/local/bin~\1/usr/bin~g" \ + "${S}"/include/ccp4.setup* + + # Set up variables for build + source "${S}"/include/ccp4.setup + + export CC=$(tc-getCC) + export CXX=$(tc-getCXX) + export COPTIM=${CFLAGS} + export CXXOPTIM=${CXXFLAGS} + # Default to -O2 if FFLAGS is unset + export FC=${FORTRANC} + export FOPTIM=${FFLAGS:- -O2} + export BINSORT_SCR="${T}" + + # Can't use econf, configure rejects unknown options like --prefix + ./configure \ + $(use_enable X x) \ + --with-shared-libs \ + --with-fftw=/usr \ + --with-warnings \ + --disable-pdb_extract \ + --disable-cctbx \ + --disable-phaser \ + --disable-clipper \ + --disable-mrbump \ + --tmpdir="${TMPDIR}" \ + ${GENTOO_OSNAME} || die "econf failed" + + # fsplit is required for the programs + pushd lib/src 2>/dev/null + emake fsplit -j1 || die + popd 2>/dev/null + + # We do this manually, since disabling the clipper libraries also + # disables the clipper programs + pushd src/clipper_progs 2>/dev/null + econf \ + --prefix="${S}" \ + --with-ccp4="${S}" \ + --with-clipper=/usr \ + --with-fftw=/usr \ + --with-mmdb=/usr \ + CXX=$(tc-getCXX) \ + || die + emake || die + popd 2>/dev/null + + emake -j1 || die "emake failed" +} + +src_install() { + # Set up variables for build + source "${S}"/include/ccp4.setup + +# Only needed when using --bindir and --libdir + # Needed to avoid errors. Originally tried to make lib and bin + # in configure script, now patched out by dont-make-dirs-in-configure.patch +# dodir /usr/include /usr/$(get_libdir) /usr/bin + +# make install || die "install failed" + + # if we don't make this, a ton of programs fail to install + mkdir "${S}"/bin || die + + # We do this manually, since disabling the clipper libraries also + # disables the clipper programs + pushd "${S}"/src/clipper_progs 2>/dev/null + emake install || die + popd 2>/dev/null + + einstall || die "install failed" + + # Fix env + sed -i \ + -e "s~^\(setenv CCP4_MASTER.*\)${WORKDIR}~\1/usr~g" \ + -e "s~^\(setenv CCP4.*\$CCP4_MASTER\).*~\1~g" \ + -e "s~^\(setenv CCP4I_TOP\).*~\1 \$CCP4/$(get_libdir)/ccp4/ccp4i~g" \ + -e "s~^\(setenv DBCCP4I_TOP\).*~\1 \$CCP4/share/ccp4/dbccp4i~g" \ + -e "s~^\(.*setenv CINCL.*\$CCP4\).*~\1/share/ccp4/include~g" \ + -e "s~^\(.*setenv CLIBD .*\$CCP4\).*~\1/share/ccp4/data~g" \ + -e "s~^\(.*setenv CLIBD_MON .*\)\$CCP4.*~\1\$CCP4/share/ccp4/data/monomers/~g" \ + -e "s~^\(.*setenv MOLREPLIB .*\)\$CCP4.*~\1\$CCP4/share/ccp4/data/monomers/~g" \ + -e "s~^\(.*setenv PYTHONPATH .*\)\$CCP4.*~\1\$CCP4/share/ccp4/python~g" \ + -e "s~^\(.*setenv CCP4_BROWSER.*\).*~\1 firefox~g" \ + "${S}"/include/ccp4.setup* || die + + # Don't check for updates on every sourcing of /etc/profile + sed -i \ + -e "s:\(eval python.*\):#\1:g" + "${S}"/include/ccp4.setup* || die + + # Get rid of S instances + # Also the main clipper library is built as libclipper-core, not libclipper +# sed -i \ +# -e "s:${S}:$usr:g" \ +# -e "s:lclipper :lclipper-core :g" \ +# "${S}"/bin/clipper-config || die +# sed -i \ +# -e "s:${S}:usr:g" \ +# "${S}"/$(get_libdir)/cctbx/cctbx_build/setpaths* + + # Bins + dobin "${S}"/bin/* || die + + # Libs + for file in "${S}"/lib/*; do + if [[ -d ${file} ]]; then + continue + elif [[ -x ${file} ]]; then + dolib.so ${file} || die + else + insinto /usr/$(get_libdir) + doins ${file} || die + fi + done + + # Setup scripts + insinto /etc/profile.d + newins "${S}"/include/ccp4.setup-bash ccp4.setup.sh || die + newins "${S}"/include/ccp4.setup-dist ccp4.setup.csh || die + rm -f "${S}"/include/ccp4.setup-bash + rm -f "${S}"/include/ccp4.setup-dist + + # Environment files, setup scripts, etc. + insinto /usr/share/ccp4/include + doins "${S}"/include/* || die + + # balbes +# insinto /usr/share/ccp4 +# doins -r "${S}"/share/balbes || die + + # smartie -- log parsing + insinto /usr/share/ccp4 + doins -r "${S}"/share/smartie || die + + # Install docs and examples + + doman "${S}"/man/cat1/* + + mv "${S}"/manual/README "${S}"/manual/README-manual + dodoc "${S}"/manual/* + + dodoc "${S}"/README "${S}"/CHANGES + + dodoc "${S}"/doc/* + rm "${D}"/usr/share/doc/${PF}/GNUmakefile.* + rm "${D}"/usr/share/doc/${PF}/COPYING.* + + dohtml -r "${S}"/html/* + dodoc "${S}"/examples/README + + # Fix wrongly installed HTML pages from clipper + dohtml "${D}"/usr/html/* + rm -rf "${D}"/usr/html + + if use examples; then + for i in data rnase toxd; do + docinto examples/${i} + dodoc "${S}"/examples/${i}/* + done + + docinto examples/tutorial + dohtml -r "${S}"/examples/tutorial/html examples/tutorial/tut.css + for i in data results; do + docinto examples/tutorial/${i} + dodoc "${S}"/examples/tutorial/${i}/* + done + + for i in non-runnable runnable; do + docinto examples/unix/${i} + dodoc "${S}"/examples/unix/${i}/* + done + fi + # Needed for ccp4i docs to work + dosym ../../share/doc/${PF}/examples /usr/$(get_libdir)/ccp4/examples + dosym ../../share/doc/${PF}/html /usr/$(get_libdir)/ccp4/html + + # Fix overlaps with other packages + rm -f "${D}"/usr/share/man/man1/rasmol.1* "${D}"/usr/lib/font84.dat || die +} + +pkg_postinst() { + einfo "The Web browser defaults to firefox. Change CCP4_BROWSER" + einfo "in /etc/profile.d/ccp4.setup* to modify this." +} + + +# Epatch wrapper for bulk patching +ccp_patch() { + EPATCH_SINGLE_MSG=" ${1##*/} ..." epatch ${1} +} diff --git a/sci-chemistry/ccp4/files/6.1.1-noxia.patch b/sci-chemistry/ccp4/files/6.1.1-noxia.patch new file mode 100644 index 000000000..3af4af503 --- /dev/null +++ b/sci-chemistry/ccp4/files/6.1.1-noxia.patch @@ -0,0 +1,14 @@ +--- src/Makefile.in 2009-07-05 16:50:25.000000000 +0200 ++++ src/Makefile.in.new 2009-07-05 19:38:06.000000000 +0200 +@@ -50,9 +50,9 @@ + + # these live in subdirectories and have more than one dependency: + OTHERS = rsps anglen secstr proclean pplot gfac2pdb tplot mplot probplot rmsdev nb \ +- scala dm dmmulti stereo mapmask maprot ncsmask chef \ ++ scala dm dmmulti stereo mapmask maprot ncsmask \ + sftools tlsanl tlsextract topp toplist dyndom sc combat mlphare fffear ffjoin \ +- anisoanl $(REFMACTARGETS) dtrek2scala crunch2 pmf doser mat2symop symop2mat ++ anisoanl $(REFMACTARGETS) dtrek2scala crunch2 pmf + + # targets built from .c sources: + CSIMPLE = pltdev binsort |