[MacPorts] #38728: org-mode enhancements to support Emacs.app and optional contrib modules
MacPorts
noreply at macports.org
Thu Apr 18 16:23:34 PDT 2013
#38728: org-mode enhancements to support Emacs.app and optional contrib modules
--------------------------+----------------------
Reporter: jrh@… | Owner: dports@…
Type: enhancement | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: haspatch
Port: org-mode |
--------------------------+----------------------
Comment (by jrh@…):
Replying to [comment:7 dports@…]:
> Hmm, I think
> {{{
> depends_lib path:${prefix}/share/emacs/site-lisp:emacs
> }}}
> doesn't quite work; there are some packages that will install into site-
lisp even if emacs isn't installed, which would allow them to satisfy the
dependency.
All we really care about is that {{{${prefix}/share/emacs/site-lisp}}}
exists so we can put files there. If it doesn't exist, then the
{{{emacs}}} package will create it; if it ''does'' exist, then we're
already good.
I guess we also implicitly assume that there's some Emacsen available to
compile, but that could be optional as well. (I've seen some packages,
like slime, that couldn't get compilation to work so they just install the
.el files and don't worry about it.) Otherwise, do something like
{{{
set org_mode_emacs_binary
"${applications_dir}/Emacs.app/Contents/MacOS/Emacs"
if {![file exists $org_mode_emacs_binary] {
set org_mode_emacs_binary "${prefix}/bin/emacs"
}
set emacs_provider [registry_file_registered $org_mode_emacs_binary]
if {$app_provider == 0} {
depends_build-append path:bin/emacs:emacs
} else {
depends_build-append port:${app_provider}
}
}}}
> We'll need to do something closer to what the gnuplot port is doing, and
this would probably be a good time to refactor that into a portgroup...
I think that's an excellent idea. I also have no idea what's involved in
accomplishing it, technically or politically.
> I'm also not thrilled about using a combination of wildcards in
ORG_ADD_CONTRIB to exclude org-jira; that will need to be updated when new
contrib modules are added to make sure they're included too.
Yeah, it's not ideal. I just didn't want to create a separate variant for
each file in contrib, and wasn't sure how to easily construct a Make
variable representing "everything in contrib except org-jira". We
basically need something like the value of
{{{
`cd ${worksrcpath}/contrib && ls *.el | cut -d "." -f 1 | grep -v org-jira
| tr "\n" " "`
}}}
stored in the variable ORG_ADD_CONTRIB in ${worksrcpath}/local.mk.
Portfiles are TCL scripts, right? What are the quoting rules? Can you
put all of that stuff between backticks inside of a 'system' call?
--
Ticket URL: <https://trac.macports.org/ticket/38728#comment:8>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list