# Adapted from Arch Linux
create_links() {
    # create soname links
    for _lib in $(find "$PKGDIR" -name '*.so*' | grep -v 'xorg/'); do
        _soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true)
        _base=$(echo ${_soname} | sed -r 's/(.*).so.*/\1.so/')
        [[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}"
        [[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}"
    done
}

cd NVIDIA-Linux-x86_64-$PKGVER/32

install -Dvm755 "libnvidia-compiler.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-compiler.so.$PKGVER
install -Dvm755 "libnvidia-opencl.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-opencl.so.$PKGVER

install -Dvm755 "libGLX.so.0" \
    "$PKGDIR"/opt/32/lib/nvidia/xorg/modules/extensions/libglx.so.0
ln -sv "libglx.so.0" \
    "$PKGDIR"/opt/32/lib/nvidia/xorg/modules/extensions/libglx.so
install -Dvm755 "libGLX_nvidia.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libGLX_nvidia.so.$PKGVER

install -Dvm755 "libEGL_nvidia.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libEGL_nvidia.so.$PKGVER
install -Dvm755 "libGLESv1_CM_nvidia.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libGLESv1_CM_nvidia.so.$PKGVER
install -Dvm755 "libGLESv2_nvidia.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libGLESv2_nvidia.so.$PKGVER

install -Dvm755 "libnvidia-glcore.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-glcore.so.$PKGVER
install -Dvm755 "libnvidia-eglcore.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-eglcore.so.$PKGVER
install -Dvm755 "libnvidia-glsi.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-glsi.so.$PKGVER

install -Dvm755 "libnvidia-ifr.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-ifr.so.$PKGVER
install -Dvm755 "libnvidia-fbc.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-fbc.so.$PKGVER
install -Dvm755 "libnvidia-encode.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-encode.so.$PKGVER
install -Dvm755 "libnvidia-ml.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-ml.so.$PKGVER

install -Dvm755 "libvdpau_nvidia.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/vdpau/libvdpau_nvidia.so.$PKGVER

install -Dvm755 "libnvidia-tls.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-tls.so.$PKGVER
install -Dvm755 "tls/libnvidia-tls.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/tls/libnvidia-tls.so.$PKGVER

install -Dvm755 "libcuda.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libcuda.so.$PKGVER
install -Dvm755 "libnvcuvid.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvcuvid.so.$PKGVER

install -Dvm755 "libnvidia-ptxjitcompiler.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-ptxjitcompiler.so.$PKGVER

install -Dvm755 "libnvidia-fatbinaryloader.so.$PKGVER" \
    "$PKGDIR"/opt/32/lib/libnvidia-fatbinaryloader.so.$PKGVER

rm -rf "$PKGDIR"/usr/{include,share,bin}

create_links

cd ..

abinfo "License and help texts"
for i in README.txt LICENSE NVIDIA_Changelog; do
   install -Dvm644 $i "$PKGDIR"/usr/share/doc/nvidia/$i
done
