diff --git a/PKGBUILD b/PKGBUILD index 9436445..dfdacc8 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,34 +1,32 @@ # Maintainer: CreamSodass pkgname=vapoursynth-plugin-vship-cuda-git -pkgrel=4 +pkgrel=4.1 pkgver=5.0.1.4.gdc0f1ba pkgdesc="Plugin for Vapoursynth: vship for nvidia gpus (GIT version)" arch=('x86_64') url='https://codeberg.org/Line-fr/Vship' license=('MIT') depends=('cuda') -makedepends=('git') +makedepends=('git' 'gcc15') optdepends=('vapoursynth: vapoursynth plugin usage') provides=("vapoursynth-plugin-vship" "libvship") conflicts=("vapoursynth-plugin-vship" "libvship") -source=("vship::git+https://codeberg.org/Line-fr/Vship.git") -sha256sums=('SKIP') +source=("vship::git+https://codeberg.org/Line-fr/Vship.git" + "cuda-ccbin.patch") +sha256sums=('SKIP' + 'a70e866937ef15324a77afa8a02bdcdfff838c1a35ceebbe66b5ac10575d54a9') + +prepare() { + cd "$srcdir/vship" + patch -Np1 -i "$srcdir/cuda-ccbin.patch" +} build() { cd "$srcdir/vship" export PATH="/opt/cuda/bin:$PATH" - nvcc -x cu src/VshipLib.cpp \ - -t "$(nproc)" \ - -ccbin "${CXX:-g++}" \ - -std=c++17 \ - -I include \ - -arch=all \ - --shared \ - -Xcompiler "${CXXFLAGS} -fPIC" \ - -O3 \ - -o libvship.so + make buildcuda CUDA_CCBIN=gcc-15 } pkgver() { diff --git a/cuda-ccbin.patch b/cuda-ccbin.patch new file mode 100644 index 0000000..58cf1d5 --- /dev/null +++ b/cuda-ccbin.patch @@ -0,0 +1,35 @@ +diff --git a/Makefile b/Makefile +index e6d65a4..cff93ea 100644 +--- a/Makefile ++++ b/Makefile +@@ -5,6 +5,8 @@ DESTDIR ?= + + HIPARCH := gfx1201,gfx1200,gfx1100,gfx1101,gfx1102,gfx1103,gfx1151,gfx1012,gfx1030,gfx1031,gfx1032,gfx906,gfx801,gfx802,gfx803 + ++CUDA_CCBIN ?= ++ + ifeq ($(OS),Windows_NT) + vulkanLink := -I "${VULKAN_SDK}\Include" -L "${VULKAN_SDK}\Lib" -lvulkan-1 + dllend := .dll +@@ -37,6 +39,8 @@ else + fatbincompresscuda := + endif + ++cudaccbin = $(if $(CUDA_CCBIN),-ccbin $(CUDA_CCBIN),) ++ + .FORCE: + + buildFFVSHIP: src/FFVship.cpp .FORCE +@@ -46,10 +50,10 @@ build: src/VshipLib.cpp .FORCE + hipcc src/VshipLib.cpp -g -std=c++17 -Wall -Wno-ignored-attributes -I "$(current_dir)include" --offload-arch=native -shared $(fpic) -o "$(current_dir)libvship$(dllend)" + + buildcuda: src/VshipLib.cpp .FORCE +- nvcc -x cu src/VshipLib.cpp -g -std=c++17 -I "$(current_dir)include" -arch=native -shared $(fpiccuda) -o "$(current_dir)libvship$(dllend)" ++ nvcc $(cudaccbin) -x cu src/VshipLib.cpp -g -std=c++17 -I "$(current_dir)include" -arch=native -shared $(fpiccuda) -o "$(current_dir)libvship$(dllend)" + + buildcudaall: src/VshipLib.cpp .FORCE +- nvcc -x cu src/VshipLib.cpp -g -std=c++17 -I "$(current_dir)include" $(fatbincompresscuda) -arch=all -shared $(fpiccuda) -o "$(current_dir)libvship$(dllend)" ++ nvcc $(cudaccbin) -x cu src/VshipLib.cpp -g -std=c++17 -I "$(current_dir)include" $(fatbincompresscuda) -arch=all -shared $(fpiccuda) -o "$(current_dir)libvship$(dllend)" + + buildall: src/VshipLib.cpp .FORCE + hipcc src/VshipLib.cpp -g -std=c++17 -Wall -Wno-ignored-attributes -I "$(current_dir)include" $(fatbincompressamd) --offload-arch=$(HIPARCH) -shared $(fpic) -o "$(current_dir)libvship$(dllend)"