On Wed, May 27 2020, Stefan Sperling <s...@stsp.name> wrote: > py3c is a header-only C library which provides a python 2/3 compat layer. > > This is required to compile the Python bindings of Subversion 1.14, > regardless of whether python2 or python3 bindings are built. > > I will need this as a BUILD_DEP of devel/subversion soon. > > ok?
port Makefile: --8<-- # Upstream's default make target just prints a list of available targets. # All we need upstream's Makefile to do is produce a pkg-config .pc file # which we can ship in our package. The Makefile's "prefix" variable ends # up in the generated .pc file. So use LOCALBASE instead of use PREFIX: MAKE_FLAGS = prefix=${LOCALBASE} ALL_TARGET = py3c.pc USE_GMAKE = Yes # Upstream Makefile 'make install' doesn't respect DESTDIR. # We replicate the entire install target here: -->8-- ALL_TARGET is fine, the first line of the comment isn't needed IMO. prefix=${TRUEPREFIX} looks more correct than prefix=${LOCALBASE}. Maybe you already tried this, we could set FAKE_FLAGS = prefix=${DESTDIR}${PREFIX} to inject DESTDIR in the install step, but the Makefile dependencies would then trigger a rebuild of py3c.pc with a wrong value for $(includedir). I think the cleanest approach is to patch the Makefile so that it honors DESTDIR. This way you only need MAKE_FLAGS = prefix=${PREFIX} The patch could easily be pushed upstream since supporting DESTDIR is a common feature. python2 and python3 are needed for the tests so use the python module to register those deps. The tests fail, maybe because of a difference between OpenBSD and other libcs. Updated tarball, ok jca@ if you like the changes I introduced.
py3c.tgz
Description: Binary data
-- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE