1 |
commit: d56f500d8ccce7abfe3f3865ed95e7d5294abe18 |
2 |
Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Mar 2 14:08:51 2016 +0000 |
4 |
Commit: José María Alonso <nimiux <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Mar 2 14:08:51 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/lisp.git/commit/?id=d56f500d |
7 |
|
8 |
x11-wm/stumpwm: Add metadata and contrib modules |
9 |
|
10 |
x11-wm/stumpwm/metadata.xml | 61 +++++++++++++++++++++++++++++++++++++ |
11 |
x11-wm/stumpwm/stumpwm-0.9.9.ebuild | 57 ++++++++++++++++++++++++++-------- |
12 |
2 files changed, 106 insertions(+), 12 deletions(-) |
13 |
|
14 |
diff --git a/x11-wm/stumpwm/metadata.xml b/x11-wm/stumpwm/metadata.xml |
15 |
new file mode 100644 |
16 |
index 0000000..578e246 |
17 |
--- /dev/null |
18 |
+++ b/x11-wm/stumpwm/metadata.xml |
19 |
@@ -0,0 +1,61 @@ |
20 |
+<?xml version="1.0" encoding="UTF-8"?> |
21 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
22 |
+<pkgmetadata> |
23 |
+ <maintainer type="person"> |
24 |
+ <email>nimiux@g.o</email> |
25 |
+ <name>Chema Alonso</name> |
26 |
+ </maintainer> |
27 |
+ <longdescription lang="en"> |
28 |
+ Stumpwm is a tiling, keyboard driven X11 Window Manager written entirely in |
29 |
+ Common Lisp. |
30 |
+ |
31 |
+ If you're tired of flipping through themes like channel-surfing, and going |
32 |
+ from one perfect-except-for-just-one-thing window manager to another |
33 |
+ even-more-broken-in-some-other-way then perhaps Stumpwm can help. |
34 |
+ |
35 |
+ Stumpwm attempts to be customizable yet visually minimal. There are no |
36 |
+ window decorations, no icons, and no buttons. |
37 |
+ It does have various hooks to attach your personal customizations, and |
38 |
+ variables to tweak. |
39 |
+ |
40 |
+ * Hack the good hack |
41 |
+ * debug your good hack |
42 |
+ * customize your window manager |
43 |
+ |
44 |
+ while it's running. That's right. With a 100% Common Lisp window manager |
45 |
+ there's no stopping the hacks. Just re-eval and GO! |
46 |
+ </longdescription> |
47 |
+ <longdescription lang="es"> |
48 |
+ Stumpwm es un gestor de ventanas estilo mosaico gestionado por teclado |
49 |
+ escrito completamente en Common Lisp. |
50 |
+ |
51 |
+ Si está cansado de cambiar de temas como navegación por canales y vagar |
52 |
+ de un gestor de ventanas perfecto excepto por esa pequeña característica |
53 |
+ a otro incluso más roto de alguna otra forma, entonces quizá Stumpwm |
54 |
+ pueda ser de ayuda. |
55 |
+ |
56 |
+ Stumpwm persigue ser personalizable a la vez que mínimo. No hay |
57 |
+ decoración en las ventanas, ni iconos ni botones. |
58 |
+ Dispone de varios enganches para realizar nuestras propias configuraciones |
59 |
+ personales y variables que podemos ajustar a nuestras necesidades para: |
60 |
+ |
61 |
+ * Cacharrear de forma correcta |
62 |
+ * Depurar nuestro propio cacharreo |
63 |
+ * Personalizar nuestro gestor de ventanas |
64 |
+ |
65 |
+ mientras está corriendo. Eso está bien. Con un gestor de ventanas escrito |
66 |
+ al 100% en Common Lisp no hay forma de detener el cacharreo. ¡Simplemente |
67 |
+ reevalúe y CONTINÚE! |
68 |
+ </longdescription> |
69 |
+ <use> |
70 |
+ <flag name="contrib">Install contrib modules</flag> |
71 |
+ <flag name="doc">Include documentation</flag> |
72 |
+ <flag name="emacs">Add support for GNU Emacs</flag> |
73 |
+ <flag name="clisp">Use CLISP for the runtime</flag> |
74 |
+ <flag name="ecl">Use SCL for the runtime</flag> |
75 |
+ <flag name="sbcl">Use SBCL for the runtime</flag> |
76 |
+ </use> |
77 |
+ <upstream> |
78 |
+ <remote-id type="github">stumpwm/stumpwm</remote-id> |
79 |
+ </upstream> |
80 |
+</pkgmetadata> |
81 |
|
82 |
diff --git a/x11-wm/stumpwm/stumpwm-0.9.9.ebuild b/x11-wm/stumpwm/stumpwm-0.9.9.ebuild |
83 |
index 4ec18be..8fade26 100644 |
84 |
--- a/x11-wm/stumpwm/stumpwm-0.9.9.ebuild |
85 |
+++ b/x11-wm/stumpwm/stumpwm-0.9.9.ebuild |
86 |
@@ -4,47 +4,76 @@ |
87 |
|
88 |
EAPI=5 |
89 |
|
90 |
-inherit common-lisp-3 glo-utils eutils elisp-common autotools |
91 |
+inherit common-lisp-3 eutils elisp-common autotools |
92 |
|
93 |
DESCRIPTION="Stumpwm is a Window Manager written entirely in Common Lisp." |
94 |
HOMEPAGE="http://www.nongnu.org/stumpwm/" |
95 |
-SRC_URI="http://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" |
96 |
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" |
97 |
|
98 |
LICENSE="GPL-2" |
99 |
SLOT="0" |
100 |
-KEYWORDS="~amd64 ~ppc ~sparc ~x86" |
101 |
-IUSE="doc clisp ecl +sbcl emacs" |
102 |
+KEYWORDS="~amd64 ~x86" |
103 |
+IUSE="contrib doc emacs clisp ecl +sbcl" |
104 |
|
105 |
RESTRICT="strip mirror" |
106 |
|
107 |
RDEPEND="dev-lisp/cl-ppcre |
108 |
- sbcl? ( >=dev-lisp/clx-0.7.3_p20081030 ) |
109 |
+ sbcl? ( >=dev-lisp/sbcl-1.0.32 ) |
110 |
+ sbcl? ( >=dev-lisp/clx-0.7.4 ) |
111 |
!sbcl? ( !clisp? ( !ecl? ( >=dev-lisp/sbcl-1.0.32 ) ) ) |
112 |
!sbcl? ( !clisp? ( ecl? ( >=dev-lisp/ecls-10.4.1 ) ) ) |
113 |
!sbcl? ( clisp? ( >=dev-lisp/clisp-2.44[X,new-clx] ) ) |
114 |
- sbcl? ( >=dev-lisp/sbcl-1.0.32 ) |
115 |
emacs? ( virtual/emacs app-emacs/slime )" |
116 |
DEPEND="${RDEPEND} |
117 |
sys-apps/texinfo |
118 |
doc? ( virtual/texi2dvi )" |
119 |
|
120 |
SITEFILE=70${PN}-gentoo.el |
121 |
+CLPKGDIR="${CLSOURCEROOT}/${CLPACKAGE}" |
122 |
+CONTRIBDIR="${CLPKGDIR}/contrib" |
123 |
+ |
124 |
+get_lisp() { |
125 |
+ local lisp |
126 |
+ |
127 |
+ for lisp in "$@" ; do |
128 |
+ use ${lisp} && echo ${lisp} && return |
129 |
+ done |
130 |
+} |
131 |
|
132 |
do_doc() { |
133 |
local pdffile="${PN}.pdf" |
134 |
|
135 |
- texi2pdf -o "${pdffile}" "${PN}.texi.in" && dodoc "${pdffile}" || die |
136 |
- cp "${FILESDIR}"/README.Gentoo . && sed -i "s:@VERSION@:${PV}:" README.Gentoo |
137 |
+ texi2pdf -o "${pdffile}" "${PN}.texi" && dodoc "${pdffile}" || die |
138 |
+ cp "${FILESDIR}/README.Gentoo" . && sed -i "s:@VERSION@:${PV}:" README.Gentoo || die |
139 |
dodoc AUTHORS NEWS README.md README.Gentoo |
140 |
- doinfo ${PN}.info |
141 |
+ doinfo "${PN}.info" |
142 |
docinto examples ; dodoc sample-stumpwmrc.lisp |
143 |
} |
144 |
|
145 |
+do_contrib() { |
146 |
+ emake install-modules |
147 |
+ rm -r "${D}${CONTRIBDIR}"/.git* || die |
148 |
+} |
149 |
+ |
150 |
src_prepare() { |
151 |
# Upstream didn't change the version before packaging |
152 |
- sed -i "${S}/${PN}.asd" -e 's/:version "0.9.8"/:version "0.9.9"/' || die |
153 |
+ sed -i -e 's/:version "0.9.8"/:version "0.9.9"/' "${PN}.asd" || die |
154 |
+ # Bug 534592. Does not build with asdf:oos, using require to load the package |
155 |
+ sed -i "load-${PN}.lisp.in" -e "s/asdf:oos 'asdf:load-op/require/" || die |
156 |
+ if use contrib ; then |
157 |
+ # Fix contrib directory |
158 |
+ sed -i -e "s|@CONTRIB_DIR@|@MODULE_DIR@|" make-image.lisp.in || die |
159 |
+ sed -i -e "s|\~\/.${CLPACKAGE}\.d/modules|${D}${CONTRIBDIR}|" Makefile.in || die |
160 |
+ sed -i -e "s|\${HOME}/\.${CLPACKAGE}\.d/modules|${CONTRIBDIR}|" configure.ac || die |
161 |
+ fi |
162 |
eautoreconf |
163 |
- econf --with-lisp=$(glo_best_flag sbcl clisp ecl) |
164 |
+} |
165 |
+ |
166 |
+src_configure() { |
167 |
+ local moduleconfig |
168 |
+ |
169 |
+ use contrib && moduleconfig="--with-module-dir=${CONTRIBDIR}/contrib" |
170 |
+ econf --with-lisp=$(get_lisp sbcl clisp ecl) "${moduleconfig}" |
171 |
} |
172 |
|
173 |
src_compile() { |
174 |
@@ -52,13 +81,17 @@ src_compile() { |
175 |
} |
176 |
|
177 |
src_install() { |
178 |
- common-lisp-export-impl-args $(glo_best_flag sbcl clisp ecl) |
179 |
+ common-lisp-export-impl-args $(get_lisp sbcl clisp ecl) |
180 |
dobin stumpwm |
181 |
make_session_desktop StumpWM /usr/bin/stumpwm |
182 |
|
183 |
common-lisp-install-sources *.lisp |
184 |
common-lisp-install-asdf ${PN}.asd |
185 |
+ # Fix ASDF dir |
186 |
+ sed -i -e "/(:directory/c\ (:directory \"${CLPKGDIR}\")" \ |
187 |
+ "${D}${CLPKGDIR}/load-stumpwm.lisp" || die |
188 |
use doc && do_doc |
189 |
+ use contrib && do_contrib |
190 |
} |
191 |
|
192 |
pkg_postinst() { |