pkgsrc/editors/emacs27/Makefile.common
ryoon b7b2f26d0c editors/emacs27: import emacs27-27.1
GNU Emacs is an extensible, customizable editor textand more.  At its
core is an interpreter for Emacs Lisp, a dialect of the Lisp
programming language with extensions to support text editing.  The
features of GNU Emacs include:

- Content-sensitive editing modes, including syntax coloring, for a
  wide variety of file types including plain text, source code, and
  HTML.
- Complete built-in documentation, including a tutorial for new users.
- Support for many languages and their scripts, including all scripts,
  Russian, Greek, Japanese, Chinese, Korean, Thai, Vietnamese, Lao,
  Ethiopian, and some Indian scripts.
- Highly customizable, using Emacs Lisp code or a graphical
  customization interface.
- A large number of extensions that add other functionality, including
  a project planner, mail and news reader, debugger interface,
  calendar, and more.  Many of these extensions are distributed with
  GNU Emacs; others are available separately.

This package contains Emacs version 27.
2020-08-12 14:14:48 +00:00

83 lines
2.5 KiB
Text

# $NetBSD: Makefile.common,v 1.1 2020/08/12 14:14:48 ryoon Exp $
#
# used by editors/emacs27/Makefile
# used by editors/emacs27-nox11/Makefile
.include "../../mk/bsd.prefs.mk"
DISTNAME= emacs-${EMACS_VERSION}
PKGNAME?= ${DISTNAME:S/emacs/emacs27/}
CATEGORIES= editors
MASTER_SITES= ${MASTER_SITE_GNU:=emacs/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.gnu.org/software/emacs/
COMMENT= GNU editing macros (editor)
LICENSE= gnu-gpl-v3
WRKSRC= ${WRKDIR}/${DISTNAME:S/b$//}
# use makeinfo from pkgsrc/deve/gtexinfo
TEXINFO_REQD= 4.13
GNU_CONFIGURE= yes
INFO_FILES= yes
USE_TOOLS+= autoconf automake gmake gzip makeinfo gm4 gsed
CONFIGURE_ARGS+= --srcdir=${WRKSRC}
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
CONFIGURE_ARGS+= --disable-autodepend
CONFIGURE_ENV+= GAMEOWN=${GAMES_USER}
USE_GAMESGROUP= yes
BUILD_DEFS+= VARBASE
BUILD_DEFS+= GAMEDATAMODE
PLIST_SRC+= ../../editors/emacs27/PLIST
.include "../../editors/emacs27/version.mk"
BUILD_TARGET= bootstrap
EMACS_VERSION= ${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}
PLIST_SUBST+= EMACS_VERSION=${EMACS_VERSION}
MAKE_DIRS_PERMS+= ${VARBASE}/games/emacs ${GAMES_USER} ${GAMES_GROUP} ${GAMEDIRMODE}
CONF_FILES_PERMS+= /dev/null ${VARBASE}/games/emacs/snake-scores \
${GAMES_USER} ${GAMES_GROUP} ${GAMEDATAMODE}
CONF_FILES_PERMS+= /dev/null ${VARBASE}/games/emacs/tetris-scores \
${GAMES_USER} ${GAMES_GROUP} ${GAMEDATAMODE}
SPECIAL_PERMS+= libexec/emacs/${EMACS_VERSION}/${MACHINE_GNU_PLATFORM}/update-game-score ${SETGID_GAMES_PERMS}
# build PATH in the dumped emacs is not a problem
CHECK_WRKREF_SKIP+= bin/emacs
CHECK_WRKREF_SKIP+= bin/emacs-${EMACS_VERSION}
CHECK_WRKREF_SKIP+= libexec/emacs/${PKGVERSION_NOREV}/${MACHINE_GNU_PLATFORM}/emacs.pdmp
PRINT_PLIST_AWK+= { gsub(/${MACHINE_GNU_PLATFORM}/, "$${MACHINE_GNU_PLATFORM}"); }
.if (${OPSYS} == "NetBSD") && \
!exists(/usr/lib/libgcc_s.so) && !exists(/usr/lib/libgcc.a)
# NetBSD with native Clang doesn't provide libgcc, everything is in libc.
pre-configure: fake-libgcc
.PHONY: fake-libgcc
fake-libgcc:
${AR} q ${BUILDLINK_DIR}/lib/libgcc.a
.endif
.if (${OPSYS} == "NetBSD") && exists(/usr/include/term.h)
CPPFLAGS+= -DTERMINFO
.elif ${OPSYS} == "FreeBSD" || ${OPSYS} == "Linux" || ${OPSYS} == "OpenBSD"
.include "../../mk/curses.buildlink3.mk"
.else
.include "../../mk/termcap.buildlink3.mk"
.endif
.include "../../mk/oss.buildlink3.mk"
post-extract:
cp ${.CURDIR}/../../editors/emacs27/files/site-init.el ${WRKSRC}/lisp
${CHMOD} -R go-w ${WRKSRC}
.include "../../devel/libgetopt/buildlink3.mk"