diff --git a/maturin/alr.sh b/maturin/alr.sh index d7086d5..ae57d4e 100644 --- a/maturin/alr.sh +++ b/maturin/alr.sh @@ -1,6 +1,10 @@ -name='maturin' +basepkg_name='maturin' +name=( + maturin + python3-maturin +) version='1.10.2' -release='3' +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' @@ -8,141 +12,83 @@ maintainer='Evgeny Khramov ' maintainer_ru='Евгений Храмов ' architectures=('amd64') license=('Apache-2.0 OR MIT') -provides=('maturin') -conflicts=('maturin') -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=("${deps[@]}") -deps_redos=("${deps[@]}") -deps_rhel=("${deps[@]}") -deps_rosa=("${deps[@]}") - -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) -sources=("https://github.com/PyO3/maturin/archive/v$version/$name-v$version.tar.gz") +sources=("https://github.com/PyO3/maturin/archive/v$version/$basepkg_name-v$version.tar.gz") checksums=('8acb4eb224896b3fa67036680e9e7908eeb8e5c2ea3a495e987a3f2edb666f36') -_pick() { - local p="$1" f d; shift - for f; do - d="$srcdir/$p/${f#$pkgdir/}" - mkdir -p "$(dirname "$d")" - mv "$f" "$d" - rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" - done +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 $name-$version + cd $basepkg_name-$version cargo fetch --locked --target "x86_64-unknown-linux-gnu" } build() { - cd $name-$version + cd $basepkg_name-$version MATURIN_SETUP_ARGS="--all-features" python -m build --wheel --no-isolation } -package() { - cd $name-$version +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/$pkgname/" + install -vDm 644 {Changelog,README}.md -t "$pkgdir/usr/share/doc/maturin/" install-license license-mit ./maturin/LICENSE - ( - cd "$pkgdir" - _pick python-name usr/lib usr/lib64 - ) + # Remove Python libraries - they go to python3-maturin subpackage + rm -rf "$pkgdir/usr/lib" "$pkgdir/usr/lib64" } -files() { + +files_maturin() { files-find-bin - files-find-lib 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 +} diff --git a/python3-maturin/alr.sh b/python3-maturin/alr.sh deleted file mode 100644 index deae6b6..0000000 --- a/python3-maturin/alr.sh +++ /dev/null @@ -1,125 +0,0 @@ -name='python3-maturin' -version='1.9.4' -release='2' -desc='Build and publish crates with pyo3, rust-cpython and cffi bindings - Python bindings' -desc_ru='Привязки Python для сборки и публикации крейтов с pyo3, rust-cpython и cffi' -homepage='https://github.com/PyO3/maturin' -maintainer='Evgeny Khramov ' -maintainer_ru='Евгений Храмов ' -architectures=('amd64') -license=('Apache-2.0 OR MIT') -provides=('python3-maturin') -conflicts=('python3-maturin') - -deps=( - 'maturin' - 'python3' -) - -deps_alt=( - 'maturin' - 'python3' -) -deps_arch=( - 'maturin' - 'python' -) -deps_debian=( - 'maturin' - 'python3' -) -deps_fedora=("${deps[@]}") -deps_redos=("${deps[@]}") -deps_rhel=("${deps[@]}") -deps_rosa=("${deps[@]}") - -build_deps=( - 'bzip2' - 'libgcc' - 'git' - 'glibc' - 'python3-build' - 'python3-installer' - 'python3-setuptools' - 'python3-setuptools-rust' - 'python3-wheel' - 'rust' -) - -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' -) -build_deps_arch=( - 'bzip2' - 'gcc-libs' - 'git' - 'glibc' - 'python-build' - 'python-installer' - 'python-setuptools' - 'python-setuptools-rust' - 'python-wheel' - 'rust' -) -build_deps_debian=( - 'libbz2-dev' - 'libgcc-s1' - 'git' - 'libc6' - 'python3-build' - 'python3-installer' - 'python3-setuptools' - 'python3-setuptools-rust' - 'python3-wheel' - 'rustc' -) -build_deps_fedora=("${build_deps[@]}") -build_deps_redos=("${build_deps[@]}") -build_deps_rhel=("${build_deps[@]}") -build_deps_rosa=("${build_deps[@]}") - -options=(!lto) -sources=("https://github.com/PyO3/maturin/archive/v$version/maturin-v$version.tar.gz") -checksums=('SKIP') - - -_pick() { - local p="$1" f d; shift - for f; do - d="$srcdir/$p/${f#$pkgdir/}" - mkdir -p "$(dirname "$d")" - mv "$f" "$d" - rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" - done -} - -prepare() { - cd maturin-$version - cargo fetch --locked --target "x86_64-unknown-linux-gnu" -} - -build() { - cd maturin-$version - MATURIN_SETUP_ARGS="--all-features" python -m build --wheel --no-isolation -} - -package() { - cd maturin-$version - mv -v maturin/* "$pkgdir" - - install-license ./license-mit ./python3-maturin/LICENSE -} - -files() { - files-find "./usr/lib/python3.*/site-packages" - files-find-share "licenses" -}