nvidia-cuda-sdk: gentoo's cuda-sdk can't build cryptohaze (multiforcer et al) so we fix it

This commit is contained in:
Zero_Chaos 2012-03-14 04:32:09 +00:00
parent 7daef28094
commit aa0c99bd18
6 changed files with 2 additions and 327 deletions

View file

@ -1,8 +1,2 @@
AUX 99cudasdk 67 RMD160 fc48d3d14e4bf8d9931466fa9b93dbc0cd8e4990 SHA1 66f378316b2577681201f4cdad50b7c2186f8885 SHA256 d2312e36071b1fe63289a4632b62fab7ebe91f8a48eb4550c5170389ab6fc69f
AUX nvidia-cuda-sdk-gcc44.patch 773 RMD160 d7a77700f9dec97129154de4567ffe7e70e166d1 SHA1 de38ac238d8c7ca65c10676b182b1d39c6d99b22 SHA256 5feaae82fdeebd9f67e9b8a1351b39b61d963956df0abce6903f9c4c91c68b90
DIST cudasdk_2.2_linux.run 55951278 RMD160 68c05b95b2a1f9230b9a076f1d9cf150d877d8b6 SHA1 72a6877c649a7444a853260d21387ed8a80b98c8 SHA256 1962a0a0795a8d2aef7c4e113319bd0bb376a7bb553405d94d731e594ef316fb
DIST cudasdk_2.3_linux.run 66005555 RMD160 e6995f190663ec5826f986420f2c02920a484444 SHA1 6411d962d251cede1fac0eb6eaee001e00c053f4 SHA256 26ec80755b124a8484c93a6481a3c19f4fa7fdae96b087fd889346981c463873
DIST gpucomputingsdk_3.0_linux.run 100306703 RMD160 5850ac6e4c80d5b8f01dfb1f4b34500bc3264650 SHA1 5e1e32a8d27249ea1a427256eaffee7c1f885d21 SHA256 7a3afdd52023cfa49bc67182729ce498cc85fa370dcd4bd33c299fb75945ec5e
EBUILD nvidia-cuda-sdk-2.2-r1.ebuild 2110 RMD160 0e5728db169991c704a6033e5a3672406c6739ff SHA1 dfc39971e802af8154ed04d551cc322c1eb4be42 SHA256 01739d47178bc351b62257c2b4b065f59d834a559920df4a5b53870a3ac4004a
EBUILD nvidia-cuda-sdk-2.3-r1.ebuild 2076 RMD160 3af209d0d3035bd176f3d71ec20dc589efe3382c SHA1 8f346d7b022f5f898c3d8bed302963b1a090756d SHA256 cb924578fdb59779cdb99d228f31493d735624530ce0436f6d42c1d713603ca5
EBUILD nvidia-cuda-sdk-3.0-r2.ebuild 1989 RMD160 4e88a59baca124b072155c8a7b835f39efe829d1 SHA1 41c91c1e1f6a624351d8dd837b672bd0d790340e SHA256 d6f881ebe7a835c13a6ef81b21f3326355efcbeb9ba0067e47e63f29e0af173c
DIST gpucomputingsdk_4.1.28_linux.run 155378846 RMD160 e2ddaec1f75d6620013ad8f076436f171d25df45 SHA1 3f533bf68fd72dd915c0f7cb115992a4dca67eb1 SHA256 1d6c6b6b25ae70d7a725cb89a06644b7101a63c1508bce69daacd32b32b0f6f9
EBUILD nvidia-cuda-sdk-4.1.ebuild 1973 RMD160 09d59e40b13e9f96ded79b57381f0ebd293c6459 SHA1 3434c25bc1c76f1c6d5e7a812569977689760abc SHA256 9821d4f27522b01ab4e50160011733bc330682aed6171cf15bf09839e69450b2

View file

@ -1 +0,0 @@
LDPATH=/opt/cuda/sdk/common/lib:/opt/cuda/sdk/common/lib/linux/lib

View file

@ -1,20 +0,0 @@
diff -Nru a/sdk/C/common/common.mk b/sdk/C/common/common.mk
--- a/sdk/C/common/common.mk 2010-03-03 14:14:46.000000000 +0100
+++ b/sdk/C/common/common.mk 2010-06-16 18:50:21.126984135 +0200
@@ -160,12 +160,12 @@
BINSUBDIR := debug
LIBSUFFIX := D
else
- COMMONFLAGS += -O2
+ COMMONFLAGS +=
BINSUBDIR := release
LIBSUFFIX :=
- NVCCFLAGS += --compiler-options -fno-strict-aliasing
- CXXFLAGS += -fno-strict-aliasing
- CFLAGS += -fno-strict-aliasing
+ NVCCFLAGS += --compiler-options -fno-strict-aliasing --compiler-options -fno-inline -Xcompiler -D__builtin_stdarg_start=__builtin_va_start
+ CXXFLAGS += -O2 -fno-strict-aliasing -fno-inline
+ CFLAGS += -O2 -fno-strict-aliasing -fno-inline
endif
# architecture flag for cubin build

View file

@ -1,98 +0,0 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-2.2-r1.ebuild,v 1.2 2009/07/18 21:09:03 spock Exp $
EAPI=2
inherit eutils toolchain-funcs
DESCRIPTION="NVIDIA CUDA Software Development Kit"
HOMEPAGE="http://developer.nvidia.com/cuda"
CUDA_V=${PV//./_}
SRC_URI="http://developer.download.nvidia.com/compute/cuda/${CUDA_V}/sdk/cudasdk_${PV}_linux.run"
LICENSE="CUDPP"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug -doc emulation -examples"
RDEPEND=">=dev-util/nvidia-cuda-toolkit-2.2
examples? ( !emulation? ( >=x11-drivers/nvidia-drivers-180.22 ) )
virtual/glut"
DEPEND="${RDEPEND}"
S="${WORKDIR}"
RESTRICT="binchecks"
pkg_setup() {
if [ "$(gcc-major-version)" == "4" -a $(gcc-minor-version) -ge 4 ]; then
eerror "This package requires <=sys-devel/gcc-4.3 to build sucessfully."
eerror "Please use gcc-config to switch to a compatible GCC version."
die "<=sys-devel/gcc-4.3 required"
fi
}
src_unpack() {
unpack_makeself
}
src_prepare() {
sed -i -e 's:CUDA_INSTALL_PATH ?= .*:CUDA_INSTALL_PATH ?= /opt/cuda:' sdk/common/common.mk
}
src_compile() {
local myopts=""
if use emulation; then
myopts="emu=1"
fi
if use debug; then
myopts="${myopts} dbg=1"
fi
cd "${S}/sdk"
emake lib/libcutil.so || die
emake lib/libparamgl.so || die
emake lib/librendercheckgl.so || die
if ! use examples; then
return
fi
emake cuda-install=/opt/cuda ${myopts} || die
}
src_install() {
cd "${S}/sdk"
if ! use doc; then
rm -rf doc ReleaseNotes.htm releaseNotesData
fi
if ! use examples; then
rm -rf projects bin tools
fi
# Put libs inside sdk
exeinto /opt/cuda/lib
doexe "${S}"/sdk/lib/* || die
rm -rf "${S}"/sdk/lib/*
for f in $(find .); do
local t="$(dirname ${f})"
if [[ "${t/obj\/}" != "${t}" || "${t##*.}" == "a" ]]; then
continue
fi
if [[ -x "${f}" && ! -d "${f}" ]]; then
exeinto "/opt/cuda/sdk/${t}"
doexe "${f}"
else
insinto "/opt/cuda/sdk/${t}"
doins "${f}"
fi
done
doenvd "${FILESDIR}/99cudasdk"
}

View file

@ -1,96 +0,0 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-2.3.ebuild,v 1.1 2009/07/29 06:57:43 spock Exp $
EAPI=2
inherit eutils toolchain-funcs
DESCRIPTION="NVIDIA CUDA Software Development Kit"
HOMEPAGE="http://developer.nvidia.com/cuda"
CUDA_V=${PV//./_}
SRC_URI="http://developer.download.nvidia.com/compute/cuda/${CUDA_V}/sdk/cudasdk_${PV}_linux.run"
LICENSE="CUDPP"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug -doc -emulation -examples +pentoo"
RDEPEND=">=dev-util/nvidia-cuda-toolkit-2.3
examples? ( !emulation? ( >=x11-drivers/nvidia-drivers-190.18 ) )
virtual/glut"
DEPEND="${RDEPEND}"
S="${WORKDIR}"
RESTRICT="binchecks"
pkg_setup() {
if [ "$(gcc-major-version)" == "4" -a $(gcc-minor-version) -ge 4 ]; then
eerror "This package requires <=sys-devel/gcc-4.3 to build sucessfully."
eerror "Please use gcc-config to switch to a compatible GCC version."
die "<=sys-devel/gcc-4.3 required"
fi
}
src_unpack() {
unpack_makeself
}
src_prepare() {
sed -i -e 's:CUDA_INSTALL_PATH ?= .*:CUDA_INSTALL_PATH ?= /opt/cuda:' sdk/shared/common.mk sdk/C/common/common.mk
}
src_compile() {
cd "${S}/sdk/C"
emake lib/libcutil.so || die
emake lib/libparamgl.so || die
emake lib/librendercheckgl.so || die
if ! use examples; then
return
fi
local myopts=""
if use emulation; then
myopts="emu=1"
fi
if use debug; then
myopts="${myopts} dbg=1"
fi
cd "${S}/sdk/C"
emake cuda-install=/opt/cuda ${myopts} || die
}
src_install() {
cd "${S}/sdk"
# This only contains object files.
rm -rf projects
if ! use doc; then
rm -rf C/doc C/ReleaseNotes.html C/releaseNotesData
fi
if ! use examples; then
rm -rf C/bin C/src
fi
for f in $(find .); do
local t="$(dirname ${f})"
if [[ "${t/obj\/}" != "${t}" || "${t##*.}" == "a" ]]; then
continue
fi
if [[ -x "${f}" && ! -d "${f}" ]]; then
exeinto "/opt/cuda/sdk/${t}"
doexe "${f}"
else
insinto "/opt/cuda/sdk/${t}"
doins "${f}"
fi
done
}

View file

@ -1,104 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=2
inherit eutils toolchain-funcs
DESCRIPTION="NVIDIA CUDA Software Development Kit"
HOMEPAGE="http://developer.nvidia.com/cuda"
CUDA_V=${PV//_/-}
DIR_V=${CUDA_V//./_}
DIR_V=${DIR_V//beta/Beta}
SRC_URI="http://developer.download.nvidia.com/compute/cuda/${DIR_V}/sdk/gpucomputingsdk_${CUDA_V}_linux.run"
LICENSE="CUDPP"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug doc emulation examples opencl +cuda +pentoo"
RDEPEND=">=dev-util/nvidia-cuda-toolkit-3.0
examples? ( !emulation? ( >=x11-drivers/nvidia-drivers-195.30 ) )
media-libs/freeglut"
DEPEND="${RDEPEND}"
S="${WORKDIR}"
RESTRICT="binchecks"
src_unpack() {
unpack_makeself
}
src_prepare() {
epatch "${FILESDIR}"/$PN-gcc44.patch
sed -i -e 's:CUDA_INSTALL_PATH ?= .*:CUDA_INSTALL_PATH ?= /opt/cuda:' sdk/shared/common.mk sdk/C/common/common.mk || die "Failed to set path"
}
src_compile() {
cd "${S}/sdk/C"
emake lib/libcutil.so || die
emake lib/libparamgl.so || die
emake lib/librendercheckgl.so || die
emake shared/libshrutil.so || die
if ! use examples; then
return
fi
local myopts=""
if use emulation; then
myopts="emu=1"
fi
if use debug; then
myopts="${myopts} dbg=1"
fi
cd "${S}/sdk"
if use cuda; then
cd C
emake cuda-install=/opt/cuda ${myopts} || die
cd ..
fi
if use opencl; then
cd OpenCL
emake || die
cd ..
fi
}
src_install() {
cd "${S}/sdk"
if ! use doc; then
rm -rf doc ReleaseNotes.htm releaseNotesData
fi
if ! use examples; then
rm -rf bin tools C/common/src
fi
if ! use opencl; then
rm -rf OpenCL
fi
for f in $(find .); do
local t="$(dirname ${f})"
if [[ "${t/obj\/}" != "${t}" || "${t##*.}" == "a" ]]; then
continue
fi
if [[ -x "${f}" && ! -d "${f}" ]]; then
exeinto "/opt/cuda/sdk/${t}"
doexe "${f}"
else
insinto "/opt/cuda/sdk/${t}"
doins "${f}"
fi
done
}