#16518 closed defect (fixed)
slime 20080404 +app dependency error
Reported by: | jrhope | Owned by: | easye |
---|---|---|---|
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 (2)
Change History (9)
Changed 16 years ago by jrhope
Attachment: | Portfile-slime.diff added |
---|
comment:1 follow-up: 2 Changed 16 years ago by blb@…
Owner: | changed from macports-tickets@… to evenson@… |
---|---|
Port: | slime added |
comment:2 Changed 16 years ago by easye
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 16 years ago by easye
Owner: | changed from evenson@… to easieste@… |
---|---|
Status: | new → assigned |
Ah: I have two macport ids!
comment:4 Changed 16 years ago by easye
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 16 years ago by jrhope
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 16 years ago by jrhope
Attachment: | Portfile-slime.2.diff added |
---|
New diff to fix remaining problems installing slime with emacs-app.
comment:6 Changed 16 years ago by easye
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed by changeset:41759 with recommended patch from jrh AT theptgroup.com.
Portfile diff to (mostly) fix slime variant +app.