pkg/60667: editors/emacs30-nox11, emacs31-nox11: no buildlink3.mk, so 11 packages will not parse

"[email protected] via gnats" <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.bugs
Message-ID <[email protected]>
>Number:         60667
>Category:       pkg
>Synopsis:       editors/emacs30-nox11, emacs31-nox11: no buildlink3.mk, so 11 packages will not parse
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Aug 29 11:50:00 +0000 2026
>Originator:     Showta Ishizaki
>Release:        NetBSD 11.0, pkgsrc CVS as of 2026-08-29
>Organization:
>Environment:
System: NetBSD 11.0 amd64
Architecture: x86_64
Machine: amd64
>Description:
	editors/emacs30-nox11 and editors/emacs31-nox11 have no
	buildlink3.mk.  Every other Emacs in the tree has one:

	  editors/emacs20/buildlink3.mk
	  editors/emacs21/buildlink3.mk
	  editors/emacs21-nox11/buildlink3.mk
	  editors/emacs29/buildlink3.mk
	  editors/emacs29-nox11/buildlink3.mk
	  editors/emacs30/buildlink3.mk
	  editors/emacs31/buildlink3.mk
	  editors/emacs30-nox11/           <- missing
	  editors/emacs31-nox11/           <- missing

	editors/emacs/modules.mk includes it for any package that sets
	EMACS_BUILDLINK:

	  modules.mk:363   .include "${_EMACS_PKGDIR}/buildlink3.mk"

	With EMACS_TYPE=emacs30nox or emacs31nox that file does not exist,
	and make stops before it has read the package at all.  Eleven
	packages in pkgsrc set EMACS_BUILDLINK, and none of them can be
	looked at, let alone built:

	  devel/ecb           misc/elscreen
	  devel/flim          misc/lookup
	  devel/semantic      misc/mic-paren
	  devel/semi          www/emacs-w3m
	  inputmethod/skk     mail/wl-snapshot
	  inputmethod/iiimecf

	The same eleven are fine with EMACS_TYPE=emacs29nox.

	editors/emacs21-nox11/buildlink3.mk and
	editors/emacs29-nox11/buildlink3.mk are identical apart from the RCS
	Id, and neither names a version, so the same text serves for 30 and
	31.

>How-To-Repeat:
	No build is needed.  Any of the eleven will do:

	  $ cd /usr/pkgsrc/inputmethod/iiimecf
	  $ make EMACS_TYPE=emacs29nox show-var VARNAME=PKGNAME
	  iiimecf-0.6nb3
	  $ make EMACS_TYPE=emacs30nox show-var VARNAME=PKGNAME
	  make: /usr/pkgsrc/editors/emacs/modules.mk:363: Could not find ../../editors/emacs30-nox11/buildlink3.mk
		  in /usr/pkgsrc/inputmethod/iiimecf/Makefile:27
	  make: Fatal errors encountered -- cannot continue
	  $ make EMACS_TYPE=emacs31nox show-var VARNAME=PKGNAME
	  make: /usr/pkgsrc/editors/emacs/modules.mk:363: Could not find ../../editors/emacs31-nox11/buildlink3.mk
		  in /usr/pkgsrc/inputmethod/iiimecf/Makefile:27
	  make: Fatal errors encountered -- cannot continue

	EMACS_TYPE=emacs30nox in /etc/mk.conf is enough to reach it; that is
	how I ran into it.

	I put the two files into a copy of the tree and ran the same command
	again.  Four of the eleven, with all three types:

	  misc/mic-paren        29nox:ok 30nox:ok 31nox:ok
	  misc/elscreen         29nox:ok 30nox:ok 31nox:ok
	  devel/flim            29nox:ok 30nox:ok 31nox:ok
	  inputmethod/iiimecf   29nox:ok 30nox:ok 31nox:ok

	Nothing else changed; the packages themselves are untouched.

>Fix:
	editors/emacs30-nox11/buildlink3.mk and
	editors/emacs31-nox11/buildlink3.mk, with the same contents:

# $NetBSD$
#

BUILDLINK_TREE+=	emacs-nox11

.if !defined(EMACS_NOX11_BUILDLINK3_MK)
EMACS_NOX11_BUILDLINK3_MK:=

.include "../../editors/emacs/modules.mk"
BUILDLINK_API_DEPENDS.emacs-nox11+=	${_EMACS_REQD}
BUILDLINK_PKGSRCDIR.emacs-nox11?=	${_EMACS_PKGDIR}

BUILDLINK_CONTENTS_FILTER.emacs-nox11=	${EGREP} '.*\.el$$|.*\.elc$$'
.endif # EMACS_NOX11_BUILDLINK3_MK

BUILDLINK_TREE+=	-emacs-nox11
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.