Gentoo Archives: gentoo-commits

From: "José María Alonso" <nimiux@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lisp/alexandria/, dev-lisp/alexandria/files/
Date: Sun, 29 Oct 2017 18:45:48
Message-Id: 1509302567.818a3be725caad1597aa8ef3d4b37033160309a7.nimiux@gentoo
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>