diff options
-rw-r--r-- | x11-wm/stumpwm/Manifest | 1 | ||||
-rw-r--r-- | x11-wm/stumpwm/stumpwm-1.0.0.ebuild | 104 |
2 files changed, 105 insertions, 0 deletions
diff --git a/x11-wm/stumpwm/Manifest b/x11-wm/stumpwm/Manifest index 5f1e6b28b51a..13df9f9c1467 100644 --- a/x11-wm/stumpwm/Manifest +++ b/x11-wm/stumpwm/Manifest @@ -1 +1,2 @@ DIST stumpwm-0.9.9.tar.gz 189516 SHA256 7dfcb31f3c248a454b892ae98a186f43681f6e8e62b7c77d7858b34f645c0abb SHA512 b114f0dc9091e6704acd4f6d16183b15d956b0f27abec800bca8cfdf966636e7e96c036678fe9c2ca9266d794eabb48c4d66dd62c52c1d26e42ab54abb7ff05b WHIRLPOOL 599bed139c5b058c61b89f01750179f9d9dd5db5fa65737e06f65990c96547042331845aa7d8ce137b0a9357c6e063b6663f7c8c66dab3e74553abedd56b6736 +DIST stumpwm-1.0.0.tar.gz 200794 SHA256 31fcb6fb34af20bf4857bb4621ab4b2c9bd6bec92bfd9ddaf88a18f850ba5dd5 SHA512 eb5bf48a5d185d982e8a9ec7639958f14fd912e0f4c89da205f0bcb0c10a61c3953bce5029c2a301fdcd29fe05c505601d4db30fc50b34b7082ce69bd25b43ac WHIRLPOOL 7049299b1c5db42f7379f3f741de8d87e3322deac6787494fb09c553130e0c2c79de93fdcb33beabb80f44f5b29a03f25bc61bfdcb3755043b4937627a3658fc diff --git a/x11-wm/stumpwm/stumpwm-1.0.0.ebuild b/x11-wm/stumpwm/stumpwm-1.0.0.ebuild new file mode 100644 index 000000000000..58bfb84dabce --- /dev/null +++ b/x11-wm/stumpwm/stumpwm-1.0.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit common-lisp-3 eutils elisp-common autotools + +DESCRIPTION="Stumpwm is a Window Manager written entirely in Common Lisp." +HOMEPAGE="https://stumpwm.github.io/" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="contrib doc emacs clisp ecl +sbcl" + +RESTRICT="strip mirror" + +RDEPEND="dev-lisp/cl-ppcre + sbcl? ( >=dev-lisp/sbcl-1.0.32 ) + sbcl? ( >=dev-lisp/clx-0.7.4 ) + !sbcl? ( !clisp? ( !ecl? ( >=dev-lisp/sbcl-1.0.32 ) ) ) + !sbcl? ( !clisp? ( ecl? ( >=dev-lisp/ecls-10.4.1 ) ) ) + !sbcl? ( clisp? ( >=dev-lisp/clisp-2.44[X,new-clx] ) ) + emacs? ( virtual/emacs app-emacs/slime )" +DEPEND="${RDEPEND} + sys-apps/texinfo + doc? ( virtual/texi2dvi )" + +SITEFILE=70${PN}-gentoo.el +CLPKGDIR="${CLSOURCEROOT}/${CLPACKAGE}" +CONTRIBDIR="${CLPKGDIR}/contrib" + +get_lisp() { + local lisp + + for lisp in "$@" ; do + use ${lisp} && echo ${lisp} && return + done +} + +do_doc() { + local pdffile="${PN}.pdf" + + texi2pdf -o "${pdffile}" "${PN}.texi" && dodoc "${pdffile}" || die + cp "${FILESDIR}/README.Gentoo" . && sed -i "s:@VERSION@:${PV}:" README.Gentoo || die + dodoc AUTHORS NEWS README.md README.Gentoo + doinfo "${PN}.info" + docinto examples ; dodoc sample-stumpwmrc.lisp +} + +do_contrib() { + emake install-modules + rm -r "${D}${CONTRIBDIR}"/.git* || die +} + +src_prepare() { + default + # Upstream didn't change the version before packaging + sed -i -e 's/:version "0.9.8"/:version "0.9.9"/' "${PN}.asd" || die + # Bug 534592. Does not build with asdf:oos, using require to load the package + sed -i "load-${PN}.lisp.in" -e "s/asdf:oos 'asdf:load-op/require/" || die + if use contrib ; then + # Fix contrib directory + sed -i -e "s|@CONTRIB_DIR@|@MODULE_DIR@|" make-image.lisp.in || die + sed -i -e "s|\~\/.${CLPACKAGE}\.d/modules|${D}${CONTRIBDIR}|" Makefile.in || die + sed -i -e "s|\${HOME}/\.${CLPACKAGE}\.d/modules|${CONTRIBDIR}|" configure.ac || die + fi + eautoreconf +} + +src_configure() { + local moduleconfig + + use contrib && moduleconfig="--with-module-dir=${CONTRIBDIR}/contrib" + econf --with-lisp=$(get_lisp sbcl clisp ecl) "${moduleconfig}" +} + +src_compile() { + emake -j1 +} + +src_install() { + common-lisp-export-impl-args $(get_lisp sbcl clisp ecl) + dobin stumpwm + make_session_desktop StumpWM /usr/bin/stumpwm + + common-lisp-install-sources *.lisp + common-lisp-install-asdf ${PN}.asd + # Fix ASDF dir + sed -i -e "/(:directory/c\ (:directory \"${CLPKGDIR}\")" \ + "${D}${CLPKGDIR}/load-stumpwm.lisp" || die + use doc && do_doc + use contrib && do_contrib +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |