mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-09 15:13:31 -04:00
dev-python/qiskit-aer: new package
Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Gábor Oszkár Dénes <gaboroszkar@protonmail.com>
This commit is contained in:
1
dev-python/qiskit-aer/Manifest
Normal file
1
dev-python/qiskit-aer/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST qiskit-aer-0.10.3.tar.gz 6657490 BLAKE2B 443f7df2259c720fb93a60659da9b1cded25f9dbdf585bd0322e9f4effe4c5955daf6587d6c3964ab4a7e4a8bf6270f857abae1cf4e6b0718801daa6a96c2aec SHA512 c882624bac373566b003a01fffa6963d4ad8796ce18786b50ef85350daac26814c147b36067eb6fce4f264919b3680246e767b5c13ac338817fd394620392079
|
||||
@@ -0,0 +1,10 @@
|
||||
--- a/setup.py 2022-02-09 17:41:55.000000000 +0100
|
||||
+++ b/setup.py 2022-03-02 14:44:04.344551645 +0100
|
||||
@@ -72,7 +72,6 @@
|
||||
|
||||
setup_requirements = common_requirements + [
|
||||
'scikit-build>=0.11.0',
|
||||
- 'cmake!=3.17,!=3.17.0',
|
||||
'pybind11>=2.6',
|
||||
]
|
||||
|
||||
13
dev-python/qiskit-aer/metadata.xml
Normal file
13
dev-python/qiskit-aer/metadata.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- comaintainers-welcomed -->
|
||||
<maintainer type="person">
|
||||
<email>gaboroszkar@protonmail.com</email>
|
||||
<name>Gábor Oszkár Dénes</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.
|
||||
Qiskit is made up of elements that each work together to enable quantum computing. This element is Aer, which provides high-performance quantum computing simulators with realistic noise models.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
||||
92
dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild
Normal file
92
dev-python/qiskit-aer/qiskit-aer-0.10.3.ebuild
Normal file
@@ -0,0 +1,92 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
|
||||
HOMEPAGE="https://github.com/Qiskit/qiskit-aer"
|
||||
SRC_URI="https://github.com/Qiskit/qiskit-aer/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
|
||||
# because importing library causes an error.
|
||||
# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
|
||||
# Using sci-libs/openblas instead here,
|
||||
# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
|
||||
COMMON_DEPEND="
|
||||
>=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
|
||||
>=dev-cpp/nlohmann_json-3.1.1
|
||||
>=dev-libs/spdlog-1.5.0
|
||||
>=dev-cpp/muParserX-4.0.8
|
||||
virtual/cblas[eselect-ldso]
|
||||
sci-libs/openblas[eselect-ldso]"
|
||||
|
||||
BDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>dev-util/cmake-3.17
|
||||
>=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/ddt[${PYTHON_USEDEP}]
|
||||
dev-python/fixtures[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-python/qiskit-terra-0.19.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/scipy-1.0[${PYTHON_USEDEP}]"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
# Remove cmake dependency from setup.py because of
|
||||
# invalid dependency description. We put this dependency check in BDEPEND.
|
||||
PATCHES=( "${FILESDIR}/qiskit-aer-0.10.3-remove-cmake-dependency.patch" )
|
||||
|
||||
check_openblas() {
|
||||
local libdir=$(get_libdir) me="openblas"
|
||||
|
||||
# check blas
|
||||
local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
|
||||
if [[ ${current_blas} != "${me}" ]]; then
|
||||
eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
|
||||
eerror "To use qiskit-aer, you have to issue (as root):"
|
||||
eerror "\t eselect blas set ${libdir} ${me}"
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use test; then
|
||||
check_openblas
|
||||
if [ $? -ne 0 ]; then
|
||||
die "Set blas implementation to openblas using 'eselect blas set openblas'!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
export DISABLE_CONAN="ON"
|
||||
export DISABLE_DEPENDENCY_INSTALL="ON"
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# We have to hide the source code directory so tests
|
||||
# do not use these, but instead the compiled library.
|
||||
mv qiskit qiskit.hidden || die
|
||||
epytest
|
||||
mv qiskit.hidden qiskit || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
check_openblas
|
||||
}
|
||||
Reference in New Issue
Block a user