95 lines
3.6 KiB
Bash
95 lines
3.6 KiB
Bash
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 <xpamych@yandex.ru>'
|
||
maintainer_ru='Евгений Храмов <xpamych@yandex.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
|
||
}
|