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"
]