abinfo "Unpacking loonggl ..."
dpkg -x "$SRCDIR"/loonggl_${__UPSTREAM_VER}_loong64.deb \
    "$PKGDIR"/

abinfo "Moving libraries to the correct location ..."
mv -v "$PKGDIR"/usr/lib/loongarch64-linux-gnu/* \
    "$PKGDIR"/usr/lib/
rm -rv "$PKGDIR"/usr/lib/loongarch64-linux-gnu

abinfo "Setting executable bits for shared objects ..."
chmod -v +x "$PKGDIR"/usr/lib/{,dri/,loonggpu/,gsgpu/}*.so*

# FIXME: X.Org Server does not earch for DRI in /usr/lib/dri.
# Whereas LoongGPU expects DRI modules to be stored in this path.
abinfo "Moving X11 DRI module to the correct location ..."
mkdir -pv "$PKGDIR"/usr/lib/xorg/modules/dri
ln -sv ../../../gsgpu/dri/gsgpu_dri.so \
    "$PKGDIR"/usr/lib/xorg/modules/dri/gsgpu_dri.so
ln -sv ../../../loonggpu/dri/loonggpu_dri.so \
    "$PKGDIR"/usr/lib/xorg/modules/dri/loonggpu_dri.so

abinfo "Creating a symlink to libglapidispatch ..."
ln -sv loonggpu/libglapidispatch.so.0 \
    "$PKGDIR"/usr/lib/libglapidispatch.so.0

abinfo "Creating a symlink to libgsgpu_glapi.so.0 ..."
ln -sv gsgpu/libgsgpu_glapi.so.0 \
    "$PKGDIR"/usr/lib/libgsgpu_glapi.so.0
ln -sv loonggpu/libloonggpu_glapi.so.0 \
    "$PKGDIR"/usr/lib/libloonggpu_glapi.so.0

# FIXME: See the loonggl-hack script for this stupidity.
abinfo "Renaming JSON files for loonggl-hack ..."
rename 40 60 "$PKGDIR"/usr/share/glvnd/egl_vendor.d/*.json
