Changeset View
Changeset View
Standalone View
Standalone View
editors/emacs/Makefile
# Created by: MANTANI Nobutaka <nobutaka@nobutaka.com> | # Created by: MANTANI Nobutaka <nobutaka@nobutaka.com> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= emacs | PORTNAME= emacs | ||||
PORTVERSION= ${EMACS_VER} | PORTVERSION= ${EMACS_VER} | ||||
PORTREVISION= 1 | PORTREVISION= 2 | ||||
PORTEPOCH= 3 | PORTEPOCH= 3 | ||||
CATEGORIES= editors ipv6 | CATEGORIES= editors ipv6 | ||||
MASTER_SITES= GNU | MASTER_SITES= GNU | ||||
PKGNAMESUFFIX?= 25 | |||||
PATCH_DIST_STRIP= -p1 | PATCH_DIST_STRIP= -p1 | ||||
MAINTAINER= ashish@FreeBSD.org | MAINTAINER= ashish@FreeBSD.org | ||||
COMMENT= GNU editing macros | COMMENT= GNU editing macros | ||||
LICENSE= GPLv3+ | LICENSE= GPLv3+ | ||||
LICENSE_FILE= ${WRKSRC}/COPYING | LICENSE_FILE= ${WRKSRC}/COPYING | ||||
CONFLICTS_INSTALL?= emacs-devel-[0-9]* emacs-nox11-[0-9]* | |||||
BROKEN_aarch64= Fails to link: missing sbrk | BROKEN_aarch64= Fails to link: missing sbrk | ||||
CONFLICTS_INSTALL= emacs-devel emacs-devel_lite | |||||
FLAVORS= full canna lite | |||||
full_CONFLICTS_INSTALL= emacs-canna emacs-lite | |||||
canna_CONFLICTS_INSTALL= emacs emacs-lite | |||||
canna_PKGNAMESUFFIX= -canna | |||||
canna_DESCR= ${.CURDIR}/pkg-descr-canna | |||||
canna_LIB_DEPENDS= libcanna.so:japanese/canna-lib | |||||
lite_CONFLICTS_INSTALL= emacs emacs-canna | |||||
lite_PKGNAMESUFFIX= -lite | |||||
USES= cpe gmake makeinfo ncurses pkgconfig tar:xz | |||||
EMACS_VER= 25.3 | EMACS_VER= 25.3 | ||||
GNU_CONFIGURE= yes | 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 | INFO_PATH= ${DATADIR_REL}/info | ||||
CPE_VENDOR= gnu | CPE_VENDOR= gnu | ||||
SUB_FILES= sources.el | SUB_FILES= sources.el | ||||
SUB_LIST+= ARCHLIBDIR=${PREFIX}/libexec/emacs/${EMACS_VER}/${CONFIGURE_TARGET} | SUB_LIST+= ARCHLIBDIR=${PREFIX}/libexec/emacs/${EMACS_VER}/${CONFIGURE_TARGET} | ||||
SUB_LIST+= EMACS_VER=${EMACS_VER} # sources.el | SUB_LIST+= EMACS_VER=${EMACS_VER} # sources.el | ||||
CONFIGURE_ARGS= --localstatedir=/var \ | CONFIGURE_ARGS= --localstatedir=/var \ | ||||
--with-gameuser=games:games | --with-gameuser=games:games | ||||
PLIST_SUB= EMACS_VER=${EMACS_VER} GNU_HOST=${CONFIGURE_TARGET} | PLIST_SUB= EMACS_VER=${EMACS_VER} GNU_HOST=${CONFIGURE_TARGET} | ||||
INFO= ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede \ | INFO= ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede \ | ||||
ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime epa erc \ | ediff edt efaq eieio eintr elisp emacs emacs-gnutls emacs-mime epa erc \ | ||||
ert eshell eudc eww flymake forms gnus htmlfontify idlwave ido info \ | ert eshell eudc eww flymake forms gnus htmlfontify idlwave ido info \ | ||||
mairix-el message mh-e newsticker nxml-mode octave-mode org pcl-cvs pgg \ | mairix-el message mh-e newsticker nxml-mode octave-mode org pcl-cvs pgg \ | ||||
rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar \ | rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar \ | ||||
srecode todo-mode tramp url vhdl-mode vip viper widget wisent woman | 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 | ||||
ashish: @jrm --- sorry for the late feedback. How about we keep `CANNA` option, and instead make the… | |||||
Not Done Inline ActionsNo, adding back the CANNA option is a bad idea. Using flavors is the way to go forward. An UPDATING entry saying how to get the -canna version is a better idea. mat: No, adding back the CANNA option is a bad idea. Using flavors is the way to go forward. An… | |||||
OPTIONS_RADIO= FILENOTIFY SOUND X11TOOLKIT | OPTIONS_RADIO= FILENOTIFY SOUND X11TOOLKIT | ||||
OPTIONS_RADIO_FILENOTIFY= GFILE KQUEUE | OPTIONS_RADIO_FILENOTIFY= GFILE KQUEUE | ||||
OPTIONS_RADIO_SOUND= ALSA OSS | OPTIONS_RADIO_SOUND= ALSA OSS | ||||
OPTIONS_RADIO_X11TOOLKIT= GTK2 GTK3 MOTIF XAW XAW3D | OPTIONS_RADIO_X11TOOLKIT= GTK2 GTK3 MOTIF XAW XAW3D | ||||
OPTIONS_GROUP= GRAPHICS NEEDX11 | OPTIONS_GROUP= GRAPHICS NEEDX11 | ||||
OPTIONS_GROUP_GRAPHICS= CAIRO GIF JPEG MAGICK PNG SVG TIFF XPM | 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 | 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 | ACL_DESC= Access control list support | ||||
CAIRO_DESC= Experimental Cairo library support (implies PNG, XFT) | CAIRO_DESC= Experimental Cairo library support (implies PNG, XFT) | ||||
CANNA_DESC= Japanese input support | CANNA_DESC= Japanese input support | ||||
FILENOTIFY_DESC=File notification support | FILENOTIFY_DESC=File notification support | ||||
GFILE_DESC= File notification via gfile | GFILE_DESC= File notification via gfile | ||||
GRAPHICS_DESC= Graphics support (each implies X11) | GRAPHICS_DESC= Graphics support (each implies X11) | ||||
GSETTINGS_DESC= GSettings API for application settings | GSETTINGS_DESC= GSettings API for application settings | ||||
KQUEUE_DESC= File notification via kqueue | KQUEUE_DESC= File notification via kqueue | ||||
Show All 17 Lines | |||||
OPTIONS_SUB= YES | OPTIONS_SUB= YES | ||||
ACL_CONFIGURE_ENABLE= acl | ACL_CONFIGURE_ENABLE= acl | ||||
ALSA_CONFIGURE_ON= --with-sound=alsa | ALSA_CONFIGURE_ON= --with-sound=alsa | ||||
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib | ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib | ||||
CAIRO_USE= GNOME=cairo | CAIRO_USE= GNOME=cairo | ||||
CAIRO_CONFIGURE_WITH= cairo | CAIRO_CONFIGURE_WITH= cairo | ||||
CAIRO_IMPLIES= PNG XFT X11 | 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_LIB_DEPENDS= libdbus-1.so:devel/dbus | ||||
DBUS_CONFIGURE_WITH= dbus | DBUS_CONFIGURE_WITH= dbus | ||||
GCONF_USE= GNOME=gconf2 | GCONF_USE= GNOME=gconf2 | ||||
GCONF_CONFIGURE_WITH= gconf | GCONF_CONFIGURE_WITH= gconf | ||||
GCONF_IMPLIES= X11 | GCONF_IMPLIES= X11 | ||||
GFILE_CONFIGURE_ON= --with-file-notification=gfile | GFILE_CONFIGURE_ON= --with-file-notification=gfile | ||||
GIF_LIB_DEPENDS= libgif.so:graphics/giflib | GIF_LIB_DEPENDS= libgif.so:graphics/giflib | ||||
GIF_CONFIGURE_WITH= gif | GIF_CONFIGURE_WITH= gif | ||||
▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
XIM_CONFIGURE_WITH= xim | XIM_CONFIGURE_WITH= xim | ||||
XIM_IMPLIES= X11 | XIM_IMPLIES= X11 | ||||
XML_USE= GNOME=libxml2 | XML_USE= GNOME=libxml2 | ||||
XML_CONFIGURE_WITH= xml2 | XML_CONFIGURE_WITH= xml2 | ||||
XPM_USE= XORG=xpm | XPM_USE= XORG=xpm | ||||
XPM_CONFIGURE_WITH= xpm | XPM_CONFIGURE_WITH= xpm | ||||
XPM_IMPLIES= X11 | XPM_IMPLIES= X11 | ||||
XWIDGETS_USE= XORG=xcomposite | XWIDGETS_USE= XORG=xcomposite | ||||
XWIDGETS_CONFIGURE_WITH=xwidgets | XWIDGETS_CONFIGURE_WITH= xwidgets | ||||
XWIDGETS_LIB_DEPENDS= libwebkitgtk-3.0.so:www/webkit-gtk3 | XWIDGETS_LIB_DEPENDS= libwebkitgtk-3.0.so:www/webkit-gtk3 | ||||
XWIDGETS_IMPLIES= GTK3 | XWIDGETS_IMPLIES= GTK3 | ||||
.if ${FLAVOR:U} == canna | |||||
CONFIGURE_WITH+= canna | |||||
Not Done Inline Actions?? mat: ?? | |||||
Not Done Inline ActionsI am unclear why there is a problem here. jrm: I am unclear why there is a problem here. | |||||
PATCH_SITES= http://www.gentei.org/~yuuji/software/emacs25canna/ \ | |||||
http://distfiles.pirateparty.in/ashish/ \ | |||||
LOCAL/ashish | |||||
PATCHFILES= emacs25.2canna-20170507.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 | |||||
Done Inline ActionsPlease do not use %% placeholders in PLIST_* variables, use the variables directly, ${DATADIR}, ${EMACS_VER}... mat: Please do not use %% placeholders in PLIST_* variables, use the variables directly, ${DATADIR}… | |||||
.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 <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
# has graphics/ImageMagick been compiled with OPENMP? | # has graphics/ImageMagick been compiled with OPENMP? | ||||
.if ${PORT_OPTIONS:MMAGICK} && ${:!${GREP} -sc " \-fopenmp " ${LOCALBASE}/libdata/pkgconfig/ImageMagick.pc || true!} == "1" | .if ${PORT_OPTIONS:MMAGICK} && ${:!${GREP} -sc " \-fopenmp " ${LOCALBASE}/libdata/pkgconfig/ImageMagick.pc || true!} == "1" | ||||
_MAGICK_WITH_OPENMP= true | _MAGICK_WITH_OPENMP= true | ||||
.endif | .endif | ||||
Show All 16 Lines |
@jrm --- sorry for the late feedback. How about we keep CANNA option, and instead make the canna flavour turn ON that option, that way port will be backward compatible, and for users who are already running emacs with that option, can just continue to build/install emacs that they are already running without changes, in other words, this will be the least distractive path for them ? In other words, lets re-add CANNA option stuff (in Makefile, and pkg-plist), so if user does make config it will continue to see CANNA option. The only nitpicking with this approach is pkg-descr will continue to have CANNA support attribution line, even though user is not running CANNA enabled version, which IMHO is harmless.
And ofcourse, we should definitely add a note about this new flavour support in UPDATING, so users who want CANNA support don't have to build the port by themselves, and can just use a editors/emacs@canna package.
What do you say ?
P.S. Thank you for working on this.