summaryrefslogtreecommitdiff
path: root/dev-lisp/alexandria
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lisp/alexandria')
-rw-r--r--dev-lisp/alexandria/Manifest4
-rw-r--r--dev-lisp/alexandria/alexandria-20171029.ebuild39
-rw-r--r--dev-lisp/alexandria/files/alexandria-fix-docstrings.patch29
-rw-r--r--dev-lisp/alexandria/metadata.xml44
4 files changed, 116 insertions, 0 deletions
diff --git a/dev-lisp/alexandria/Manifest b/dev-lisp/alexandria/Manifest
new file mode 100644
index 000000000000..cdbcd89c0d14
--- /dev/null
+++ b/dev-lisp/alexandria/Manifest
@@ -0,0 +1,4 @@
+AUX alexandria-fix-docstrings.patch 1128 BLAKE2B 2f632045dd9871665b436aff50bf2e2a66058c4cde46e6f337abc98a9252fbdb7ccc69e68fc555e367057e3f9985ae559cee5dce2e2d8482098f7c47e413185b SHA512 04b80319839f3f39f1156a7604eb2565419a203e9c5520f6fd773f1865b57bade58e13769a26c03292ef666839b89fd5abb6dd5f952718513449f4862be5d2e9
+DIST alexandria-20171029.tar.bz2 45812 BLAKE2B 812f43483a0b25e4c4d481deec90ac1681a3c76062f5bf43b14530b239b2978e8d0cf735249b1093298db2761dc80a7d81e54da1e763db469b691b60d6db5d20 SHA512 a0a7386af94bae00139e3d06306169883cb1c5498c84d7a6db552a5dfa2ff8516d62609cb8a059c11f4200d507737ba99032d81b5a97112a2f3e7850572060e2
+EBUILD alexandria-20171029.ebuild 879 BLAKE2B 11cae5a30360b11241d7ccdde4d70af27b1e0afd2d778f6917ead0c74959bd25db30cb95ec824d24a09d27076af9b8082adcb27738fdc2b51078681d54248464 SHA512 60ab44f59f228537ebde62f1c626664e2b11044e29207a18810b70b54c39a4f34de5e536b0f397e5f699de248f71e2dd43cc5a561eafc606c07d7fab93d1773c
+MISC metadata.xml 2284 BLAKE2B 01229d7d3c1f1b8aafbfc3dec01c2d7a1ab4fa055e4ce8b796d5337b297e44c7e3c34faacdfc98176129fabaa57ea2fb05adb1fabe4ff9e737d9fec8769d446e SHA512 b7bcb6e83349e84327ca1b07eb3645b9a682bd8fb0d39569e0c868c9b075cdea4c50101697e354952e64216e1a65617072d137ef2a683bab81afa1d889075838
diff --git a/dev-lisp/alexandria/alexandria-20171029.ebuild b/dev-lisp/alexandria/alexandria-20171029.ebuild
new file mode 100644
index 000000000000..bd042f0736f8
--- /dev/null
+++ b/dev-lisp/alexandria/alexandria-20171029.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit common-lisp-3 eutils
+
+DESCRIPTION="A collection of portable utilities for Common Lisp"
+HOMEPAGE="http://common-lisp.net/project/alexandria/"
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.common-lisp.net/alexandria/alexandria.git"
+else
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+fi
+
+LICENSE="public-domain"
+SLOT="0"
+IUSE="doc"
+
+DEPEND="doc? ( sys-apps/texinfo )"
+RDEPEND=""
+
+src_prepare() {
+ eapply "${FILESDIR}/${PN}-fix-docstrings.patch"
+ eapply_user
+}
+
+src_compile() {
+ use doc && emake -C doc
+}
+
+src_install() {
+ common-lisp-install-sources -t all *.lisp LICENCE
+ common-lisp-install-asdf
+ dodoc README AUTHORS
+ use doc && doinfo doc/${PN}.info && dodoc doc/{"${PN}.html","${PN}.pdf"}
+}
diff --git a/dev-lisp/alexandria/files/alexandria-fix-docstrings.patch b/dev-lisp/alexandria/files/alexandria-fix-docstrings.patch
new file mode 100644
index 000000000000..747c9e3bf59d
--- /dev/null
+++ b/dev-lisp/alexandria/files/alexandria-fix-docstrings.patch
@@ -0,0 +1,29 @@
+diff -Nuar a/doc/docstrings.lisp b/doc/docstrings.lisp
+--- a/doc/docstrings.lisp 2016-12-11 00:04:21.272877121 +0100
++++ b/doc/docstrings.lisp 2016-12-11 00:05:03.752876882 +0100
+@@ -718,7 +718,7 @@
+ ;; sbcl.texinfo defines macros that expand @&key and friends to &key.
+ (mapcar (lambda (name)
+ (if (member name lambda-list-keywords)
+- (format nil "@~A" name)
++ (format nil "~A" name)
+ name))
+ (lambda-list doc)))))
+
+@@ -833,11 +833,11 @@
+ (flet ((macro (name)
+ (let ((string (string-downcase name)))
+ (format *texinfo-output* "@macro ~A~%~A~%@end macro~%" string string))))
+- (macro '&allow-other-keys)
+- (macro '&optional)
+- (macro '&rest)
+- (macro '&key)
+- (macro '&body)))
++ (macro 'allow-other-keys)
++ (macro 'optional)
++ (macro 'rest)
++ (macro 'key)
++ (macro 'body)))
+
+ (defun generate-includes (directory packages &key (base-package :cl-user))
+ "Create files in `directory' containing Texinfo markup of all
diff --git a/dev-lisp/alexandria/metadata.xml b/dev-lisp/alexandria/metadata.xml
new file mode 100644
index 000000000000..937bb81734f3
--- /dev/null
+++ b/dev-lisp/alexandria/metadata.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>common-lisp@gentoo.org</email>
+ <name>Gentoo Common Lisp Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Alexandria is a project and a library.
+
+ As a project Alexandria's goal is to reduce duplication of effort and
+ improve portability of Common Lisp code according to its own
+ idiosyncratic and rather conservative aesthetic. What this actually
+ means is open to debate, but each project member has a veto on all
+ project activities, so a degree of conservativism is inevitable.
+
+ As a library Alexandria is one of the means by which the project
+ strives for its goals. Alexandria is a collection of portable public
+ domain utilities that meet the following constraints:
+
+ * Utilities, not extensions: Alexandria will not contain conceptual
+ extensions to Common Lisp, instead limiting itself to tools and
+ utilities that fit well within the framework of standard ANSI Common
+ Lisp. Test-frameworks, system definitions, logging facilities,
+ serialization layers, etc. are all outside the scope of Alexandria
+ as a library, though well within the scope of Alexandria as a project.
+ * Conservative: Alexandria limits itself to what project members
+ consider conservative utilities. Alexandria does not and will not
+ include anaphoric constructs, loop-like binding macros, etc.
+ * Portable: Alexandria limits itself to portable parts of Common
+ Lisp. Even apparently conservative and usefull functions remain
+ outside the scope of Alexandria if they cannot be implemented
+ portably. Portability is here defined as portable within a
+ conforming implementation: implementation bugs are not considered
+ portability issues.
+ * Team player: Alexandria will not (initially, at least) subsume
+ or provide functionality for which good-quality special-purpose
+ packages exist, like split-sequence. Instead, third party packages
+ such as that may be "blessed".
+ </longdescription>
+ <upstream>
+ <remote-id type="gitlab">alexandria/alexandria</remote-id>
+ </upstream>
+</pkgmetadata>