commit:     58b733cf90a98c542be4b42dda16c0cd2bb37311
Author:     Maxim <kolmax94 <AT> gmail <DOT> com>
AuthorDate: Fri Mar 13 16:58:47 2015 +0000
Commit:     Maxim Koltsov <maksbotan <AT> gentoo <DOT> org>
CommitDate: Fri Mar 13 17:16:27 2015 +0000
URL:        https://gitweb.gentoo.org/dev/maksbotan.git/commit/?id=58b733cf

Add dev-libs/caffe-9999 ebuild

Package-Manager: portage-2.2.17

 dev-libs/caffe/Manifest          |   2 +
 dev-libs/caffe/caffe-9999.ebuild | 133 +++++++++++++++++++++++++++++++++++++++
 dev-libs/caffe/metadata.xml      |  11 ++++
 3 files changed, 146 insertions(+)

diff --git a/dev-libs/caffe/Manifest b/dev-libs/caffe/Manifest
new file mode 100644
index 0000000..fd218ac
--- /dev/null
+++ b/dev-libs/caffe/Manifest
@@ -0,0 +1,2 @@
+EBUILD caffe-9999.ebuild 2849 SHA256 
158e1ed5ebe1c861dcff44d474cfd3a785f2af25226c66ac1e96bc68a07e03d0 SHA512 
f8bd7462bb8c8af0537a87cb33c5ddcc55d499556f1554f92326cac689a9542eca90619c15950855a87316b6f9888e6d4fcff2f8dbe93b030492a170a4a6e992
 WHIRLPOOL 
9205c209bd6c7675d09dc4d44ad998eb82d50fc80a89a10daf52ef15ab5a87718104f971ff7b4f02d2abec25ead60a434688c8d39c28d70177232ec9d55c66ef
+MISC metadata.xml 305 SHA256 
bf868a44e6d34e3495a705d30149d16294c294141ae4b87eb0c7a2949df0d83c SHA512 
a124af1bf9b9d853cd09e411b3a0558ba0b7b04b3e65c7c0625cacf5e4cbbf5e4bab747b0dab9318c2da042668ac9be79d47bb66049bf32f934221808101a2cc
 WHIRLPOOL 
5be2ce659ffc4a20111c3ef3d827709b0ba150f7bc60aa17f1c17986aa7ac7670f775ded2850977f5f84054343a4efe52e828bfd4775003dc725ec4f43d772a1

diff --git a/dev-libs/caffe/caffe-9999.ebuild b/dev-libs/caffe/caffe-9999.ebuild
new file mode 100644
index 0000000..5472075
--- /dev/null
+++ b/dev-libs/caffe/caffe-9999.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+EGIT_REPO_URI="git://github.com/BVLC/caffe.git"
+PYTHON_COMPAT=( python2_7 )
+
+inherit toolchain-funcs multilib git-r3 python-single-r1
+# Can't use cuda.eclass as nvcc does not like --compiler-bindir set there for 
some reason
+
+DESCRIPTION="Deep learning framework by the BVLC"
+HOMEPAGE="http://caffe.berkeleyvision.org/";
+SRC_URI=""
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="cuda python"
+
+CDEPEND="
+       dev-libs/boost:=[python?]
+       media-libs/opencv:=
+       dev-libs/protobuf:=[python?]
+       dev-cpp/glog:=
+       dev-cpp/gflags:=
+       sci-libs/hdf5:=
+       dev-libs/leveldb:=
+       app-arch/snappy:=
+       dev-db/lmdb:=
+       cuda? (
+               dev-util/nvidia-cuda-toolkit
+       )
+       python? (
+               ${PYTHON_DEPS}
+       )
+"
+DEPEND="
+       ${CDEPEND}
+       sys-devel/bc
+"
+RDEPEND="
+       ${CDEPEND}
+       python? (
+               dev-python/pandas[${PYTHON_USEDEP}]
+               dev-python/numpy[${PYTHON_USEDEP}]
+               media-gfx/pydot[${PYTHON_USEDEP}]
+               sci-libs/scikits_image[${PYTHON_USEDEP}]
+       )
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+src_configure() {
+       # Respect CFLAGS
+       sed -e '/COMMON_FLAGS/s/-O2//' -i Makefile
+
+       cat > Makefile.config << EOF
+BLAS := atlas
+BUILD_DIR := build
+DISTRIBUTE_DIR := distribute
+EOF
+
+       if use cuda; then
+               cat >> Makefile.config << EOF
+CUDA_DIR := "${EPREFIX}/opt/cuda"
+
+CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
+                        -gencode arch=compute_20,code=sm_21 \
+                -gencode arch=compute_30,code=sm_30 \
+                -gencode arch=compute_35,code=sm_35 \
+                -gencode arch=compute_50,code=sm_50 \
+                    -gencode arch=compute_50,code=compute_50
+EOF
+
+               # This should be handled by Makefile itself, but somehow is 
broken
+               sed -e "/CUDA_LIB_DIR/s/lib/$(get_libdir)/" -i Makefile || die 
"sed failed"
+       else
+               echo "CPU_ONLY := 1" >> Makefile.config
+       fi
+
+       if use python; then
+               python_export PYTHON_INCLUDEDIR PYTHON_SITEDIR PYTHON_LIBPATH
+               cat >> Makefile.config << EOF
+PYTHON_INCLUDE := "${PYTHON_INCLUDEDIR}" "${PYTHON_SITEDIR}/numpy/core/include"
+PYTHON_LIB := "$(dirname ${PYTHON_LIBPATH})"
+WITH_PYTHON_LAYER := 1
+
+INCLUDE_DIRS += \$(PYTHON_INCLUDE)
+LIBRARY_DIRS += \$(PYTHON_LIB)
+EOF
+
+               local py_version=${EPYTHON#python}
+               sed -e "/PYTHON_LIBRARIES/s/python\s/python-${py_version} /g" \
+                       -e '/blas/s/atlas//' \
+                       -i Makefile || die "sed failed"
+       fi
+
+       tc-export CC CXX
+}
+
+src_compile() {
+       emake
+
+       use python && emake pycaffe
+}
+
+src_test() {
+       emake runtest
+
+       use python && emake pytest
+}
+
+src_install() {
+       emake distribute
+
+       for bin in distribute/bin/*; do
+               dobin ${bin}
+       done
+
+       insinto /usr
+       doins -r distribute/include/
+
+       dolib.a distribute/lib/libcaffe.a
+       dolib.so distribute/lib/libcaffe.so
+
+       rm distribute/python/caffe/_caffe.cpp || die "rm failed"
+       python_domodule distribute/python/caffe
+       for script in distribute/python/*.py; do
+               python_doscript ${script}
+       done
+}

diff --git a/dev-libs/caffe/metadata.xml b/dev-libs/caffe/metadata.xml
new file mode 100644
index 0000000..f6c645a
--- /dev/null
+++ b/dev-libs/caffe/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<maintainer>
+       <email>maksbo...@gentoo.org</email>
+       <name>Maxim Koltsov</name>
+</maintainer>
+<use>
+       <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
+</use>
+</pkgmetadata>

Reply via email to