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.

Reply via email to