Index: Mk/bsd.emacs.mk =================================================================== --- Mk/bsd.emacs.mk +++ Mk/bsd.emacs.mk @@ -1,19 +1,15 @@ +#-*- tab-width: 4; -*- +# ex:ts=4 # -# $FreeBSD$ -# -# bsd.emacs.mk - 19990829 Shigeyuki Fukushima. +# $FreeBSD$ +# bsd.emacs.mk - 19990829 Shigeyuki Fukushima. # -Emacs_Include= bsd.emacs.mk +Emacs_Include= bsd.emacs.mk Emacs_Include_MAINTAINER= ashish@FreeBSD.org -EMACS_PORT_NAME?= emacs25 +FLAVORS= default canna lite devel devel_lite -# -# This file for ports which depend on emacs family. -# Define EMACS_PORT_NAME variable before bsd.port.[pre.]mk -# and it will automatically include this file. -# # This file exports the following common variables: # # EMACS_NAME: @@ -40,7 +36,7 @@ # EMACS_CMD: # emacsen's command-line filename. (full path) # ex.) "/usr/local/bin/emacs-20.6" when emacsen is a -# emacs-20.6 and ${PREFIX} is "/usr/local". +# emacs-20.6 and ${PREFIX} is "/usr/local". # # EMACS_SITE_LISPDIR: # emacsen's site-lisp directory name without ${PREFIX}. @@ -63,71 +59,40 @@ EMACS_MASTERDIR_PKGFILES?= NO -# Emacs-25.x -.if (${EMACS_PORT_NAME} == "emacs25") -EMACS_NAME= emacs -EMACS_VER= 25.3 -EMACS_MAJOR_VER= 25 -EMACS_LIBDIR?= share/${EMACS_NAME} -EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER} +.if ${FLAVOR:Mdevel*} +EMACS_VER= 27.0.50 +EMACS_PORTDIR= editors/emacs-devel +.else +EMACS_VER= 25.3 EMACS_PORTDIR= editors/emacs -EMACS_COMMON_PORT= NO -EMACS_HAS_MULE= YES -EMACS_NO_SUBDIRSEL= NO -.if (${EMACS_MASTERDIR_PKGFILES} == "YES") -COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME} -DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME} -PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME} .endif - -# Emacs-26.x (development version) -.elif (${EMACS_PORT_NAME} == "emacs-devel") -EMACS_NAME= emacs -EMACS_VER= 27.0.50 -EMACS_MAJOR_VER= 27 +EMACS_MAJOR_VER= ${EMACS_VER:C/\..*//} +EMACS_NAME= emacs EMACS_LIBDIR?= share/${EMACS_NAME} EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER} -EMACS_PORTDIR= editors/emacs-devel -EMACS_COMMON_PORT= NO EMACS_HAS_MULE= YES EMACS_NO_SUBDIRSEL= NO +EMACS_PORT_NAME= emacs${EMACS_MAJOR_VER} .if (${EMACS_MASTERDIR_PKGFILES} == "YES") COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME} -DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME} -PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME} -.endif - -.elif (${EMACS_PORT_NAME} == "emacs-nox11") -EMACS_NAME= emacs -EMACS_VER= 25.3 -EMACS_MAJOR_VER= 25 -EMACS_LIBDIR= share/${EMACS_NAME} -EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER} -EMACS_PORTDIR= editors/emacs-nox11 -EMACS_COMMON_PORT= NO -EMACS_HAS_MULE= YES -EMACS_NO_SUBDIRSEL= NO -.if (${EMACS_MASTERDIR_PKGFILES} == "YES") -COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME} -DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME} -PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME} +DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME} +PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME} .endif +.if ${FLAVOR:M*lite} +PKGNAMESUFFIX= -${EMACS_PORT_NAME}_lite +.elif ${FLAVOR:Mcanna} +PKGNAMESUFFIX= -${EMACS_PORT_NAME}_canna .else -check-makevars:: - @${ECHO} "Makefile error: Bad value of EMACS_PORT_NAME: ${EMACS_PORT_NAME}." - @${ECHO} "Valid values are:" - @${ECHO} " Emacs family: emacs25 emacs-devel emacs-nox11" - @${FALSE} +PKGNAMESUFFIX= -${EMACS_PORT_NAME} .endif - # # Common Definitions # -# find where emacsen is installed -# look for it in PREFIX first and fall back to LOCALBASE then +# find where emacs is installed +# look for it in PREFIX first, then fall back to LOCALBASE .if exists(/bin/${EMACS_NAME}-${EMACS_VER}) EMACS_BASE?= ${PREFIX} .else @@ -146,14 +111,10 @@ EMACS_NO_BUILD_DEPENDS?= NO EMACS_NO_RUN_DEPENDS?= NO .if (${EMACS_NO_BUILD_DEPENDS} == "NO") -BUILD_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTDIR} +BUILD_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTDIR}@${FLAVOR:C/devel_?//} .endif .if (${EMACS_NO_RUN_DEPENDS} == "NO") -.if defined(EMACS_COMMON_PORT) && (${EMACS_COMMON_PORT} == "YES") -RUN_DEPENDS+= ${EMACS_COREEL}:${EMACS_PORTDIR}-common -.else -RUN_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTDIR} -.endif +RUN_DEPENDS+= ${EMACS_CMD}:${EMACS_PORTDIR}@${FLAVOR:C/devel_?//} .endif # environments for build Index: devel/magit/Makefile =================================================================== --- devel/magit/Makefile +++ devel/magit/Makefile @@ -3,8 +3,8 @@ PORTNAME= magit PORTVERSION= 2.11.0 +PORTREVISION= 1 CATEGORIES= devel elisp -PKGNAMESUFFIX= -${EMACS_PORT_NAME} MAINTAINER= yasu@utahime.org COMMENT= Interface to Git for Emacs @@ -12,10 +12,10 @@ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING -BUILD_DEPENDS= dash.el>=2.12.1:devel/dash.el \ - with-editor-${EMACS_PORT_NAME}>=2.5.0:editors/with-editor -RUN_DEPENDS= dash.el>=2.12.1:devel/dash.el \ - with-editor-${EMACS_PORT_NAME}>=2.5.0:editors/with-editor +BUILD_DEPENDS= dash.el${PKGNAMESUFFIX}>=2.12.1:devel/dash.el@${FLAVOR} \ + with-editor${PKGNAMESUFFIX}>=2.5.0:editors/with-editor@${FLAVOR} +RUN_DEPENDS= dash.el${PKGNAMESUFFIX}>=2.12.1:devel/dash.el@${FLAVOR} \ + with-editor${PKGNAMESUFFIX}>=2.5.0:editors/with-editor@${FLAVOR} USES= gmake makeinfo USE_EMACS= yes Index: editors/Makefile =================================================================== --- editors/Makefile +++ editors/Makefile @@ -35,7 +35,6 @@ SUBDIR += editorconfig-core-c SUBDIR += emacs SUBDIR += emacs-devel - SUBDIR += emacs-nox11 SUBDIR += encryptpad SUBDIR += fileobj SUBDIR += flim Index: editors/emacs-devel/Makefile =================================================================== --- editors/emacs-devel/Makefile +++ editors/emacs-devel/Makefile @@ -3,9 +3,9 @@ PORTNAME= emacs DISTVERSION= ${EMACS_VER}.${EMACS_REV} +PORTREVISION= 1 PORTEPOCH= 2 CATEGORIES= editors ipv6 -PKGNAMESUFFIX= -devel MAINTAINER= ashish@FreeBSD.org COMMENT= GNU editing macros @@ -13,7 +13,13 @@ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING -CONFLICTS= emacs25-[0-9]* emacs-nox11-[0-9]* +CONFLICTS_INSTALL= emacs-[0-9]* emacs-canna* emacs-lite* + +FLAVORS= default lite +default_CONFLICTS_INSTALL+= emacs-devel-lite* +default_PKGNAMESUFFIX= -devel +lite_CONFLICTS_INSTALL= emacs-devel-[0-9]* +lite_PKGNAMESUFFIX= -devel_lite USE_GITHUB= yes GH_ACCOUNT= emacs-mirror @@ -180,6 +186,12 @@ XWIDGETS_LIB_DEPENDS= libwebkit2gtk-4.0.so:www/webkit2-gtk3 XWIDGETS_IMPLIES= GTK3 +.if ${FLAVOR:U} == lite +OPTIONS_EXCLUDE= ACL ALSA CAIRO DBUS GCONF GIF GSETTINGS GTK2 GTK3 JPEG \ + LCMS2 M17N MAGICK MOTIF OSS OTF PNG SCROLLBARS SVG TIFF \ + XAW XAW3D X11 XFT XIM XPM XWIDGETS +.endif + .include # has graphics/ImageMagick been compiled with OPENMP? Index: editors/emacs-nox11/Makefile =================================================================== --- editors/emacs-nox11/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# Created by: phoffman@proper.com -# $FreeBSD$ - -PKGNAMESUFFIX= -nox11 - -CONFLICTS_INSTALL= emacs-[0-9]* emacs-devel-[0-9]* - -OPTIONS_EXCLUDE= CAIRO GCONF GIF GSETTINGS GTK2 GTK3 JPEG M17N MAGICK \ - MOTIF OTF PNG SCROLLBARS SVG TIFF X11 XAW XAW3D XFT XIM \ - XPM XWIDGETS -OPTIONS_DEFAULT= GNUTLS MODULES SOURCES XML - -MASTERDIR= ${.CURDIR}/../emacs - -.include "${MASTERDIR}/Makefile" Index: editors/emacs/Makefile =================================================================== --- editors/emacs/Makefile +++ editors/emacs/Makefile @@ -2,12 +2,11 @@ # $FreeBSD$ PORTNAME= emacs -PORTVERSION= ${EMACS_VER} -PORTREVISION= 1 +DISTVERSION= ${EMACS_VER} +PORTREVISION= 2 PORTEPOCH= 3 CATEGORIES= editors ipv6 MASTER_SITES= GNU -PKGNAMESUFFIX?= 25 PATCH_DIST_STRIP= -p1 @@ -17,15 +16,22 @@ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING -CONFLICTS_INSTALL?= emacs-devel-[0-9]* emacs-nox11-[0-9]* +BROKEN_aarch64= Fails to link: missing sbrk +CONFLICTS_INSTALL= emacs-devel* -BROKEN_aarch64= Fails to link: missing sbrk +FLAVORS= default canna lite +default_CONFLICTS_INSTALL+= emacs-canna* emacs-lite* +canna_CONFLICTS_INSTALL+= emacs-[0-9]* emacs-lite* +canna_PKGNAMESUFFIX= -canna +canna_DESCR= ${.CURDIR}/pkg-descr-canna +canna_LIB_DEPENDS= libcanna.so:japanese/canna-lib +lite_CONFLICTS_INSTALL= emacs-[0-9]* emacs-canna* +lite_PKGNAMESUFFIX= -lite + +USES= cpe gmake makeinfo ncurses pkgconfig tar:xz EMACS_VER= 25.3 GNU_CONFIGURE= yes -USES= cpe gmake makeinfo ncurses pkgconfig tar:xz -# Building with GCC 4.6+ requires it; remove after 9.3 EOL -LDFLAGS+= ${ncurses_ARGS:Mport:C/.+/-ltinfo/} INFO_PATH= ${DATADIR_REL}/info CPE_VENDOR= gnu @@ -45,20 +51,18 @@ rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar \ srecode todo-mode tramp url vhdl-mode vip viper widget wisent woman -OPTIONS_DEFINE= ACL CANNA DBUS GNUTLS LLDB MODULES SOURCES X11 XML - +OPTIONS_DEFINE= ACL DBUS GNUTLS LLDB MODULES SOURCES X11 XML OPTIONS_RADIO= FILENOTIFY SOUND X11TOOLKIT OPTIONS_RADIO_FILENOTIFY= GFILE KQUEUE OPTIONS_RADIO_SOUND= ALSA OSS OPTIONS_RADIO_X11TOOLKIT= GTK2 GTK3 MOTIF XAW XAW3D OPTIONS_GROUP= GRAPHICS NEEDX11 OPTIONS_GROUP_GRAPHICS= CAIRO GIF JPEG MAGICK PNG SVG TIFF XPM -OPTIONS_GROUP_NEEDX11= GCONF GSETTINGS M17N OTF SCROLLBARS XFT XIM \ +OPTIONS_GROUP_NEEDX11= GCONF GSETTINGS M17N OTF SCROLLBARS XFT XIM \ XWIDGETS - -OPTIONS_DEFAULT?= ACL DBUS GCONF GIF GNUTLS GSETTINGS GTK3 JPEG KQUEUE \ - M17N MAGICK MODULES OSS OTF PNG SCROLLBARS SOURCES SVG \ - TIFF X11 XFT XIM XML XPM +OPTIONS_DEFAULT= ACL DBUS GCONF GIF GNUTLS GSETTINGS GTK3 JPEG \ + KQUEUE M17N MAGICK MODULES OSS OTF PNG \ + SCROLLBARS SOURCES SVG TIFF X11 XFT XIM XML XPM ACL_DESC= Access control list support CAIRO_DESC= Experimental Cairo library support (implies PNG, XFT) @@ -93,12 +97,6 @@ CAIRO_USE= GNOME=cairo CAIRO_CONFIGURE_WITH= cairo CAIRO_IMPLIES= PNG XFT X11 -CANNA_CONFIGURE_WITH= canna -CANNA_PATCH_SITES= http://www.gentei.org/~yuuji/software/emacs25canna/ \ - http://distfiles.pirateparty.in/ashish/ \ - LOCAL/ashish -CANNA_PATCHFILES= emacs25.1canna-20160919.diff.gz -CANNA_LIB_DEPENDS= libcanna.so:japanese/canna-lib DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus DBUS_CONFIGURE_WITH= dbus GCONF_USE= GNOME=gconf2 @@ -181,10 +179,27 @@ XPM_CONFIGURE_WITH= xpm XPM_IMPLIES= X11 XWIDGETS_USE= XORG=xcomposite -XWIDGETS_CONFIGURE_WITH=xwidgets +XWIDGETS_CONFIGURE_WITH= xwidgets XWIDGETS_LIB_DEPENDS= libwebkitgtk-3.0.so:www/webkit-gtk3 XWIDGETS_IMPLIES= GTK3 +.if ${FLAVOR:U} == canna +CONFIGURE_WITH+= canna +PATCH_SITES= http://www.gentei.org/~yuuji/software/emacs25canna/ \ + http://distfiles.pirateparty.in/ashish/ \ + LOCAL/ashish +PATCHFILES= emacs25.1canna-20160919.diff.gz +PLIST_FILES+= %%DATADIR%%/%%EMACS_VER%%/lisp/canna.el.gz \ + %%DATADIR%%/%%EMACS_VER%%/lisp/canna.elc \ + %%DATADIR%%/%%EMACS_VER%%/lisp/isearch-ext.el.gz \ + %%DATADIR%%/%%EMACS_VER%%/lisp/isearch-ext.elc \ + %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/canna.c +.elif ${FLAVOR:U} == lite +OPTIONS_EXCLUDE= ACL ALSA CAIRO DBUS GCONF GIF GSETTINGS GTK2 GTK3 JPEG \ + M17N MAGICK MOTIF OSS OTF PNG SCROLLBARS SVG TIFF XAW \ + XAW3D X11 XFT XIM XPM XWIDGETS +.endif + .include # has graphics/ImageMagick been compiled with OPENMP? Index: editors/emacs/pkg-descr =================================================================== --- editors/emacs/pkg-descr +++ editors/emacs/pkg-descr @@ -1,17 +1,17 @@ -GNU Emacs is a self-documenting, customizable, extensible real-time -display editor. +GNU Emacs is an extensible, customizable, free/libre text editor. At its +core is an interpreter for Emacs Lisp, a dialect of the Lisp programming +language with extensions to support text editing. -Users new to Emacs will be able to use basic features fairly rapidly -by studying the tutorial and using the self-documentation features. -Emacs also has an extensive interactive manual browser. It is easily -extensible since its editing commands are written in Lisp. +The features of GNU Emacs include: + - content-aware editing modes, including syntax coloring, for many file + types + - complete built-in documentation, including a tutorial for new users + - full Unicode support for nearly all human scripts + - powerful customizability, using Emacs Lisp code or a graphical + interface + - a vast ecosystem of functionality beyond text editing, including a + project planner, mail and news reader, debugger interface, calendar, + even a psychotherapist, and more + - a packaging system for downloading and installing extensions. -GNU Emacs's many special packages handle mail reading (RMail) and -sending (Mail), outline editing (Outline), compiling (Compile), -running subshells within Emacs windows (Shell), running a Lisp -read-eval-print loop (Lisp-Interaction-Mode), automated psychotherapy -(Doctor :-) and many more. - -Canna support is contributed by Yuji TAKANO (takachan@running-dog.net). - -WWW: http://www.gnu.org/software/emacs/ +WWW: https://www.gnu.org/software/emacs/ Index: editors/emacs/pkg-descr-canna =================================================================== --- /dev/null +++ editors/emacs/pkg-descr-canna @@ -0,0 +1,19 @@ +GNU Emacs is an extensible, customizable, free/libre text editor. 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-aware editing modes, including syntax coloring, for many file + types + - complete built-in documentation, including a tutorial for new users + - full Unicode support for nearly all human scripts + - powerful customizability, using Emacs Lisp code or a graphical + interface + - a vast ecosystem of functionality beyond text editing, including a + project planner, mail and news reader, debugger interface, calendar, + even a psychotherapist, and more + - a packaging system for downloading and installing extensions. + +Canna support is contributed by Yuji TAKANO (takachan@running-dog.net). + +WWW: https://www.gnu.org/software/emacs/ Index: editors/emacs/pkg-plist =================================================================== --- editors/emacs/pkg-plist +++ editors/emacs/pkg-plist @@ -1201,8 +1201,6 @@ %%DATADIR%%/%%EMACS_VER%%/lisp/calendar/timeclock.elc %%DATADIR%%/%%EMACS_VER%%/lisp/calendar/todo-mode.el.gz %%DATADIR%%/%%EMACS_VER%%/lisp/calendar/todo-mode.elc -%%CANNA%%%%DATADIR%%/%%EMACS_VER%%/lisp/canna.el.gz -%%CANNA%%%%DATADIR%%/%%EMACS_VER%%/lisp/canna.elc %%DATADIR%%/%%EMACS_VER%%/lisp/case-table.el.gz %%DATADIR%%/%%EMACS_VER%%/lisp/case-table.elc %%DATADIR%%/%%EMACS_VER%%/lisp/cdl.el.gz @@ -2392,8 +2390,6 @@ %%DATADIR%%/%%EMACS_VER%%/lisp/isearch.elc %%DATADIR%%/%%EMACS_VER%%/lisp/isearchb.el.gz %%DATADIR%%/%%EMACS_VER%%/lisp/isearchb.elc -%%CANNA%%%%DATADIR%%/%%EMACS_VER%%/lisp/isearch-ext.el.gz -%%CANNA%%%%DATADIR%%/%%EMACS_VER%%/lisp/isearch-ext.elc %%DATADIR%%/%%EMACS_VER%%/lisp/jit-lock.el.gz %%DATADIR%%/%%EMACS_VER%%/lisp/jit-lock.elc %%DATADIR%%/%%EMACS_VER%%/lisp/jka-cmpr-hook.el.gz @@ -3980,7 +3976,6 @@ %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/bytecode.c %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/callint.c %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/callproc.c -%%CANNA%%%%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/canna.c %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/casefiddle.c %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/casetab.c %%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/src/category.c