Hi all. I was hoping to get some advice on how to handle CUDA as a dependency for a package build on the openSUSE Build Service. A bit of background first. My packages are at https://build.opensuse.org/project/show/home:lawmurray:birch. There is a package there called numbirch that contains numerical routines that can run on either CPU or GPU, using CUDA in the latter case (much like e.g. PyTorch and TensorFlow). Currently I package the CPU version only. Users of the GPU version must currently build from source themselves. For ease of use, I am hoping to find a way to package the GPU version too. To do this I would need to have CUDA as a build dependency. Not a runtime dependency mind you, I think it's fine to expect users to install CUDA separately via their preferred means (Nvidia's repository or runfile installer, see https://developer.nvidia.com/cuda-downloads) to make required shared libraries available at runtime. But I would need to have it available at build time to access the nvcc compiler that CUDA provides. I made an attempt to create a wrapper package for CUDA here: https://build.opensuse.org/package/show/home:lawmurray:birch/cuda-numbirch. The idea was to download the CUDA installer at build time, install it together with a wrapper script that is necessary later, and then I could include this wrapper package as a build dependency for the numbirch package. I quickly discovered that this won't work, as network connections are restricted (understandable). An alternative would be to include the CUDA runfile installer in the package sources. I think that should work technically, although it's large, and unclear to me if having proprietary code included in a package like that is permitted on the openSUSE Build Service. There are some repository-specific approaches that could be taken also. Arch seems to include CUDA in its community repository, and I believe Ubuntu has it available in its standard repositories too. I will experiment with some of this. I'd appreciate any guidance that the community can give on how to proceed.