Skip to content

Instantly share code, notes, and snippets.

@hasancatalgol
Created August 17, 2025 15:11
Show Gist options
  • Select an option

  • Save hasancatalgol/900c631ef4911f9aca20de409e0c90f6 to your computer and use it in GitHub Desktop.

Select an option

Save hasancatalgol/900c631ef4911f9aca20de409e0c90f6 to your computer and use it in GitHub Desktop.
python-deltalake-1.1.4.patch
pkgbase = python-deltalake
pkgdesc = Native Delta Lake Python binding based on delta-rs with Pandas integration
pkgver = 1.1.4
pkgrel = 1
url = https://delta.io/
arch = x86_64
license = Apache-2.0
makedepends = python-build
makedepends = python-installer
makedepends = python-wheel
makedepends = python-maturin
depends = python
depends = python-pyarrow
optdepends = python-pandas: for interoperability with pandas frames
optdepends = python-pyspark: for spark integration
options = !lto
source = https://files.pythonhosted.org/packages/source/d/deltalake/deltalake-1.1.4.tar.gz
b2sums = 2c55cedb2454f5bdd42c74c05e088e78720491d664dfb1b743205ff4c438bcef67aa27b4173ac2e9ca67c479702a58c58b6936c2ea0ef927639ee178beaa5e44
pkgname = python-deltalake
# Maintainer: Alexandre Bury <alexandre.bury@gmail.com>
# Contributor: Hasan Çatalgöl <hasancatalgol at gmail.com>
# Upstream (deltalake) is the Python package name on PyPI.
# We use a helper _name so we don't duplicate strings all over the file.
_name=deltalake
# The canonical AUR name for Python packages is python-<project>.
pkgname="python-${_name}"
# Package version — should match the upstream PyPI release tag.
# Remember to bump pkgrel back to 1 when pkgver changes.
pkgver=1.1.4
# Package release — increment when you change the PKGBUILD without changing pkgver.
pkgrel=1
# One-line human-readable summary shown by pacman.
pkgdesc="Native Delta Lake Python binding based on delta-rs with Pandas integration"
# Target architectures. This builds native Rust extensions via maturin,
# so it’s arch-specific. Keep x86_64; consider adding 'aarch64' if you test it.
arch=("x86_64")
# Project homepage
url="https://delta.io/"
license=('Apache-2.0')
# Runtime deps installed alongside the wheel.
# Pinning minimum versions is optional in Arch; upstream typically requires recent pyarrow.
depends=('python' 'python-pyarrow')
# Build flags: disable LTO to avoid potential Rust link-time issues across toolchains.
options=('!lto')
# Optional runtime features that improve interoperability.
optdepends=('python-pandas: for interoperability with pandas frames'
'python-pyspark: for spark integration')
# Build-time deps for PEP 517/518 wheels via maturin backend.
makedepends=(python-build python-installer python-wheel python-maturin)
# Source tarball from PyPI (sdist). Using ${_name::1} keeps the path PyPI expects.
source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz")
# b2sums for source integrity. Update with: updpkgsums
b2sums=('2c55cedb2454f5bdd42c74c05e088e78720491d664dfb1b743205ff4c438bcef67aa27b4173ac2e9ca67c479702a58c58b6936c2ea0ef927639ee178beaa5e44')
build() {
# Build the wheel in-tree using system toolchain and deps (no venv).
cd "$_name-$pkgver"
# --no-isolation ensures maturin uses system Rust and headers from makedepends.
python -m build --wheel --no-isolation
}
package() {
# Install the built wheel into $pkgdir (destdir), as pacman expects.
cd "$_name-$pkgver"
python -m installer --destdir="$pkgdir" dist/*.whl
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment