Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#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)

Portfile-slime.diff (1.5 KB) - added by jrhope 16 years ago.
Portfile diff to (mostly) fix slime variant +app.
Portfile-slime.2.diff (1.7 KB) - added by jrhope 16 years ago.
New diff to fix remaining problems installing slime with emacs-app.

Download all attachments as: .zip

Change History (9)

Changed 16 years ago by jrhope

Attachment: Portfile-slime.diff added

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

comment:1 Changed 16 years ago by blb@…

Owner: changed from macports-tickets@… to evenson@…
Port: slime added

comment:2 in reply to:  1 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: newassigned

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 15 years ago by easye

Resolution: fixed
Status: assignedclosed

Fixed by changeset:41759 with recommended patch from jrh AT theptgroup.com.

comment:7 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.