pkgsrc/editors/emacs27/options.mk
wiz 0dff9e982f emacs27: switch to harfbuzz backend for fonts
This is the dependency recommended by upstream.

While here, clean up options:
- remove undocumented duplicate name for the same option (lucid)
- remove xaw3d from default options since it has no effect with gtk,
  which is on by default
- remove gconf option, since gsettings (via glib) is preferred,
  and gconfmm dependency was wrong anyway

Bump PKGREVISION.
2021-06-13 20:28:12 +00:00

190 lines
5.3 KiB
Makefile

# $NetBSD: options.mk,v 1.4 2021/06/13 20:28:12 wiz Exp $
### Set options
PKG_OPTIONS_VAR= PKG_OPTIONS.emacs
PKG_SUPPORTED_OPTIONS= dbus gnutls imagemagick jansson svg xaw3d xml
# xaw3d is only valid with tookit = xaw
PKG_OPTIONS_OPTIONAL_GROUPS+= window-system
PKG_OPTIONS_GROUP.window-system= x11 nextstep
PKG_OPTIONS_OPTIONAL_GROUPS+= toolkit
PKG_SUGGESTED_OPTIONS.Darwin= nextstep
# --with-x-toolkit=KIT use an X toolkit (KIT one of: yes or gtk2,
# gtk3, xaw or lucid or athena, motif, no)
# gtk in next line implies gtk2, xaw = athena = lucid
PKG_OPTIONS_GROUP.toolkit= gtk gtk2 gtk3 motif xaw
# gtk2 and gtk has the same effect
# gtk3 is default in the logic below (even not included in SUGGESTED_=)
# gtk* will be ignored for nextstep even shown as selected.
# imagemagick is disabled because of stability/security
# svg is omitted because it is rarely needed and heavyweight due to the rust dependency
# xaw3d is omitted because it is only valid with xaw
PKG_SUGGESTED_OPTIONS= dbus gnutls gtk3 jansson xml x11
.include "../../mk/bsd.options.mk"
### --- Check window-system independent options first
###
### Support D-BUS
###
.if !empty(PKG_OPTIONS:Mdbus)
. include "../../sysutils/dbus/buildlink3.mk"
.else
CONFIGURE_ARGS+= --without-dbus
.endif
###
### Support JSON
###
.if !empty(PKG_OPTIONS:Mjansson)
. include "../../textproc/jansson/buildlink3.mk"
.else
CONFIGURE_ARGS+= --without-json
.endif
###
### Support XML2
###
.if !empty(PKG_OPTIONS:Mxml)
USE_TOOLS+= pkg-config
BUILDLINK_API_DEPENDS.libxml2+= libxml2>=2.6.17
.include "../../textproc/libxml2/buildlink3.mk"
.else
CONFIGURE_ARGS+= --without-xml2
.endif
###
### Support gnutls
###
.if !empty(PKG_OPTIONS:Mgnutls)
.include "../../security/gnutls/buildlink3.mk"
.include "../../security/p11-kit/buildlink3.mk"
.else
CONFIGURE_ARGS+= --without-gnutls
.endif
###
### Check non nextstep (implies x11) options
###
### x11 is selected (as SUGGESTED above)
###
.if !empty(PKG_OPTIONS:Mx11)
###
### on OSX the configure script will select the "nextstep" window system
### unless you explicitly tell it not to. this should not impact other
### platforms.
###
CONFIGURE_ARGS+= --without-ns
###
### Support SVG
###
. if !empty(PKG_OPTIONS:Msvg)
.include "../../graphics/cairo/buildlink3.mk"
.include "../../graphics/librsvg/buildlink3.mk"
. else
CONFIGURE_ARGS+= --without-rsvg
. endif
###
### Support ImageMagick (not recognized for now, sorry)
###
. if !empty(PKG_OPTIONS:Mimagemagick)
.include "../../graphics/ImageMagick/buildlink3.mk"
# DEPENDS+= py[0-9]*-wand-[0-9]*:../../graphics/py-wand
. else
CONFIGURE_ARGS+= --without-imagemagick
. endif
###
### Support Xaw3d (This is only valid with Lucid Toolkit)
###
. if !empty(PKG_OPTIONS:Mxaw3d)
.include "../../x11/libXaw3d/buildlink3.mk"
. else
CONFIGURE_ARGS+= --without-xaw3d
. endif
###
### Toolkit selection
###
. if (empty(PKG_OPTIONS:Mxaw) && \
empty(PKG_OPTIONS:Mgtk) && \
empty(PKG_OPTIONS:Mgtk2) && \
empty(PKG_OPTIONS:Mmotif))
# defaults to gtk3
USE_TOOLS+= pkg-config
.include "../../x11/gtk3/buildlink3.mk"
CONFIGURE_ARGS+= --with-x-toolkit=gtk3
. elif !empty(PKG_OPTIONS:Mgtk2) || !empty(PKG_OPTIONS:Mgtk)
USE_TOOLS+= pkg-config
.include "../../x11/gtk2/buildlink3.mk"
CONFIGURE_ARGS+= --with-x-toolkit=gtk2
. elif !empty(PKG_OPTIONS:Mxaw)
.include "../../mk/xaw.buildlink3.mk"
CONFIGURE_ARGS+= --with-x-toolkit=athena
. elif !empty(PKG_OPTIONS:Mmotif)
.include "../../mk/motif.buildlink3.mk"
CONFIGURE_ARGS+= --with-x-toolkit=motif
. endif
###
### End of Check non nextstep (implies x11) options
.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
.include "../../graphics/giflib/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../x11/libSM/buildlink3.mk"
.include "../../x11/libXaw/buildlink3.mk"
.include "../../x11/libXpm/buildlink3.mk"
.include "../../x11/libXrender/buildlink3.mk"
###
### Support using NextStep (Cocoa or GNUstep) windowing system
###
# If you check the variable system-configuration-options after Emacs is
# built, you may see many x11 related configurations. But if you have
# --without-x there, all other x11 related configurations were ignored.
#
.elif !empty(PKG_OPTIONS:Mnextstep)
. if exists(/System/Library/Frameworks/Cocoa.framework)
APPLICATIONS_DIR= Applications
PLIST_SRC+= PLIST.cocoa
CHECK_WRKREF_SKIP+= Applications/Emacs.app/Contents/MacOS/Emacs
CHECK_WRKREF_SKIP+= Applications/Emacs.app/Contents/MacOS/Emacs.pdmp
. else
.include "../../x11/gnustep-gui/buildlink3.mk"
MAKE_FILE= Makefile
APPLICATIONS_DIR= share/GNUstep/Local/Applications
PLIST_SRC+= PLIST.gnustep
CHECK_WRKREF_SKIP+= share/GNUstep/Local/Applications/Emacs.app/Emacs
. endif
# more args for nextstep
CONFIGURE_ARGS+= --without-x
CONFIGURE_ARGS+= --with-ns
CONFIGURE_ARGS+= --disable-ns-self-contained
INSTALLATION_DIRS+= ${APPLICATIONS_DIR}
USE_TOOLS+= pax
post-install:
cd ${WRKSRC}/nextstep && \
pax -rw -pp -pm Emacs.app ${DESTDIR}${PREFIX}/${APPLICATIONS_DIR}
.else # no window system
CONFIGURE_ARGS+= --without-x
CONFIGURE_ARGS+= --without-xpm
CONFIGURE_ARGS+= --without-jpeg
CONFIGURE_ARGS+= --without-tiff
CONFIGURE_ARGS+= --without-gif
CONFIGURE_ARGS+= --without-png
.endif
# Local Variables:
# mode: outline-minor
# outline-regexp: "\\(.[ \t]*\\(if\\|endif\\|else\\|elif\\|include.*options\\|PKG_SUGGES\\)\\)\\|### .\\|# Local"
# End: