basepkg_name='maturin' name=( maturin python3-maturin ) version='1.10.2' release='4' desc='Build and publish crates with pyo3, rust-cpython and cffi bindings' desc_ru='Сборка и публикация крейтов с привязками pyo3, rust-cpython и cffi' homepage='https://github.com/PyO3/maturin' maintainer='Evgeny Khramov ' maintainer_ru='Евгений Храмов ' architectures=('amd64') license=('Apache-2.0 OR MIT') sources=("https://github.com/PyO3/maturin/archive/v$version/$basepkg_name-v$version.tar.gz") checksums=('8acb4eb224896b3fa67036680e9e7908eeb8e5c2ea3a495e987a3f2edb666f36') meta_maturin() { desc="Build and publish crates with pyo3, rust-cpython and cffi bindings" desc_ru="Сборка и публикация крейтов с привязками pyo3, rust-cpython и cffi" deps+=('bzip2' 'libgcc' 'glibc' 'openssl' 'rust') deps_alt+=('libbzip2' 'libgcc' 'glibc-core' 'openssl' 'rust') deps_arch+=('bzip2' 'gcc-libs' 'glibc' 'openssl' 'rust') deps_debian+=('libbz2-1.0' 'libgcc-s1' 'libc6' 'libssl3' 'rustc') deps_fedora+=('bzip2' 'libgcc' 'glibc' 'openssl' 'rust') deps_redos+=("${deps_fedora[@]}") deps_rhel+=("${deps_fedora[@]}") deps_rosa+=("${deps_fedora[@]}") build_deps+=('bzip2' 'libgcc' 'git' 'glibc' 'python3-build' 'python3-installer' 'python3-setuptools' 'python3-setuptools-rust' 'python3-wheel' 'rust' 'cargo' 'openssl-devel') build_deps_alt+=('libbzip2' 'libgcc' 'git' 'glibc-core' 'python3-module-build' 'python3-module-installer' 'python3-module-setuptools' 'python3-module-setuptools-rust' 'python3-module-wheel' 'rust' 'cargo' 'openssl-devel') build_deps_arch+=('bzip2' 'gcc-libs' 'git' 'glibc' 'python-build' 'python-installer' 'python-setuptools' 'python-setuptools-rust' 'python-wheel' 'rust' 'cargo' 'openssl') build_deps_debian+=('libbz2-dev' 'libgcc-s1' 'git' 'libc6' 'python3-build' 'python3-installer' 'python3-setuptools' 'python3-setuptools-rust' 'python3-wheel' 'rustc' 'cargo' 'libssl-dev') build_deps_fedora+=("${build_deps[@]}") build_deps_redos+=("${build_deps[@]}") build_deps_rhel+=("${build_deps[@]}") build_deps_rosa+=("${build_deps[@]}") options+=(!lto) } meta_python3-maturin() { desc="Build and publish crates with pyo3, rust-cpython and cffi bindings - Python bindings" desc_ru="Сборка и публикация крейтов с привязками pyo3, rust-cpython и cffi - привязки Python" deps+=('maturin' 'python3') deps_alt+=('maturin' 'python3') deps_arch+=('maturin' 'python') deps_debian+=('maturin' 'python3') deps_fedora+=('maturin' 'python3') deps_redos+=("${deps_fedora[@]}") deps_rhel+=("${deps_fedora[@]}") deps_rosa+=("${deps_fedora[@]}") } prepare() { cd $basepkg_name-$version cargo fetch --locked --target "x86_64-unknown-linux-gnu" } build() { cd $basepkg_name-$version MATURIN_SETUP_ARGS="--all-features" python -m build --wheel --no-isolation } package_maturin() { cd $basepkg_name-$version python -m installer --destdir="$pkgdir" --prefix=/usr dist/*.whl install -vDm 644 {Changelog,README}.md -t "$pkgdir/usr/share/doc/maturin/" install-license license-mit ./maturin/LICENSE # Remove Python libraries - they go to python3-maturin subpackage rm -rf "$pkgdir/usr/lib" "$pkgdir/usr/lib64" } files_maturin() { files-find-bin files-find-share } package_python3-maturin() { cd $basepkg_name-$version python -m installer --destdir="$pkgdir" --prefix=/usr dist/*.whl install-license license-mit ./maturin/LICENSE # Remove binary - it goes to main maturin package rm -rf "$pkgdir/usr/bin" "$pkgdir/usr/share/doc" } files_python3-maturin() { files-find-lib }