On 2016/08/11 17:26, Jasper Lievisse Adriaanse wrote: > On Mon, Aug 08, 2016 at 09:33:50AM -0600, Theo de Raadt wrote: > > > On 2016-08-07, Carlin Bingham <c...@viennan.net> wrote: > > > > > > > What should be done for ports like (just for example) calibre? > > > > It uses python, and uses PyQtWebkit to pull in Qt5Webkit which maps WX > > > > for its jit. Python itself doesn't need wxneeded but for calibre (and > > > > possibly other ports) to work it will. > > > > > > I don't know how to handle this. The model of tying wxneeded > > > permissions to an executable is ill suited for this. > > > > > > Maybe have both python and python-wx and use the latter for things > > > like calibre? > > > Do we have Perl module that violates W^X in the ports tree? > > > > > > Ideas? > > > > Just mark python, and move on. > > > > In a few months we'll be able to circle back and decide. > This does the trick and allows me to run something using PyQtWebkit/Qt5Webkit: > > Index: Makefile.inc > =================================================================== > RCS file: /cvs/ports/lang/python/Makefile.inc,v > retrieving revision 1.115 > diff -u -p -r1.115 Makefile.inc > --- Makefile.inc 11 May 2016 22:43:49 -0000 1.115 > +++ Makefile.inc 11 Aug 2016 15:24:15 -0000 > @@ -123,7 +123,7 @@ CONFIGURE_ENV += OPT='${CFLAGS} -fPIC' C > LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} > MAKE_ENV += LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} > MAKE_FLAGS += LD_LIBRARY_PATH=${WRKSRC} PATH="${WRKDIST}:${PORTPATH}" > -MAKE_FLAGS += LDFLAGS='-L${WRKSRC}' > +MAKE_FLAGS += LDFLAGS='-L${WRKSRC} -Wl,-z,wxneeded' > FAKE_FLAGS += RANLIB=: > > ALL_TARGET = all ./Lib/plat-openbsd6
Please would you add a comment something like this: # Python itself is clean, but some extensions e.g. py-cryptography # and QtWebKit require W|X mappings. Then it's OK sthen. PostgreSQL also needs similar (for postgresql-plv8). I haven't run into this with any Perl modules yet, but it's quite possible there will be some - I have no idea what we can do about those, as wxneeded won't work for /usr/bin.