Date: Sunday, April 9, 2023 @ 11:05:22
  Author: dvzrv
Revision: 1443179

upgpkg: maturin 0.14.17-3: Rebuild to provide Python bindings.

Build using PEP517 backends and split out Python bindings to python-maturin.

Modified:
  maturin/trunk/PKGBUILD

----------+
 PKGBUILD |   58 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 47 insertions(+), 11 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-04-09 10:44:00 UTC (rev 1443178)
+++ PKGBUILD    2023-04-09 11:05:22 UTC (rev 1443179)
@@ -1,21 +1,26 @@
 # Maintainer: David Runge <[email protected]>
 
-pkgname=maturin
+pkgbase=maturin
+pkgname=(maturin python-maturin)
 pkgver=0.14.17
-pkgrel=2
+pkgrel=3
 pkgdesc="Build and publish crates with pyo3, rust-cpython and cffi bindings"
 url="https://github.com/PyO3/maturin";
 arch=(x86_64)
 license=(Apache)
-depends=(
+makedepends=(
+  bzip2
   gcc-libs
+  git
   glibc
+  python-build
+  python-installer
+  python-setuptools
+  python-setuptools-rust
+  python-tomli
+  python-wheel
   rust
 )
-makedepends=(
-  bzip2
-  git
-)
 # disable LTO until ring can be built with it: 
https://github.com/briansmith/ring/issues/1444
 options=(!lto)
 source=($url/archive/v$pkgver/$pkgname-v$pkgver.tar.gz)
@@ -22,6 +27,16 @@
 
sha512sums=('d12503530b0d865b6b3c40e564742d0e798107102fb7167c137c1b0a4fa63bfad739320901cff15a680a09034aae553c3cd55cf0c8f1d3ed0fd96404bb93cbfe')
 
b2sums=('4d0d2d5101a05017883b27dca270c3f3b84c77dd53f19db04c2b5a988b699f3b39b6b7a88c7ac02b5e322679f5509bdf68b5c5f27ec229816c394ebc5fb57fd8')
 
+_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 $pkgname-$pkgver
   cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
@@ -29,13 +44,34 @@
 
 build() {
   cd $pkgname-$pkgver
-  cargo build --frozen --release --all-features
+  python -m build --wheel --no-isolation
 }
 
-package() {
-  depends+=(libbz2.so)
+package_maturin() {
+  depends=(
+    bzip2
+    gcc-libs
+    glibc
+    rust
+  )
 
   cd $pkgname-$pkgver
-  install -vDm 755 target/release/maturin -t "$pkgdir/usr/bin/"
+  python -m installer --destdir="$pkgdir" dist/*.whl
   install -vDm 644 {Changelog,README}.md -t "$pkgdir/usr/share/doc/$pkgname/"
+
+  (
+    cd "$pkgdir"
+    _pick python-$pkgbase usr/lib
+  )
 }
+
+package_python-maturin() {
+  pkgdesc+=" - Python bindings"
+  depends=(
+    maturin
+    python
+    python-tomli
+  )
+
+  mv -v $pkgname/* "$pkgdir"
+}

Reply via email to