forked from FemboyOS/fempkg_recipes
48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
pkgname = "cuda"
|
|
pkgver = "13.0.2"
|
|
driver = "580.95.05"
|
|
source = f"https://developer.download.nvidia.com/compute/cuda/{pkgver}/local_installers/cuda_{pkgver}_{driver}_linux.run"
|
|
builddir = f"/tmp/fempkg/build/{pkgname}"
|
|
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
|
|
deps = []
|
|
|
|
build = [
|
|
# Extract
|
|
f"mkdir /tmp/fempkg/build {fembuilddir} || true",
|
|
|
|
# 64-bit build
|
|
f"cd {builddir} && rm -rf /opt/cuda-* || true && mkdir -pv /opt/cuda-{pkgver} || true && ln -sfv cuda-{pkgver} /opt/cuda || true",
|
|
f"""cd {builddir} && sh /var/lib/fempkg/pkgs/cuda_{pkgver}_{driver}_linux.run \\
|
|
--target cuda_{pkgver}_{driver}_linux \\
|
|
--noexec
|
|
pushd cuda_{pkgver}_{driver}_linux/builds
|
|
rm -rf cuda_nsight cuda_sanitizer_api nsight_{{compute,systems}}
|
|
rm -rvf bin integration NVIDIA*.run
|
|
cp version.json /opt/cuda-{pkgver}
|
|
cp EULA.txt /opt/cuda-{pkgver}
|
|
rm version.json EULA.txt
|
|
mkdir -p /opt/cuda-{pkgver}/bin
|
|
for lib in *; do
|
|
cp -vR $lib/* /opt/cuda-{pkgver}
|
|
rm -rf $lib
|
|
done
|
|
ln -svf lib64 /opt/cuda-{pkgver}/lib
|
|
for mf in $(find /opt/cuda-{pkgver} -name Makefile); do
|
|
sed -i "s|/usr/local/cuda|/opt/cuda-{pkgver}|g" "$mf"
|
|
done
|
|
popd
|
|
rm -rf cuda_{pkgver}_{driver}_linux""",
|
|
f"""cd {builddir} && sed -e "/.*unsupported GNU version.*/d" \\
|
|
-e "/.*unsupported clang version.*/d" \\
|
|
-i /opt/cuda-{pkgver}/targets/x86_64-linux/include/crt/host_config.h""",
|
|
|
|
f"cd /etc/ld.so.conf.d/ && wget -O cuda.conf https://rocketleaguechatp.duckdns.org/cuda.conf && "
|
|
f"cd /etc/profile.d/ && wget -O cuda.sh https://rocketleaguechatp.duckdns.org/cuda.sh",
|
|
|
|
# Cleanup
|
|
f"rm -rf {builddir} {fembuilddir}"
|
|
]
|
|
|
|
triggers = [
|
|
f"cd /tmp && /sbin/ldconfig"
|
|
] |