dev-libs/beignet: run "eselect opencl" in pkg_postinst()
authorMarek Szuba <marecki@gentoo.org>
Thu, 27 Sep 2018 09:42:27 +0000 (10:42 +0100)
committerMarek Szuba <marecki@gentoo.org>
Thu, 27 Sep 2018 09:42:56 +0000 (10:42 +0100)
Select ocl-icd if the relevant USE flag was set, self otherwise. In both
cases use --use-old to honour possible earlier user-made choice.

Package-Manager: Portage-2.3.49, Repoman-2.3.10

dev-libs/beignet/beignet-1.3.2-r2.ebuild

index bc69b887c3d534096155d11f4cee451f402779d7..189160961421ad1defc049c873977d1b239736ce 100644 (file)
@@ -25,16 +25,16 @@ else
        S=${WORKDIR}/Beignet-${PV}-Source
 fi
 
-COMMON="media-libs/mesa[${MULTILIB_USEDEP}]
+COMMON="app-eselect/eselect-opencl
+       media-libs/mesa[${MULTILIB_USEDEP}]
        <sys-devel/clang-6.0.9999:=[${MULTILIB_USEDEP}]
        >=x11-libs/libdrm-2.4.70[video_cards_intel,${MULTILIB_USEDEP}]
        x11-libs/libXext[${MULTILIB_USEDEP}]
-       x11-libs/libXfixes[${MULTILIB_USEDEP}]"
-RDEPEND="${COMMON}
-       app-eselect/eselect-opencl"
+       x11-libs/libXfixes[${MULTILIB_USEDEP}]
+       ocl-icd? ( dev-libs/ocl-icd )"
+RDEPEND="${COMMON}"
 DEPEND="${COMMON}
        ${PYTHON_DEPS}
-       ocl-icd? ( dev-libs/ocl-icd )
        virtual/pkgconfig"
 
 LLVM_MAX_SLOT=6
@@ -105,3 +105,11 @@ multilib_src_install() {
        dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so.1
        dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so
 }
+
+pkg_postinst() {
+       if use ocl-icd; then
+               "${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
+       else
+               "${ROOT}"/usr/bin/eselect opencl set --use-old beignet
+       fi
+}