diff options
Diffstat (limited to 'sci-libs/mkl')
-rw-r--r-- | sci-libs/mkl/Manifest | 5 | ||||
-rw-r--r-- | sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild | 125 |
2 files changed, 130 insertions, 0 deletions
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest index 090194d47f9e..06164875e6bc 100644 --- a/sci-libs/mkl/Manifest +++ b/sci-libs/mkl/Manifest @@ -8,6 +8,11 @@ AUX mkl-static-ilp64-iomp.pc 344 BLAKE2B dea2d1e1aa563367edb1a811d2ea109db3c1b07 AUX mkl-static-ilp64-seq.pc 333 BLAKE2B 4c21e956ae5d6ffd8b6e701458a37a74c74a04fcf4e8742e37468703345d41cf43f85122d40eb8265a693bb816899a725b025334ea124f3f39c960aa9507f57b SHA512 ff795ec9ac7ab5ab12fe0aaf1e84fe35d71b7010523c6a85aea734ff0b3ffb896293aa7f4a994bceaad119043b20b9903d5a0dd45840c2417a11fa63d7f347f3 AUX mkl-static-lp64-iomp.pc 342 BLAKE2B eddd6bba13426762a47a306469613e2010f5882b5db312f757e94a3f468e95ea7099219cbe78e14d9ddf66b21ff5cb07074ed32f19b21ccd1e78a1f3dbf94ed6 SHA512 2f9550b64adae53a68baa9a6c1faaebb24a2e17cf74f6c50a8c5f149d5da759bf6607261d14e94ac46d8aad2bf32487e41e94f1a5bdda18eefde2c5f23a58294 AUX mkl-static-lp64-seq.pc 331 BLAKE2B 5c234425fff2462f668fc8dd681a9c3d6d1c4e39f73ec4e5cb984eeeede1f84907ffcba3066b81912b7e8712d2dc154af5703d19d085b0f5a5fa3ab0290f2457 SHA512 b828a7513a491e852c65922159333418be026497d4b0b8b456607463af8b0d71da910e0eb4cd915f5a7eb1d0ff959c87bfc443df352f1f84ce9006530dd0af7f +DIST intel-oneapi-mkl-2022.2.1-2022.2.1-16993_amd64.deb 202488238 BLAKE2B 9bea2cb85aebaa99eac17563e35e4a33e564e58b3e797ce97c140ee510870d7bccd5ffc138eea86a3c25de988a39b5ed06182cb87f103fd8c2dc772d1bd50b81 SHA512 21f2c8b9608fc942821624132aa905f2ec0863f6af9b8a02c166f88b41620ea4e66d1e6551f5da53e727103e9035f28018b12ee3bee33c76ea10be6a68c82748 +DIST intel-oneapi-mkl-common-2022.2.1-2022.2.1-16993_all.deb 23890 BLAKE2B 0287ac646a19e8a33b25cbef006cb98c410872fff2294a15d4e35dd55fc037b523c1923d99d2445a1959b6515ef4b6fdfa7243338c2d194b3c4bf4548949216c SHA512 362640c14713bc8186ea712bb6720311cce1dae6e775d7aade4c613a7a5708224507ff4fefa1081165fa366840f94f8ae73ee345699a4fee5cf7cd7607d9f94e +DIST intel-oneapi-mkl-common-devel-2022.2.1-2022.2.1-16993_all.deb 4688928 BLAKE2B 545641f68ba7b835859092242a60e065dd7bae8e538b27afaa1f7b266c6ce9aa5c0777b6ced7b8f3a35b70dbe6c6cbfad1db7c370a7a4f4478c8f23b4075bfd5 SHA512 275f267cf103b92ed0bdf56fdd55aee7c5ba5f42d2f7507abe1219aba72f325b9386c8e203a04d4a91020598d0d9cc82b0fc7abe22491c1103f44f3a31d42b2a +DIST intel-oneapi-mkl-devel-2022.2.1-2022.2.1-16993_amd64.deb 183600754 BLAKE2B 94373a9d71625f71fb406d302eabed7800dc1b0e0ffef6268bf93abdccb8da4adb87643ebe73cd187fe1432b43e6de4eee4b716bb67a483c862e1beef0db486a SHA512 a259580266798e16b6fe6195cfacb1cdd9ae519c86945e7df29b7eff344fbfb238b0126231a99d2190cdbdba6340dce3f40574f443efd09b4955c86260d331da DIST mkl-2020.4.304.tar.gz 549319314 BLAKE2B 9ffdb0dc87c9fba1f003961f09cabef7376bd3d10e98085900c863383f0eb1e026f0f804390b2edf4e29d5b0b685af7b74092a7cb5cc871ca656462cec9487e4 SHA512 9c4ff7710484a1c0dd3e6ba7401eb6cb599f771651006b6a570c45b9abf1f43e8e400940d859a656c6892aa81e634c4d74eefe88e8287fdbb19a513f332326b7 EBUILD mkl-2020.4.304.ebuild 6674 BLAKE2B abe1ed5d32ba1114aee0aa33c4b0259f1ce6f241dbfc146f344903ea5d815e81b4059a54df0ab2b934b3dd672f1471666565989981ed54bbf15283411e7bd8c1 SHA512 3deaa4858df6b8ddb58755ddcbfd62d11ea98af5b38597cfa916b80cf59b23fe043dd667b9b6c2f1d458545579002f07d375a484e0896aa7f6ef5572021baeae +EBUILD mkl-2022.2.1.16993-r1.ebuild 4912 BLAKE2B dacb260aa27721d07f0090366aa7f1472d44e4bbcd805261fbc3ee19c4532d2d407d9c6beb02beab5b8075105cb2ac463fe3fd40e79438cbb924e4aec97c4797 SHA512 ef77d05f773bda971ba5e299caa8341d7dfbd510579f8bc28e1bd169da93f71fbee8bc192237be84598d32dcf17e4ba08d944d00936d04e84bcdd1dc64aeae77 MISC metadata.xml 799 BLAKE2B 98a214e275d4d4930086f0dd1695c4d5dfd44da3399f77cc1f839e403423050c6d20f7b38892bd9ff96e5e8578a4c83ff8979e6505dfb67417c6dbb40fe59500 SHA512 3b609c66ec90f057cb16c6721e6a5bfd6a3522a1ff2bba47e2a77212e26f06fb850be8b178a0a2020f751882ddd32fda082879c7f5a9b008c041ce493f55d28a diff --git a/sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild b/sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild new file mode 100644 index 000000000000..2db42ce2ecab --- /dev/null +++ b/sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit unpacker + +DESCRIPTION="Intel Math Kernel Library" +HOMEPAGE="https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html" +SRC_URI=" + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-devel-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_amd64.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-common-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_all.deb + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-common-devel-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_all.deb +" +S="${WORKDIR}" + +LICENSE="ISSL" +SLOT="0" +KEYWORDS="~amd64" +IUSE="static-libs" +RESTRICT="strip" + +# MKL uses Intel/LLVM OpenMP by default. +# One can change the threadding layer to "gnu" or "tbb" +# through the MKL_THREADING_LAYER env var. +RDEPEND=" + app-eselect/eselect-blas + app-eselect/eselect-lapack + dev-cpp/tbb + dev-libs/opencl-icd-loader + sys-cluster/mpich + sys-libs/libomp +" +# bug #801460 +BDEPEND="app-arch/xz-utils[extra-filters]" + +QA_PREBUILT="*" +QA_TEXTRELS="*" +QA_SONAME="*" + +src_prepare() { + default + # Drop conda stuff + rm -r opt/intel/oneapi/conda_channel || die +} + +src_install() { + # Symlink pkgconfig and cmake files + pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/pkgconfig" || die + for file in *.pc; do + dosym "../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/pkgconfig/${file}" "/usr/share/pkgconfig/${file}" + done + popd || die + pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/cmake/mkl" || die + for file in *.cmake; do + dosym "../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/cmake/mkl/${file}" "/usr/$(get_libdir)/cmake/mkl/${file}" + done + popd || die + + # Symlink files in locale directory + pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/locale/en_US" || die + for file in *; do + dosym "../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/locale/en_US/${file}" "/usr/share/locale/en_US/${file}" + done + popd || die + + # Move everything over to the image directory + mv "${S}/"* "${ED}" || die + + # Create convenience symlink that does not include the version number + dosym "$(ver_cut 1-3)" /opt/intel/oneapi/mkl/latest + + dodir /usr/$(get_libdir)/blas/mkl + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so.3 + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so.3 + dodir /usr/$(get_libdir)/lapack/mkl + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so.3 + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so + dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so.3 + + newenvd - "70intel-mkl" <<-_EOF_ + MKLROOT="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)" + PATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/bin/intel64" + # we need to duplicate it in ROOTPATH for Portage to respect... + ROOTPATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/bin/intel64" + LDPATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64" + _EOF_ +} + +pkg_postinst() { + local libdir=$(get_libdir) me="mkl" + + # check blas + eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me} + local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2) + if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then + eselect blas set ${libdir} ${me} + elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." + else + elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." + elog "To use blas [${me}] implementation, you have to issue (as root):" + elog "\t eselect blas set ${libdir} ${me}" + fi + + # check lapack + eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me} + local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2) + if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then + eselect lapack set ${libdir} ${me} + elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]." + else + elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]." + elog "To use lapack [${me}] implementation, you have to issue (as root):" + elog "\t eselect lapack set ${libdir} ${me}" + fi +} + +pkg_postrm() { + eselect blas validate + eselect lapack validate +} |