Skip to content

Commit

Permalink
editors/emacs27: import emacs27-27.1
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
ryoon committed Aug 12, 2020
1 parent fa9f159 commit af8a96a
Show file tree
Hide file tree
Showing 13 changed files with 4,432 additions and 0 deletions.
20 changes: 20 additions & 0 deletions editors/emacs27/DESCR
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
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.
11 changes: 11 additions & 0 deletions editors/emacs27/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# $NetBSD: Makefile,v 1.1 2020/08/12 14:14:48 ryoon Exp $

CONFLICTS+= emacs27-nox11-[0-9]*

.include "../../editors/emacs27/Makefile.common"

.include "options.mk"

.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"
83 changes: 83 additions & 0 deletions editors/emacs27/Makefile.common
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# $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"
Loading

0 comments on commit af8a96a

Please sign in to comment.