pkg/60667: editors/emacs30-nox11, emacs31-nox11: no buildlink3.mk, so 11 packages will not parse
| 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