← recipes

Commit 31928873

0
files
+0
added
-0
deleted
@@ -1,120 +1,121 @@
1 -pkgname: nvidia-utils
2 -pkgver: '610.57.04'
3 -pkgrel: '1'
4 -pkgdesc: NVIDIA userspace drivers: libGLX, libEGL, Vulkan ICD, nvidia-smi
5 -url: https://www.nvidia.com/en-us/drivers/unix/
6 -arch: x86_64
7 -license:
8 -- custom
9 -
10 -depends:
11 -- nvidia-dkms
12 -
13 -source:
14 -- https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}.run
15 -sha256sums:
16 -- SKIP
17 -
18 -build: |
19 - sh NVIDIA-Linux-x86_64-${pkgver}.run --extract-only
20 - cd NVIDIA-Linux-x86_64-${pkgver}
21 -
22 - # --- Biblioteki ---
23 - install -dm0755 ${PKGDIR}/usr/lib
24 - install -dm0755 ${PKGDIR}/usr/bin
25 - install -dm0755 ${PKGDIR}/usr/share/{applications,pixmaps,man/man1,doc/nvidia}
26 - install -dm0755 ${PKGDIR}/usr/share/glvnd/egl_vendor.d
27 - install -dm0755 ${PKGDIR}/usr/share/vulkan/icd.d
28 - install -dm0755 ${PKGDIR}/usr/lib/xorg/modules/{drivers,extensions}
29 -
30 - # Wszystkie biblioteki .so.${pkgver}
31 - for _lib in *.so.${pkgver} *.so.${pkgver%.*.*}; do
32 - [ -f "$_lib" ] && install -m 0755 "$_lib" ${PKGDIR}/usr/lib/
33 - done
34 -
35 - # nvidia-smi, nvidia-settings, nvidia-xconfig, nvidia-modprobe
36 - for _bin in nvidia-smi nvidia-settings nvidia-xconfig nvidia-modprobe nvidia-persistenced; do
37 - [ -f "$_bin" ] && install -m 0755 "$_bin" ${PKGDIR}/usr/bin/
38 - done
39 -
40 - # Man pages
41 - for _man in nvidia-smi nvidia-settings nvidia-xconfig nvidia-modprobe nvidia-persistenced; do
42 - [ -f "${_man}.1.gz" ] && install -m 0644 "${_man}.1.gz" ${PKGDIR}/usr/share/man/man1/
43 - done
44 -
45 - # Desktop entry + ikona
46 - if [ -f nvidia-settings.desktop ]; then
47 - sed -e "s@__UTILS_PATH__/@/usr/bin/@g" -e "s@__PIXMAP_PATH__/@/usr/share/pixmaps/@g" \
48 - nvidia-settings.desktop > ${PKGDIR}/usr/share/applications/nvidia-settings.desktop
49 - fi
50 - [ -f nvidia-settings.png ] && install -m 0644 nvidia-settings.png ${PKGDIR}/usr/share/pixmaps/
51 -
52 - # Xorg DDX + rozszerzenie GLX
53 - [ -f nvidia_drv.so ] && install -m 0755 nvidia_drv.so ${PKGDIR}/usr/lib/xorg/modules/drivers/
54 - if [ -f libglxserver_nvidia.so.${pkgver} ]; then
55 - install -m 0755 libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/
56 - ln -sf libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
57 - fi
58 -
59 - # EGL vendor (GLVND)
60 - if [ -f 10_nvidia.json ]; then
61 - install -m 0644 10_nvidia.json ${PKGDIR}/usr/share/glvnd/egl_vendor.d/
62 - fi
63 -
64 - # --- KLUCZOWE: Vulkan ICD do icd.d, NIE implicit_layer.d ---
65 - if [ -f nvidia_icd.json ]; then
66 - install -m 0644 nvidia_icd.json ${PKGDIR}/usr/share/vulkan/icd.d/
67 - fi
68 - # Warstwa pośrednia (jeśli jest)
69 - if [ -f nvidia_layers.json ]; then
70 - install -dm0755 ${PKGDIR}/usr/share/vulkan/explicit_layer.d
71 - install -m 0644 nvidia_layers.json ${PKGDIR}/usr/share/vulkan/explicit_layer.d/
72 - fi
73 -
74 - # --- Symlinki SONAME ---
75 - cd ${PKGDIR}/usr/lib
76 - for _lib in *.so.${pkgver}; do
77 - [ -f "$_lib" ] || continue
78 - _soname=$(readelf -d "$_lib" 2>/dev/null | awk -F'[][]' '/SONAME/{print $2}')
79 - if [ -n "$_soname" ] && [ ! -e "$_soname" ]; then
80 - ln -sf "$_lib" "$_soname"
81 - fi
82 - _base=$(echo "$_lib" | sed -E 's/\.so\.[0-9.]+$/.so/')
83 - if [ ! -e "$_base" ]; then
84 - ln -sf "$_lib" "$_base"
85 - fi
86 - done
87 -
88 - # Ręczne symlinki dla kluczowych bibliotek (na wypadek gdyby readelf zawiódł)
89 - for _pair in \
90 - "libGLX_nvidia.so.${pkgver}:libGLX_nvidia.so.0" \
91 - "libEGL_nvidia.so.${pkgver}:libEGL_nvidia.so.0" \
92 - "libGLESv2_nvidia.so.${pkgver}:libGLESv2_nvidia.so.0" \
93 - "libGLESv1_CM_nvidia.so.${pkgver}:libGLESv1_CM_nvidia.so.0" \
94 - "libnvidia-glcore.so.${pkgver}:libnvidia-glcore.so.${pkgver%.*.*}" \
95 - "libnvidia-eglcore.so.${pkgver}:libnvidia-eglcore.so.${pkgver%.*.*}" \
96 - "libnvidia-glsi.so.${pkgver}:libnvidia-glsi.so.${pkgver%.*.*}" \
97 - "libnvidia-rtcore.so.${pkgver}:libnvidia-rtcore.so.${pkgver%.*.*}" \
98 - "libnvidia-allocator.so.${pkgver}:libnvidia-allocator.so.1" \
99 - "libnvidia-egl-gbm.so.${pkgver}:libnvidia-egl-gbm.so.1" \
100 - "libnvidia-egl-wayland.so.${pkgver}:libnvidia-egl-wayland.so.1" \
101 - "libnvidia-vulkan-producer.so.${pkgver}:libnvidia-vulkan-producer.so" \
102 - "libnvidia-api.so.${pkgver}:libnvidia-api.so.1" \
103 - ; do
104 - _src="${_pair%%:*}"; _dst="${_pair##*:}"
105 - [ -f "${_src}" ] && [ ! -e "${_dst}" ] && ln -sf "${_src}" "${_dst}"
106 - done
107 -
108 - # Dokumentacja
109 - if [ -d html ]; then
110 - cp -r html/* ${PKGDIR}/usr/share/doc/nvidia/
111 - fi
112 -
113 -package: |
114 - true
115 -
116 -hooks:
117 - post-install: |
118 - ldconfig
119 - # Zarejestruj EGL Wayland/GBM jeśli używasz Waylanda
1 +pkgname: nvidia-utils
2 +pkgver: '610.57.04'
3 +pkgrel: '1'
4 +pkgdesc: NVIDIA userspace drivers: libGLX, libEGL, Vulkan ICD, nvidia-smi
5 +url: https://www.nvidia.com/en-us/drivers/unix/
6 +arch: x86_64
7 +license:
8 +- custom
9 +
10 +depends:
11 +- nvidia-dkms
12 +- linux-headers
13 +
14 +source:
15 +- https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}.run
16 +sha256sums:
17 +- SKIP
18 +
19 +build: |
20 + sh NVIDIA-Linux-x86_64-${pkgver}.run --extract-only
21 + cd NVIDIA-Linux-x86_64-${pkgver}
22 +
23 + # --- Biblioteki ---
24 + install -dm0755 ${PKGDIR}/usr/lib
25 + install -dm0755 ${PKGDIR}/usr/bin
26 + install -dm0755 ${PKGDIR}/usr/share/{applications,pixmaps,man/man1,doc/nvidia}
27 + install -dm0755 ${PKGDIR}/usr/share/glvnd/egl_vendor.d
28 + install -dm0755 ${PKGDIR}/usr/share/vulkan/icd.d
29 + install -dm0755 ${PKGDIR}/usr/lib/xorg/modules/{drivers,extensions}
30 +
31 + # Wszystkie biblioteki .so.${pkgver}
32 + for _lib in *.so.${pkgver} *.so.${pkgver%.*.*}; do
33 + [ -f "$_lib" ] && install -m 0755 "$_lib" ${PKGDIR}/usr/lib/
34 + done
35 +
36 + # nvidia-smi, nvidia-settings, nvidia-xconfig, nvidia-modprobe
37 + for _bin in nvidia-smi nvidia-settings nvidia-xconfig nvidia-modprobe nvidia-persistenced; do
38 + [ -f "$_bin" ] && install -m 0755 "$_bin" ${PKGDIR}/usr/bin/
39 + done
40 +
41 + # Man pages
42 + for _man in nvidia-smi nvidia-settings nvidia-xconfig nvidia-modprobe nvidia-persistenced; do
43 + [ -f "${_man}.1.gz" ] && install -m 0644 "${_man}.1.gz" ${PKGDIR}/usr/share/man/man1/
44 + done
45 +
46 + # Desktop entry + ikona
47 + if [ -f nvidia-settings.desktop ]; then
48 + sed -e "s@__UTILS_PATH__/@/usr/bin/@g" -e "s@__PIXMAP_PATH__/@/usr/share/pixmaps/@g" \
49 + nvidia-settings.desktop > ${PKGDIR}/usr/share/applications/nvidia-settings.desktop
50 + fi
51 + [ -f nvidia-settings.png ] && install -m 0644 nvidia-settings.png ${PKGDIR}/usr/share/pixmaps/
52 +
53 + # Xorg DDX + rozszerzenie GLX
54 + [ -f nvidia_drv.so ] && install -m 0755 nvidia_drv.so ${PKGDIR}/usr/lib/xorg/modules/drivers/
55 + if [ -f libglxserver_nvidia.so.${pkgver} ]; then
56 + install -m 0755 libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/
57 + ln -sf libglxserver_nvidia.so.${pkgver} ${PKGDIR}/usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
58 + fi
59 +
60 + # EGL vendor (GLVND)
61 + if [ -f 10_nvidia.json ]; then
62 + install -m 0644 10_nvidia.json ${PKGDIR}/usr/share/glvnd/egl_vendor.d/
63 + fi
64 +
65 + # --- KLUCZOWE: Vulkan ICD do icd.d, NIE implicit_layer.d ---
66 + if [ -f nvidia_icd.json ]; then
67 + install -m 0644 nvidia_icd.json ${PKGDIR}/usr/share/vulkan/icd.d/
68 + fi
69 + # Warstwa pośrednia (jeśli jest)
70 + if [ -f nvidia_layers.json ]; then
71 + install -dm0755 ${PKGDIR}/usr/share/vulkan/explicit_layer.d
72 + install -m 0644 nvidia_layers.json ${PKGDIR}/usr/share/vulkan/explicit_layer.d/
73 + fi
74 +
75 + # --- Symlinki SONAME ---
76 + cd ${PKGDIR}/usr/lib
77 + for _lib in *.so.${pkgver}; do
78 + [ -f "$_lib" ] || continue
79 + _soname=$(readelf -d "$_lib" 2>/dev/null | awk -F'[][]' '/SONAME/{print $2}')
80 + if [ -n "$_soname" ] && [ ! -e "$_soname" ]; then
81 + ln -sf "$_lib" "$_soname"
82 + fi
83 + _base=$(echo "$_lib" | sed -E 's/\.so\.[0-9.]+$/.so/')
84 + if [ ! -e "$_base" ]; then
85 + ln -sf "$_lib" "$_base"
86 + fi
87 + done
88 +
89 + # Ręczne symlinki dla kluczowych bibliotek (na wypadek gdyby readelf zawiódł)
90 + for _pair in \
91 + "libGLX_nvidia.so.${pkgver}:libGLX_nvidia.so.0" \
92 + "libEGL_nvidia.so.${pkgver}:libEGL_nvidia.so.0" \
93 + "libGLESv2_nvidia.so.${pkgver}:libGLESv2_nvidia.so.0" \
94 + "libGLESv1_CM_nvidia.so.${pkgver}:libGLESv1_CM_nvidia.so.0" \
95 + "libnvidia-glcore.so.${pkgver}:libnvidia-glcore.so.${pkgver%.*.*}" \
96 + "libnvidia-eglcore.so.${pkgver}:libnvidia-eglcore.so.${pkgver%.*.*}" \
97 + "libnvidia-glsi.so.${pkgver}:libnvidia-glsi.so.${pkgver%.*.*}" \
98 + "libnvidia-rtcore.so.${pkgver}:libnvidia-rtcore.so.${pkgver%.*.*}" \
99 + "libnvidia-allocator.so.${pkgver}:libnvidia-allocator.so.1" \
100 + "libnvidia-egl-gbm.so.${pkgver}:libnvidia-egl-gbm.so.1" \
101 + "libnvidia-egl-wayland.so.${pkgver}:libnvidia-egl-wayland.so.1" \
102 + "libnvidia-vulkan-producer.so.${pkgver}:libnvidia-vulkan-producer.so" \
103 + "libnvidia-api.so.${pkgver}:libnvidia-api.so.1" \
104 + ; do
105 + _src="${_pair%%:*}"; _dst="${_pair##*:}"
106 + [ -f "${_src}" ] && [ ! -e "${_dst}" ] && ln -sf "${_src}" "${_dst}"
107 + done
108 +
109 + # Dokumentacja
110 + if [ -d html ]; then
111 + cp -r html/* ${PKGDIR}/usr/share/doc/nvidia/
112 + fi
113 +
114 +package: |
115 + true
116 +
117 +hooks:
118 + post-install: |
119 + ldconfig
120 + # Zarejestruj EGL Wayland/GBM jeśli używasz Waylanda
120 121 udevadm control --reload-rules || true