aurupdater

obexftp

Build times (auto-updated)


2026-10-19: rebuild attempt for perl 5.44 ABI bump FAILED – real SWIG/python2 regression, not fixed

Attempted a content-free rebuild (pkgrel 7 -> 7.1, x86_64 only) alongside [[cyrus-imapd2]]/[[perl-crypt-ssleay]]’s perl-5.44 rebuilds, since this package also ships a compiled perl XS module (OBEXFTP.so via -DENABLE_PERL=YES). The perl bindings built and linked fine against perl 5.44 – not a perl problem. But the overall build failed in the Python SWIG bindings (-DENABLE_PYTHON=YES -DPYTHON_EXECUTABLE=/usr/bin/python2 ..., PKGBUILD lines ~43-46):

clientPYTHON_wrap.c:1280:3: error: #error "This version of SWIG only supports Python >= 3.5"

Root cause: the installed swig (4.5.1-1) has dropped support for generating Python-2-compatible wrapper code – its generated clientPYTHON_wrap.c now unconditionally requires Python >= 3.5, but this PKGBUILD still targets python2/python2.7 throughout. This is a real, pre-existing latent incompatibility (not introduced by anything in this session) that only surfaced now because nothing had rebuilt this package since swig moved past the version that dropped py2 support – the currently-published obexftp-7 binary pre-dates this and is untouched/still fine.

Decision (user, 2026-10-19): leave it for now, don’t disable Python bindings or attempt a python2->python3 port yet. Reverted the pkgrel bump (back to plain 7, no rebuild happened, nothing published).

Future direction flagged by user: may need to fork/vendor an older swig release (the last one that still generates valid Python-2 wrapper code) as a separate local package (e.g. swig2 under adapted/ or similar), specifically to keep building this package’s Python bindings against python2, rather than porting the bindings to Python 3. Not started – just a direction to pursue next time this comes up. Check archive.org/SWIG’s own release history for the last pre-"Python >= 3.5 only” version before scoping that fork.

2026-11-01: resolved – new [[swig4.4]] package built, obexftp fixed and published

Implemented the future direction above. Created private/swig4.4, pinned to upstream SWIG v4.4.0 (confirmed via git log -S on swig/swig.git that commit f505f2566 dropped Python 2 support right after that tag), installed to /opt/swig4.4 so it coexists with the real /usr-installed swig. Full detail in memory/swig4.4.md.

Fixed this package’s own PKGBUILD: makedepends swapped swig -> swig4.4, added -DSWIG_EXECUTABLE=/opt/swig4.4/bin/swig to the cmake invocation. pkgrel 7 -> 8 (plain integer – maintained/ + a real content fix, not a content-free rebuild). Built+published cleanly, 0.24.2-8, x86_64. Verified by extracting the published .pkg.tar.zst directly: usr/lib/site-python/_obexftp.so + obexftp.py are both present again (missing since the 2026-10-19 regression), and the Perl module sits under usr/lib/perl5/5.44/... – also incidentally fixes the original perl-5.44-ABI goal this rebuild batch was for in the first place.

Build log confirms CMake picked up the right SWIG: -- Found SWIG: /opt/swig4.4/bin/swig (found version "4.4.0").