bsd.emacs.mk does not detect non-GUI, non-X11 options
freebsd-ports-local at be-well.ilk.org
Thu May 22 20:08:22 UTC 2014
Vick Khera <vivek at khera.org> writes:
> All of my freebsd boxes are headless, and I build all ports without
> X11. To accomplish this, I specify in make.conf the following:
> OPTIONS_UNSET=X11 GUI
> I have to specify both WITHOUT_X11 and OPTIONS_UNSET since I have
> found some ports to not honor OPTIONS_UNSET yet.
> So now I'm moving from individually building ports on each server to
> using poudriere and pkgng to build packages customized for my
> This is where I run into problems...
> One of the packages I need to build is textproc/markdown-mode.el. This
> port specifies USE_EMACS in the Makefile. When I build this port on a
> system which has emacs-nox11 installed, all is fine. WhenI try to
> build this port inside poudriere, it wants to build emacs24 as a
> dependency. Thus, the package for markdown-mode.el will install emacs
> instead of using emacs-nox11.
I'm not sure why that's a problem, because if you build editors/emacs
with the port option for X11 disabled, it should tell configure to use
the --without-x argument. The results should be identical to
emacs-nox11, except for not having the "-nox11" suffix in the package
name. I don't have any easy way to experiment with this at the moment,
but I can't see any way that configure can pass that argument and have
it go after X anyway. If other dependencies conflicted, I'd expect the
run to end up with an IGNORE line.
Come to think of it, are you sure that X11 is being included? Please
humor me by checking to see whether the poudriere run builds, say,
libX11, and whether the emacs package that gets built actually links to
the X libraries...
...and failing that, the -nox11 port is just a slave port of
editors/emacs anyway, so one of the variables in there has to be the
magic you're looking for.
> Is there some way to convince markdown-mode.el to depend on
> emacs-nox11 instead when building the packages via poudriere? I don't
> even see how to explicitly state the dependency outside of poudriere.
I'm pretty sure that setting EMACS_PORT_NAME will do it in any case.
More information about the freebsd-ports