Files
ports/editors/emacs/Makefile
T

131 lines
4.0 KiB
Makefile

COMMENT= GNU editor: extensible, customizable, self-documenting
VERSION= 30.2
DISTNAME= emacs-${VERSION}
REVISION= 2
CATEGORIES= editors
HOMEPAGE= https://www.gnu.org/software/emacs/
MAINTAINER= Jeremie Courreges-Anglas <jca@wxcvbn.org>
# GPLv3+
PERMIT_PACKAGE= Yes
WANTLIB += c curses execinfo gmp gnutls m pthread sqlite3 tree-sitter xml2 z
#SITES= https://alpha.gnu.org/gnu/emacs/pretest/
SITES+= ${SITE_GNU:=emacs/}
EXTRACT_SUFX= .tar.xz
DEBUG_PACKAGES = ${BUILD_PACKAGES}
FLAVORS= athena gtk2 gtk3 no_x11 pgtk
FLAVOR?= gtk3
GCCARCH= ${MACHINE_ARCH}-unknown-openbsd
LOCAL_LISP_PATH= ${SYSCONFDIR}/emacs:${LOCALBASE}/share/emacs/${VERSION:C/[a-z]+$$//}/site-lisp:${LOCALBASE}/share/emacs/site-lisp
CONFIGURE_STYLE= gnu
MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/build-aux
CONFIGURE_ARGS= --build="${GCCARCH}" \
--enable-locallisppath="${LOCAL_LISP_PATH}" \
--without-sound
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib ${LDFLAGS}"
MAKE_ENV= INSTALL_EMACS="${INSTALL_SCRIPT}" \
LOGNAME="${SHAREOWN}"
SUBST_VARS= GCCARCH VERSION
USE_GMAKE= Yes
LIB_DEPENDS= databases/sqlite3 \
devel/gmp \
security/gnutls \
textproc/libxml \
textproc/tree-sitter
.if ${FLAVOR} == "no_x11"
CONFIGURE_ARGS+= --without-x \
--without-dbus \
--without-gsettings \
--without-harfbuzz \
--without-jpeg \
--without-lcms2 \
--without-libotf \
--without-m17n-flt
.else
LIB_DEPENDS+= devel/harfbuzz \
devel/libotf \
graphics/jpeg \
graphics/png \
graphics/tiff \
graphics/giflib \
graphics/lcms2 \
graphics/libwebp \
x11/dbus \
x11/gnome/librsvg
RUN_DEPENDS+= devel/desktop-file-utils \
devel/xdg-utils \
x11/gtk+4,-guic
. if ${FLAVOR} == "athena"
CONFIGURE_ARGS+= --with-x-toolkit=athena
LIB_DEPENDS+= x11/Xaw3d
LIB_DEPENDS+= misc/m17n/lib
WANTLIB += ICE SM X11 X11-xcb Xaw3d Xcomposite Xext Xfixes Xi
WANTLIB += Xinerama Xmu Xpm Xrandr Xrender Xt cairo dbus-1 fontconfig
WANTLIB += freetype gdk_pixbuf-2.0 gif gio-2.0 glib-2.0 gobject-2.0
WANTLIB += harfbuzz intl jpeg lcms2 m17n-core m17n-flt otf png
WANTLIB += rsvg-2 tiff webpdecoder webpdemux xcb xcb-shape
. elif ${FLAVOR} == "gtk2"
CONFIGURE_ARGS+= --with-x-toolkit=gtk2
LIB_DEPENDS+= x11/gtk+2
LIB_DEPENDS+= misc/m17n/lib
WANTLIB += ICE SM X11 X11-xcb Xcomposite Xcursor Xdamage Xext
WANTLIB += Xfixes Xi Xinerama Xpm Xrandr Xrender atk-1.0 cairo
WANTLIB += dbus-1 fontconfig freetype gdk-x11-2.0 gdk_pixbuf-2.0
WANTLIB += gif gio-2.0 glib-2.0 gobject-2.0 gtk-x11-2.0 harfbuzz
WANTLIB += intl jpeg lcms2 m17n-core m17n-flt otf pango-1.0 pangocairo-1.0
WANTLIB += pangoft2-1.0 png rsvg-2 tiff webpdecoder webpdemux
WANTLIB += xcb xcb-shape
. elif ${FLAVOR} == "gtk3"
CONFIGURE_ARGS+= --with-x-toolkit=gtk3
LIB_DEPENDS+= x11/gtk+3
LIB_DEPENDS+= misc/m17n/lib
WANTLIB += ICE SM X11 X11-xcb Xcomposite Xext Xfixes Xi Xinerama
WANTLIB += Xpm Xrandr Xrender atk-1.0 cairo cairo-gobject dbus-1
WANTLIB += fontconfig freetype gdk-3 gdk_pixbuf-2.0 gif gio-2.0
WANTLIB += glib-2.0 gobject-2.0 gtk-3 harfbuzz intl jpeg lcms2
WANTLIB += m17n-core m17n-flt otf pango-1.0 pangocairo-1.0 png
WANTLIB += rsvg-2 tiff webpdecoder webpdemux xcb xcb-shape
. elif ${FLAVOR} == "pgtk"
CONFIGURE_ARGS+= --with-pgtk
LIB_DEPENDS+= x11/gtk+3
WANTLIB += atk-1.0 cairo cairo-gobject dbus-1 fontconfig freetype
WANTLIB += gdk-3 gdk_pixbuf-2.0 gif gio-2.0 glib-2.0 gobject-2.0
WANTLIB += gtk-3 harfbuzz intl jpeg lcms2 otf pango-1.0 pangocairo-1.0
WANTLIB += png rsvg-2 tiff webpdecoder webpdemux
. else
ERRORS+= "Fatal: Conflicting flavor: ${FLAVOR}"
. endif
.endif
post-extract:
# XXX workaround to avoid needlessly rebuild elisp.info
cp ${WRKSRC}/doc/lispref/elisp_type_hierarchy.* ${WRKBUILD}/info
touch -c ${WRKSRC}/info/elisp.info
post-install:
chmod -t ${PREFIX}/bin/emacs-${VERSION}
mv ${PREFIX}/libexec/emacs/${VERSION}/${GCCARCH}/emacs-*.pdmp \
${PREFIX}/libexec/emacs/${VERSION}/${GCCARCH}/emacs.pdmp
rm ${PREFIX}/info/elisp_type_hierarchy.*
.if ${FLAVOR:Mno_x11}
rm -Rf ${PREFIX}/share/applications/ ${PREFIX}/share/icons/
.endif
.include <bsd.port.mk>