diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild')
-rw-r--r-- | sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild b/sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild new file mode 100644 index 000000000000..c00c31bef51f --- /dev/null +++ b/sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils fortran-2 multilib prefix python-single-r1 toolchain-funcs + +MY_PV="${PV//./_}" + +DESCRIPTION="Computational Crystallography Toolbox" +HOMEPAGE="http://cctbx.sourceforge.net/" +SRC_URI="http://cci.lbl.gov/cctbx_build/results/${MY_PV}/${PN}_bundle.tar.gz -> ${P}.tar.gz" + +LICENSE="cctbx-2.0" +SLOT="0" +KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux" +IUSE="+minimal openmp threads" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ?? ( openmp threads )" + +RDEPEND=" + ${PYTHON_DEPS} + >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] + sci-libs/clipper + sci-libs/fftw:3.0= + !minimal? ( + sci-chemistry/cns + sci-chemistry/shelx )" +DEPEND="${RDEPEND} + !prefix? ( >=dev-util/scons-1.2[${PYTHON_USEDEP}] )" + +S="${WORKDIR}" +MY_S="${WORKDIR}"/cctbx_sources +MY_B="${WORKDIR}"/cctbx_build + +pkg_setup() { + use openmp && FORTRAN_NEED_OPENMP="1" + if use openmp && ! tc-has-openmp; then + ewarn "You are using gcc and OpenMP is only available with gcc >= 4.2 and icc" + ewarn "If you want to build ${PN} with OpenMP, abort now," + ewarn "and switch CC to an OpenMP capable compiler" + FORTRAN_NEED_OPENMP=1 + fi + fortran-2_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + local opts + local optsld + + epatch \ + "${FILESDIR}"/${PV}-tst_server.py.patch \ + "${FILESDIR}"/${PV}-boost.patch \ + "${FILESDIR}"/${PV}-clipper.patch \ + "${FILESDIR}"/${PV}-flags.patch \ + "${FILESDIR}"/${PV}-soname.patch \ + "${FILESDIR}"/${PV}-gcc-4.6.patch \ + "${FILESDIR}"/${PV}-gcc-4.7.patch \ + "${FILESDIR}"/${PV}-format-security.patch + + eprefixify "${MY_S}"/scitbx/libtbx_refresh.py + + rm -rvf "${MY_S}/boost" "${MY_S}/PyCifRW" >> "${T}"/clean.log || die + if ! use prefix; then + rm -rvf "${MY_S}/scons" >> "${T}"/clean.log || die + echo "import os, sys; os.execvp('scons', sys.argv)" > "${MY_S}"/libtbx/command_line/scons.py || die + fi + + find "${MY_S}/clipper" -name "*.h" -print -delete >> "${T}"/clean.log || die + + sed \ + -e "/LIBS/s:boost_python:boost_python-$(echo ${EPYTHON} | sed 's/python//'):g" \ + -i "${MY_S}"/boost_adaptbx/SConscript "${MY_S}"/scitbx/boost_python/SConscript || die +} + +src_configure() { + local compiler + local myconf + + myconf="${MY_S}/libtbx/configure.py" + + compiler=$(expr match "$(tc-getCC)" '.*\([a-z]cc\)') + myconf="${myconf} --compiler=${compiler}" + + # Additional USE flag usage + myconf="${myconf} --enable-openmp-if-possible=$(usex openmp true false)" + + use threads && USEthreads="--enable-boost-threads" + + myconf="${myconf} ${USE_threads} --scan-boost --use_environment_flags" + + mkdir "${MY_B}" && myconf="${myconf} --current_working_directory=${MY_B}" + cd "${MY_B}" + + myconf="${myconf} --build=release fftw3tbx rstbx smtbx mmtbx clipper_adaptbx fable" + einfo "configuring with ${python} ${myconf}" + + ${EPYTHON} ${myconf} || die "configure failed" +} + +src_compile() { + local makeopts_exp + + cd "${MY_B}" + + makeopts_exp=${MAKEOPTS/j/j } + makeopts_exp=${makeopts_exp%-l[0-9]*} + + source setpaths_all.sh + + einfo "compiling with libtbx.scons ${makeopts_exp}" + libtbx.scons ${makeopts_exp} .|| die "make failed" +} + +src_test(){ + source "${MY_B}"/setpaths_all.sh + libtbx.python $(libtbx.show_dist_paths boost_adaptbx)/tests/tst_rational.py && \ + libtbx.python ${SCITBX_DIST}/run_tests.py ${MAKEOPTS_EXP} && \ + libtbx.python ${CCTBX_DIST}/run_tests.py ${MAKEOPTS_EXP} \ + || die "test failed" +} + +src_install(){ + local lib baselib +# find cctbx_build/ -type f \( -name "*.py" -o -name "*sh" \) -exec \ +# sed -e "s:${MY_S}:${EPREFIX}/usr/$(get_libdir)/cctbx/cctbx_sources:g" \ +# -e "s:${MY_B}:${EPREFIX}/usr/$(get_libdir)/cctbx/cctbx_build:g" \ +# -i '{}' \; || die "Fail to correct path" + + sed \ + -e "s:${MY_B}:${EPREFIX}/usr:g" \ + -e "s:${MY_S}:${EPREFIX}/$(python_get_sitedir):g" \ + -i "${MY_B}/libtbx_env" || die + + insinto /usr/share/cctbx + doins "${MY_B}/libtbx_env" || die + + ebegin "removing unnessary files" + rm -r "${S}"/cctbx_sources/{clipper,ccp4io,ucs-fonts,TAG} || die "failed to remove uneeded scons" + find -O3 "${S}" -type f \ + \( -name "*conftest*" -o -name "*.o" -o -name "*.c" -o -name "*.f" -o -name "*.cpp" -o \ + -name "*.pyc" -o -name "SCons*" -o -name "Makefile" -o -name "config.log" \) -delete \ + -print >> "${T}"/clean.log || die + find "${S}" -type d -empty -delete -print >> "${T}"/clean.log || die + find "${MY_B}" -maxdepth 1 -type f -delete -print >> "${T}"/clean.log || die + eend + + dobin "${MY_B}"/bin/* + rm -vrf "${MY_B}/bin" >> "${T}"/clean.log || die + dolib.so "${MY_B}"/lib/lib* + mv "${ED}"/usr/$(get_libdir)/libscitbx_min{,i}pack.so || die + rm -vf "${MY_B}"/lib/lib* >> "${T}"/clean.log || die + + for lib in "${ED}"/usr/$(get_libdir)/*.so; do + baselib=$(basename ${lib}) + mv ${lib}{,.0.0} || die + dosym ${baselib}.0.0 /usr/$(get_libdir)/${baselib} + done + + insinto /usr/include + doins -r "${MY_B}"/include/* || die + rm -rvf "${MY_B}/include" >> "${T}"/clean.log || die + + insinto /usr/libexec/${PN} + doins -r "${MY_B}"/* || die + find "${ED}"/usr/libexec/${PN} -type f -exec chmod 755 '{}' \; + + cd "${MY_S}" + python_domodule * "${MY_B}"/lib/* + rm -rvf "${MY_B}/lib" >> "${T}"/clean.log || die + + sed \ + -e "/PYTHONPATH/s:${MY_S}:$(python_get_sitedir):g" \ + -e "/PYTHONPATH/s:${MY_B}:$(python_get_sitedir):g" \ + -e "/LD_LIBRARY_PATH/s:${MY_B}/lib:${EPREFIX}/usr/$(get_libdir):g" \ + -e "/PATH/s:${MY_B}/bin:${EPREFIX}/usr/bin:g" \ + -e "/PATH/s:${MY_B}/exe:${EPREFIX}/usr/bin:g" \ + -e "/exec/s:${MY_S}:$(python_get_sitedir):g" \ + -e "/LIBTBX_BUILD/s:${MY_B}:${EPREFIX}/usr/share/cctbx:g" \ + -e "s:${MY_B}/exe_dev/:${EPREFIX}/usr/libexec/${PN}/exe_dev/:g" \ + -i "${ED}"/usr/bin/* || die + + python_optimize +} |