1 |
commit: 818a3be725caad1597aa8ef3d4b37033160309a7 |
2 |
Author: Chema Alonso Josa <nimiux <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Oct 29 18:41:47 2017 +0000 |
4 |
Commit: José María Alonso <nimiux <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Oct 29 18:42:47 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=818a3be7 |
7 |
|
8 |
dev-lisp/alexandria: Adds new package |
9 |
|
10 |
Package-Manager: Portage-2.3.8, Repoman-2.3.3 |
11 |
|
12 |
dev-lisp/alexandria/Manifest | 1 + |
13 |
dev-lisp/alexandria/alexandria-20171029.ebuild | 39 +++++++++++++++++++ |
14 |
.../files/alexandria-fix-docstrings.patch | 29 ++++++++++++++ |
15 |
dev-lisp/alexandria/metadata.xml | 44 ++++++++++++++++++++++ |
16 |
4 files changed, 113 insertions(+) |
17 |
|
18 |
diff --git a/dev-lisp/alexandria/Manifest b/dev-lisp/alexandria/Manifest |
19 |
new file mode 100644 |
20 |
index 00000000000..a6229f292bb |
21 |
--- /dev/null |
22 |
+++ b/dev-lisp/alexandria/Manifest |
23 |
@@ -0,0 +1 @@ |
24 |
+DIST alexandria-20171029.tar.bz2 45812 SHA256 03941516cb60344a505f6e4c9a323ad3ca7f4b64a6984452c6d0a5bc94cb99c1 SHA512 a0a7386af94bae00139e3d06306169883cb1c5498c84d7a6db552a5dfa2ff8516d62609cb8a059c11f4200d507737ba99032d81b5a97112a2f3e7850572060e2 WHIRLPOOL d5c13ff07f3602d6697a5d7165d7ab0b261e93364ff53287fa308db237d93a2abdd94cb4d5aa5784bef19a8443670ace9c5149be8876bed0f70ab277f3f446f4 |
25 |
|
26 |
diff --git a/dev-lisp/alexandria/alexandria-20171029.ebuild b/dev-lisp/alexandria/alexandria-20171029.ebuild |
27 |
new file mode 100644 |
28 |
index 00000000000..c5656e8f3de |
29 |
--- /dev/null |
30 |
+++ b/dev-lisp/alexandria/alexandria-20171029.ebuild |
31 |
@@ -0,0 +1,39 @@ |
32 |
+# Copyright 1999-2017 Gentoo Foundation |
33 |
+# Distributed under the terms of the GNU General Public License v2 |
34 |
+ |
35 |
+EAPI=6 |
36 |
+ |
37 |
+inherit common-lisp-3 eutils |
38 |
+ |
39 |
+DESCRIPTION="A collection of public domain utilities." |
40 |
+HOMEPAGE="http://common-lisp.net/project/alexandria/" |
41 |
+if [[ ${PV} == 9999* ]] ; then |
42 |
+ inherit git-r3 |
43 |
+ EGIT_REPO_URI="https://gitlab.common-lisp.net/alexandria/alexandria.git" |
44 |
+else |
45 |
+ SRC_URI="mirror://gentoo/${P}.tar.bz2" |
46 |
+ KEYWORDS="~amd64 ~ppc ~sparc ~x86" |
47 |
+fi |
48 |
+ |
49 |
+LICENSE="MIT" |
50 |
+SLOT="0" |
51 |
+IUSE="doc" |
52 |
+ |
53 |
+DEPEND="doc? ( sys-apps/texinfo )" |
54 |
+RDEPEND="" |
55 |
+ |
56 |
+src_prepare() { |
57 |
+ eapply "${FILESDIR}/${PN}-fix-docstrings.patch" |
58 |
+ eapply_user |
59 |
+} |
60 |
+ |
61 |
+src_compile() { |
62 |
+ use doc && emake -C doc |
63 |
+} |
64 |
+ |
65 |
+src_install() { |
66 |
+ common-lisp-install-sources -t all *.lisp LICENCE |
67 |
+ common-lisp-install-asdf |
68 |
+ dodoc README AUTHORS |
69 |
+ use doc && doinfo doc/${PN}.info && dodoc doc/{"${PN}.html","${PN}.pdf"} |
70 |
+} |
71 |
|
72 |
diff --git a/dev-lisp/alexandria/files/alexandria-fix-docstrings.patch b/dev-lisp/alexandria/files/alexandria-fix-docstrings.patch |
73 |
new file mode 100644 |
74 |
index 00000000000..747c9e3bf59 |
75 |
--- /dev/null |
76 |
+++ b/dev-lisp/alexandria/files/alexandria-fix-docstrings.patch |
77 |
@@ -0,0 +1,29 @@ |
78 |
+diff -Nuar a/doc/docstrings.lisp b/doc/docstrings.lisp |
79 |
+--- a/doc/docstrings.lisp 2016-12-11 00:04:21.272877121 +0100 |
80 |
++++ b/doc/docstrings.lisp 2016-12-11 00:05:03.752876882 +0100 |
81 |
+@@ -718,7 +718,7 @@ |
82 |
+ ;; sbcl.texinfo defines macros that expand @&key and friends to &key. |
83 |
+ (mapcar (lambda (name) |
84 |
+ (if (member name lambda-list-keywords) |
85 |
+- (format nil "@~A" name) |
86 |
++ (format nil "~A" name) |
87 |
+ name)) |
88 |
+ (lambda-list doc))))) |
89 |
+ |
90 |
+@@ -833,11 +833,11 @@ |
91 |
+ (flet ((macro (name) |
92 |
+ (let ((string (string-downcase name))) |
93 |
+ (format *texinfo-output* "@macro ~A~%~A~%@end macro~%" string string)))) |
94 |
+- (macro '&allow-other-keys) |
95 |
+- (macro '&optional) |
96 |
+- (macro '&rest) |
97 |
+- (macro '&key) |
98 |
+- (macro '&body))) |
99 |
++ (macro 'allow-other-keys) |
100 |
++ (macro 'optional) |
101 |
++ (macro 'rest) |
102 |
++ (macro 'key) |
103 |
++ (macro 'body))) |
104 |
+ |
105 |
+ (defun generate-includes (directory packages &key (base-package :cl-user)) |
106 |
+ "Create files in `directory' containing Texinfo markup of all |
107 |
|
108 |
diff --git a/dev-lisp/alexandria/metadata.xml b/dev-lisp/alexandria/metadata.xml |
109 |
new file mode 100644 |
110 |
index 00000000000..937bb81734f |
111 |
--- /dev/null |
112 |
+++ b/dev-lisp/alexandria/metadata.xml |
113 |
@@ -0,0 +1,44 @@ |
114 |
+<?xml version="1.0" encoding="UTF-8"?> |
115 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
116 |
+<pkgmetadata> |
117 |
+ <maintainer type="project"> |
118 |
+ <email>common-lisp@g.o</email> |
119 |
+ <name>Gentoo Common Lisp Project</name> |
120 |
+ </maintainer> |
121 |
+ <longdescription lang="en"> |
122 |
+ Alexandria is a project and a library. |
123 |
+ |
124 |
+ As a project Alexandria's goal is to reduce duplication of effort and |
125 |
+ improve portability of Common Lisp code according to its own |
126 |
+ idiosyncratic and rather conservative aesthetic. What this actually |
127 |
+ means is open to debate, but each project member has a veto on all |
128 |
+ project activities, so a degree of conservativism is inevitable. |
129 |
+ |
130 |
+ As a library Alexandria is one of the means by which the project |
131 |
+ strives for its goals. Alexandria is a collection of portable public |
132 |
+ domain utilities that meet the following constraints: |
133 |
+ |
134 |
+ * Utilities, not extensions: Alexandria will not contain conceptual |
135 |
+ extensions to Common Lisp, instead limiting itself to tools and |
136 |
+ utilities that fit well within the framework of standard ANSI Common |
137 |
+ Lisp. Test-frameworks, system definitions, logging facilities, |
138 |
+ serialization layers, etc. are all outside the scope of Alexandria |
139 |
+ as a library, though well within the scope of Alexandria as a project. |
140 |
+ * Conservative: Alexandria limits itself to what project members |
141 |
+ consider conservative utilities. Alexandria does not and will not |
142 |
+ include anaphoric constructs, loop-like binding macros, etc. |
143 |
+ * Portable: Alexandria limits itself to portable parts of Common |
144 |
+ Lisp. Even apparently conservative and usefull functions remain |
145 |
+ outside the scope of Alexandria if they cannot be implemented |
146 |
+ portably. Portability is here defined as portable within a |
147 |
+ conforming implementation: implementation bugs are not considered |
148 |
+ portability issues. |
149 |
+ * Team player: Alexandria will not (initially, at least) subsume |
150 |
+ or provide functionality for which good-quality special-purpose |
151 |
+ packages exist, like split-sequence. Instead, third party packages |
152 |
+ such as that may be "blessed". |
153 |
+ </longdescription> |
154 |
+ <upstream> |
155 |
+ <remote-id type="gitlab">alexandria/alexandria</remote-id> |
156 |
+ </upstream> |
157 |
+</pkgmetadata> |