ports/109580: [patch] math/gnuplot does not include bsd.emacs.mk when emacs is installed
Nick Barkas
snb at threerings.net
Mon Feb 26 23:50:05 UTC 2007
>Number: 109580
>Category: ports
>Synopsis: [patch] math/gnuplot does not include bsd.emacs.mk when emacs is installed
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Mon Feb 26 23:50:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Nick Barkas
>Release: FreeBSD 6.1-RELEASE-p6 i386
>Organization:
Three Rings Design
>Environment:
FreeBSD lab1.earth.threerings.net 6.1-RELEASE-p6 FreeBSD 6.1-RELEASE-p6 #5: Wed Sep 13 17:45:32 PDT 2006 root at lab1.earth.threerings.net:/usr/obj/usr/src/sys/SMP i386
>Description:
When installing math/gnuplot on a machine with emacs or xemacs installed, the port will attempt to install some lisp files. USE_EMACS is set conditionally based on the presence of emacs or xemacs binaries, and having USE_EMACS set is what includes bsd.emacs.mk. However, bsd.emacs.mk does not seem to ever be loaded, and thus variables such as EMACS_SITE_LISPDIR are not set. The packing list incorrectly includes %%EMACS_SITE_LISPDIR%%/gnuplot-gui.el and %%EMACS_SITE_LISPDIR%%/gnuplot.el (without substituting), and gnuplot-gui.el and gnuplot.el get installed in ${PREFIX} rather than ${PREFIX}/${EMACS_SITE_LISPDIR}
I think this might be because USE_EMACS is only conditionally set after bsd.port.pre.mk is included in the makefile. Portlint does complain about the fact that EMACS_PORT_NAME is set after including bsd.port.pre.mk.
>How-To-Repeat:
Try to make install or make package for math/gnuplot on a system with emacs installed.
>Fix:
This patch does something similar to what is done in net/gnu-radius--explicitly includes bsd.emacs.mk if it is needed. A better way to solve this problem may be to set USE_EMACS, EMACS_PORT_NAME, EMACS_NO_BUILD_DEPENDS, and EMACS_NO_RUN_DEPENDS unconditionally, before including bsd.port.pre.mk, but only add --with-lisp-files to the configure args and install the .el files if emacs or xemacs is actually installed on the system.
Patch attached with submission follows:
--- Makefile.orig Mon Feb 26 13:15:37 2007
+++ Makefile Mon Feb 26 15:15:40 2007
@@ -37,6 +37,7 @@
EMACS_PORT_NAME= emacs21
EMACS_NO_BUILD_DEPENDS= yes
EMACS_NO_RUN_DEPENDS= yes
+.include "${PORTSDIR}/Mk/bsd.emacs.mk"
CONFIGURE_ARGS+= --with-lisp-files
.else
PLIST_SUB+= EMACS_SITE_LISPDIR="@comment "
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list