115 lines
4.4 KiB
Makefile
115 lines
4.4 KiB
Makefile
# $NetBSD: Makefile,v 1.12 2012/11/03 19:41:30 kristerw Exp $
|
|
#
|
|
|
|
SHORTNAME= stumpwm
|
|
VERSION= 0.9.7
|
|
PKGNAME= ${SHORTNAME}-${VERSION}
|
|
DISTNAME= ${PKGNAME}
|
|
CATEGORIES= wm
|
|
DISTFILES= ${DISTNAME}.tgz
|
|
SITES.${DISTNAME}.tgz= http://download.savannah.nongnu.org/releases/stumpwm/
|
|
|
|
MAINTAINER= jfranz@bsdprojects.net
|
|
HOMEPAGE= https://www.nongnu.org/stumpwm/
|
|
COMMENT= Tiling, keyboard driven X11 Window Manager written in Common Lisp
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
.include "options.mk"
|
|
|
|
USE_TOOLS+= autoconf make makeinfo install-info
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
# clisp-core target, until CLISP 2.50 release
|
|
USE_LANGUAGES= c
|
|
USE_GNU_READLINE= yes
|
|
.endif
|
|
INSTALLATION_DIRS+= ${PKGINFODIR} bin
|
|
INFO_FILES= yes
|
|
INSTALL_UNSTRIPPED= yes
|
|
|
|
DEPENDS= sudo-[0-9]*:../../security/sudo
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
LISP_CENTRAL_REGISTRY= ${CLISP_CENTRAL_REGISTRY}
|
|
# X11 bindings
|
|
DEPENDS+= clisp-new-clx>=2.42:../../x11/clisp-new-clx
|
|
.endif
|
|
.if !empty(PKG_OPTIONS:Msbcl)
|
|
LISP_CENTRAL_REGISTRY= ${SBCL_CENTRAL_REGISTRY}
|
|
DEPENDS+= sbcl-portable-clx-[0-9]*:../../wip/cl-portable-clx
|
|
.endif
|
|
# From README: "by default stumpwm elects sbcl"
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
CONFIGURE_ARGS= --with-lisp=clisp
|
|
.endif
|
|
|
|
SUBST_CLASSES+= sysconf
|
|
SUBST_STAGE.sysconf= post-extract
|
|
SUBST_FILES.sysconf= stumpwm.asd
|
|
SUBST_SED.sysconf= -e 's/version "CVS"/version "${VERSION}"/'
|
|
|
|
SED_EXPRS= -e "s\#asdf_path\#${PREFIX}/${LISP_CENTRAL_REGISTRY}\#"
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
SED_EXPRS+= -e "s/expr_param/-x/"
|
|
SED_EXPRS+= -e "s/mem_param/-M/"
|
|
SED_EXPRS+= -e "s/lisp_comp/clisp/"
|
|
SED_EXPRS+= -e "s\#lisp_cmd\#-q -norc -x '(require \\\\\"clx\\\\\")'\#"
|
|
# clisp-core target
|
|
SED_EXPRS+= -e "s\#\(clisp_core_temp=\"\)\#\1-K${PREFIX}/${LISP_CENTRAL_REGISTRY}${SHORTNAME}/clisp-core\#"
|
|
SED_EXPRS+= -e "s/used_save_cmd/clisp_save_cmd/"
|
|
.endif
|
|
.if !empty(PKG_OPTIONS:Msbcl)
|
|
SED_EXPRS+= -e "s/expr_param/--eval/"
|
|
SED_EXPRS+= -e "s/mem_param/--core/"
|
|
SED_EXPRS+= -e "s/lisp_comp/sbcl/"
|
|
SED_EXPRS+= -e "s/lisp_cmd/--disable-debugger --non-interactive/"
|
|
SED_EXPRS+= -e "s/used_save_cmd/sbcl_save_cmd/"
|
|
.endif
|
|
|
|
post-extract:
|
|
${LN} -s ${WRKSRC}/cl-ppcre/cl-ppcre.asd ${WRKSRC}/cl-ppcre.asd
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
${RM} ${WRKSRC}/asdf.lisp
|
|
@${ECHO} '(progn (require "clx"))' >> ${WRKSRC}/stumpwm.asd
|
|
${LN} -s ${PREFIX}/lib/clisp/dynmod/clx.lisp ${WRKSRC}/clx.lisp
|
|
.endif
|
|
|
|
do-configure:
|
|
cd ${WRKSRC} && autoconf && \
|
|
./configure ${CONFIGURE_ARGS} && ${MAKE} stumpwm.info
|
|
|
|
${SED} ${SED_EXPRS} ${FILESDIR}/${SHORTNAME} > ${WRKSRC}/stumpwm
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
cd ${WRKSRC} && ${MAKE} clisp-core
|
|
.endif
|
|
|
|
post-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/stumpwm ${DESTDIR}${PREFIX}/bin/stumpwm
|
|
${INSTALL_MAN} ${WRKSRC}/stumpwm.info ${DESTDIR}${PREFIX}/${PKGINFODIR}/stumpwm.info
|
|
# Stumpwm is distributed not like just cl package, but like normal software, so move out the junk
|
|
mkdir -p ${DESTDIR}${PREFIX}/${LISP_CENTRAL_REGISTRY}/${SHORTNAME}-dest/cl-ppcre
|
|
cd ${DESTDIR}${PREFIX}/${LISP_CENTRAL_REGISTRY}${SHORTNAME} && ${MV} stumpwm.asd *.lisp *.fas* contrib ../${SHORTNAME}-dest/ && \
|
|
${MV} cl-ppcre/cl-ppcre.asd cl-ppcre/*.lisp cl-ppcre/*.fas* ../${SHORTNAME}-dest/cl-ppcre/
|
|
# ASDF requires .fasl files write dates to be more fresh than .lisp ones, or recompilation will be done.
|
|
# Do hardlinks of *.lisp from sources directory to return original dates.
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
# As we don't need it after the build is done, remove it to prevent possible "cross-device link" error
|
|
${RM} ${WRKSRC}/clx.lisp
|
|
.endif
|
|
${LN} -f ${WRKSRC}/cl-ppcre/*.lisp ${DESTDIR}${PREFIX}/${LISP_CENTRAL_REGISTRY}/${SHORTNAME}-dest/cl-ppcre/
|
|
${LN} -f ${WRKSRC}/*.lisp ${DESTDIR}${PREFIX}/${LISP_CENTRAL_REGISTRY}/${SHORTNAME}-dest/
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
mkdir ${DESTDIR}${PREFIX}/${CLISP_CENTRAL_REGISTRY}/${SHORTNAME}-dest/clisp-core
|
|
cd ${DESTDIR}${PREFIX}/${CLISP_CENTRAL_REGISTRY}${SHORTNAME} && ${MV} clisp-core/lispinit.mem \
|
|
../${SHORTNAME}-dest/clisp-core
|
|
.endif
|
|
${RM} -r ${DESTDIR}${PREFIX}/${LISP_CENTRAL_REGISTRY}${SHORTNAME}/
|
|
${MV} ${DESTDIR}${PREFIX}/${LISP_CENTRAL_REGISTRY}/${SHORTNAME}-dest/ ${DESTDIR}${PREFIX}/${LISP_CENTRAL_REGISTRY}${SHORTNAME}
|
|
.if !empty(PKG_OPTIONS:Mclisp)
|
|
${INSTALL_PROGRAM} ${WRKSRC}/clisp-core/lisp.run \
|
|
${DESTDIR}${PREFIX}/${CLISP_CENTRAL_REGISTRY}${SHORTNAME}/clisp-core/lisp.run
|
|
|
|
# clisp-core target
|
|
.include "../../wip/mk/clisp-temp.mk"
|
|
.endif
|
|
.include "../../wip/mk/cl-package.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|