Ticket #16518 (closed defect: fixed)
slime 20080404 +app dependency error
| Reported by: | jrh@… | Owned by: | easieste@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.6.0 |
| Keywords: | slime emacs emacs-app dependencies | Cc: | |
| Port: | slime |
Description
slime 20080404 +app variant still has a library dependency on port:emacs.
The app variant needs to "depends_lib-delete port:emacs" and "depends_lib-append port:emacs-app". Additionally, the workaround for Carbon Emacs needs to be moved to the "else" block of the "[variant_isset app]" test, because the "[registry_installed emacs]" line chokes if emacs is not installed.
Furthermore, I don't know that this is specific to the slime Portfile, but while
sudo port install slime +app
does the Right Thing™ when the Portfile is patched by the attached diff,
sudo port upgrade slime +app
ignores the "+app" and starts downloading emacs-22.2.tar.gz as if port:emacs were still a dependency.
Attachments
Change History
Changed 5 years ago by jrh@…
- Attachment Portfile-slime.diff added
comment:1 follow-up: ↓ 2 Changed 5 years ago by blb@…
- Owner changed from macports-tickets@… to evenson@…
- Port set to slime
comment:2 in reply to: ↑ 1 Changed 5 years ago by evenson@…
Replying to blb@…:
Acknowledged (can't seem to set the status of this as a bug, so leaving a comment instead).
The proposed solution seems reasonable, but I currently have a restrictive firewall setup, so testing changes should wait until later today).
comment:3 Changed 5 years ago by easieste@…
- Owner changed from evenson@… to easieste@…
- Status changed from new to assigned
Ah: I have two macport ids!
comment:4 Changed 5 years ago by easieste@…
Port was changed in http://trac.macports.org/changeset/39976
Emailing the original reporter to request testing, as I couldn't exactly reproduce the symptoms reported in this bug.
comment:5 Changed 5 years ago by jrh@…
I tested [changeset-39976] and still encountered problems trying to upgrade the app variant:
$ port deps slime
slime has library dependencies on:
emacs
slime has runtime dependencies on:
sbcl
$ port variants slime
slime has the variants:
universal
app: Build SLIME against editors/emacs-app
sbcl: Require lang/sbcl for SLIME
openmcl: Require lang/openmcl for SLIME
clisp: Require lang/clisp for SLIME
$ port installed | grep slime
slime @20080404_0+app+sbcl (active)
$ sudo port -cvu upgrade slime
---> Fetching emacs
---> emacs-22.2.tar.gz doesn't seem to exist in /opt/local/var/macports/distfiles/emacs
---> Attempting to fetch emacs-22.2.tar.gz from http://ftp.gnu.org/gnu/emacs
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
1 36.9M 1 568k 0 0 569k 0 0:01:06 --:--:-- 0:01:06 635k^C
$ sudo port -cvu upgrade slime +app +sbcl
---> Fetching emacs
---> emacs-22.2.tar.gz doesn't seem to exist in /opt/local/var/macports/distfiles/emacs
---> Attempting to fetch emacs-22.2.tar.gz from http://ftp.gnu.org/gnu/emacs
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 36.9M 0 1174 0 0 18217 0 0:35:24 --:--:-- 0:35:24 18217^C
$ sudo port -cvu install slime +app +sbcl
Portfile changed since last build; discarding previous state.
---> Fetching slime
Logging in to :pserver:anonymous@common-lisp.net:2401/project/slime/cvsroot
CVS password: cvs login: warning: failed to open /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_slime/work/.cvspass for reading: No such file or directory
cvs checkout: Updating slime
[ A bunch of lines of CVS updates… -JRH ]
---> Verifying checksum(s) for slime
---> Extracting slime
---> Configuring slime
Error: Target org.macports.configure returned: Registry error: emacs not registered as installed.
Warning: the following items did not execute (for slime): org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.
Notice that I had an earlier release of slime+sbcl+app installed, but port upgrade would insist on building emacs. port install wouldn't, but then would choke in the configure stage. I attribute that to the execution of [registry_installed emacs].
I have adjusted the new [changeset-39976] Portfile and am now able once again to run slime inside Emacs.app. I will attach a new diff. I avoid the configure problem by reordering the predicate to check [ variant_isset app ] first. Additionally, Emacs.app works with ${prefix}/share/emacs/site-lisp, so I removed the customization there. However, I was unable to load slime until I manually added the ${prefix}/share/emacs/site-lisp/slime directory to the load-path in my .emacs file. I don't know whether that behavior differs from emacs22, but I added a line in post-activate mentioning it. If non-app emacs is able to find things in subdirectories emacs/site-lisp, then this is probably a bug in emacs-app. Someone let me know if that's the case and I'll file a bug against emacs-app.
Changed 5 years ago by jrh@…
- Attachment Portfile-slime.2.diff added
New diff to fix remaining problems installing slime with emacs-app.
comment:6 Changed 5 years ago by easieste@…
- Status changed from assigned to closed
- Resolution set to fixed
Fixed by changeset:41759 with recommended patch from jrh AT theptgroup.com.


Portfile diff to (mostly) fix slime variant +app.