pkgname = "cuda" pkgver = "13.1.1" 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" ]