From 2889a2f9fcae9e8ae559459b2df7543c39c272d3 Mon Sep 17 00:00:00 2001 From: Quentin Freimanis Date: Sat, 18 Jun 2022 20:36:45 -0700 Subject: [PATCH 1/3] New package: libnvidia-container-1.10.0 --- common/shlibs | 2 + srcpkgs/libnvidia-container-devel | 1 + .../patches/fix_rpc_flags.patch | 12 ++++++ srcpkgs/libnvidia-container/template | 43 +++++++++++++++++++ 4 files changed, 58 insertions(+) create mode 120000 srcpkgs/libnvidia-container-devel create mode 100644 srcpkgs/libnvidia-container/patches/fix_rpc_flags.patch create mode 100644 srcpkgs/libnvidia-container/template diff --git a/common/shlibs b/common/shlibs index 09430986c2df..449848d9e995 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4165,3 +4165,5 @@ libCore.so root-6.24.06_1 libCore.so qtcreator-7.0.2_1 liblowdown.so lowdown-0.11.2_1 libjaylink.so.0 libjaylink-0.2.0_1 +libnvidia-container.so.1 libnvidia-container-1.10.0_1 +libnvidia-container-go.so.1 libnvidia-container-1.10.0_1 diff --git a/srcpkgs/libnvidia-container-devel b/srcpkgs/libnvidia-container-devel new file mode 120000 index 000000000000..39e6f1942c7b --- /dev/null +++ b/srcpkgs/libnvidia-container-devel @@ -0,0 +1 @@ +libnvidia-container \ No newline at end of file diff --git a/srcpkgs/libnvidia-container/patches/fix_rpc_flags.patch b/srcpkgs/libnvidia-container/patches/fix_rpc_flags.patch new file mode 100644 index 000000000000..2ff327e4612c --- /dev/null +++ b/srcpkgs/libnvidia-container/patches/fix_rpc_flags.patch @@ -0,0 +1,12 @@ +--- a/Makefile 2021-11-23 10:58:59.234599602 -0800 ++++ b/Makefile 2021-11-23 11:00:02.476171671 -0800 +@@ -126,7 +126,8 @@ + -Wall -Wextra -Wcast-align -Wpointer-arith -Wmissing-prototypes -Wnonnull \ + -Wwrite-strings -Wlogical-op -Wformat=2 -Wmissing-format-attribute -Winit-self -Wshadow \ + -Wstrict-prototypes -Wunreachable-code -Wconversion -Wsign-conversion \ +- -Wno-unknown-warning-option -Wno-format-extra-args -Wno-gnu-alignof-expression $(CFLAGS) ++ -Wno-unknown-warning-option -Wno-format-extra-args -Wno-gnu-alignof-expression \ ++ -I/usr/include/tirpc -ltirpc $(CFLAGS) + LDFLAGS := -Wl,-zrelro -Wl,-znow -Wl,-zdefs -Wl,--gc-sections $(LDFLAGS) + LDLIBS := $(LDLIBS) + diff --git a/srcpkgs/libnvidia-container/template b/srcpkgs/libnvidia-container/template new file mode 100644 index 000000000000..29cca16981f6 --- /dev/null +++ b/srcpkgs/libnvidia-container/template @@ -0,0 +1,43 @@ +# Template file for 'libnvidia-container' +pkgname=libnvidia-container +version=1.10.0 +revision=1 +archs="x86_64" +hostmakedepends="tar xz curl bmake groff m4 pkg-config which go" +makedepends="rpcsvc-proto libcap-devel libseccomp-devel libtirpc-devel" +short_desc="NVIDIA container runtime library" +maintainer="Quentin Freimanis " +license="Apache-2.0" +homepage="https://github.com/NVIDIA/libnvidia-container" +distfiles="https://github.com/NVIDIA/libnvidia-container/archive/v${version}.tar.gz" +checksum=418bdfa14d6339e21a401b945967945ff0b1e99a319783f84ee59a032ff7759d + +do_build() { + make dist prefix=/usr REVISION=${version} +} + +pre_install() { + cd dist + tar xvf ${pkgname}_${version}_${archs}.tar.xz +} + +do_install() { + vinstall dist/${pkgname}_${version}/usr/lib/${pkgname}.so.${version} 755 /usr/lib/ + vinstall dist/${pkgname}_${version}/usr/lib/${pkgname}-go.so.${version} 755 /usr/lib/ + ln -s /usr/lib/${pkgname}.so.${version} ${DESTDIR}/usr/lib/${pkgname}.so.${version%%.*} + ln -s /usr/lib/${pkgname}-go.so.${version} ${DESTDIR}/usr/lib/${pkgname}-go.so.${version%%.*} + + vbin dist/${pkgname}_${version}/usr/bin/nvidia-container-cli +} + +libnvidia-container-devel_package() { + short_desc+=" - development files" + depends="${sourcepkg}>=${version}_${revision}" + pkg_install() { + vinstall dist/${sourcepkg}_${version}/usr/lib/${sourcepkg}.a 644 /usr/lib/ + ln -s /usr/lib/${pkgname}.so.${version} ${PKGDESTDIR}/usr/lib/${pkgname}.so + ln -s /usr/lib/${pkgname}-go.so.${version} ${PKGDESTDIR}/usr/lib/${pkgname}-go.so + vinstall dist/${sourcepkg}_${version}/usr/include/nvc.h 644 /usr/include/ + vinstall dist/${sourcepkg}_${version}/usr/lib/pkgconfig/${sourcepkg}.pc 644 /usr/lib/pkgconfig/ + } +} From c44f316b398b12c5820c853210a029a5a923fde5 Mon Sep 17 00:00:00 2001 From: Quentin Freimanis Date: Sat, 18 Jun 2022 20:36:51 -0700 Subject: [PATCH 2/3] New package: nvidia-container-toolkit-1.10.0 --- srcpkgs/nvidia-container-toolkit/template | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 srcpkgs/nvidia-container-toolkit/template diff --git a/srcpkgs/nvidia-container-toolkit/template b/srcpkgs/nvidia-container-toolkit/template new file mode 100644 index 000000000000..99d6afdfb11c --- /dev/null +++ b/srcpkgs/nvidia-container-toolkit/template @@ -0,0 +1,24 @@ +# Template file for 'nvidia-container-toolkit' +pkgname=nvidia-container-toolkit +version=1.10.0 +revision=1 +archs="x86_64" +build_style=go +go_import_path=github.com/NVIDIA/nvidia-container-toolkit +go_package="${go_import_path}/cmd/nvidia-container-toolkit + ${go_import_path}/cmd/nvidia-container-runtime + ${go_import_path}/cmd/nvidia-ctk" +depends="libnvidia-container" +short_desc="Build and run containers leveraging NVIDIA GPUs" +maintainer="Quentin Freimanis " +license="Apache-2.0" +homepage="https://github.com/NVIDIA/nvidia-container-toolkit/" +distfiles="https://github.com/NVIDIA/nvidia-container-toolkit/archive/v${version}.tar.gz" +checksum=7c88e6b16df92feac9a14f7ca7f2960409c71760b2563fea29c57c8799930db3 + +post_install() { + ln -sf /usr/bin/nvidia-container-toolkit ${DESTDIR}/usr/bin/nvidia-container-runtime-hook + vmkdir /etc/nvidia-container-runtime 755 + vinstall config/config.toml.centos 644 /etc/nvidia-container-runtime config.toml + vinstall oci-nvidia-hook.json 644 /usr/share/containers/oci/hooks.d 00-oci-nvidia-hook.json +} From 87336a99a137a40048c7cbe1b96f50fe8b94a1ef Mon Sep 17 00:00:00 2001 From: Quentin Freimanis Date: Sat, 18 Jun 2022 20:36:54 -0700 Subject: [PATCH 3/3] New package: nvidia-docker-2.11.0 --- srcpkgs/nvidia-docker/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/nvidia-docker/template diff --git a/srcpkgs/nvidia-docker/template b/srcpkgs/nvidia-docker/template new file mode 100644 index 000000000000..1bb57464f874 --- /dev/null +++ b/srcpkgs/nvidia-docker/template @@ -0,0 +1,17 @@ +# Template file for 'nvidia-docker' +pkgname=nvidia-docker +version=2.11.0 +revision=1 +archs="x86_64" +depends="nvidia-container-toolkit libnvidia-container docker" +short_desc="Build and run Docker containers leveraging NVIDIA GPUs" +maintainer="Quentin Freimanis " +license="Apache-2.0" +homepage="https://github.com/NVIDIA/nvidia-docker" +distfiles="https://github.com/NVIDIA/nvidia-docker/archive/v${version}.tar.gz" +checksum=01d96e5063da71ad51989b555dfe2fc9af64115ae128e47ceec3a27a3e7dccf2 + +do_install() { + vbin nvidia-docker + vinstall daemon.json 644 etc/docker/ +}