commit: 309cbe75930279a6f3ecc121d7e0b1e9fee3fc76
Author: Chema Alonso <nimiux <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 26 15:48:03 2014 +0000
Commit: José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Sat Jul 26 15:48:03 2014 +0000
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=309cbe75
dev-lisp/linedit: new live ebuild
---
.../files/9999-linedit.asd-uffi-glue-gentoo.patch | 20 +++++++
dev-lisp/linedit/linedit-9999.ebuild | 62 ++++++++++++++++++++++
2 files changed, 82 insertions(+)
diff --git a/dev-lisp/linedit/files/9999-linedit.asd-uffi-glue-gentoo.patch
b/dev-lisp/linedit/files/9999-linedit.asd-uffi-glue-gentoo.patch
new file mode 100644
index 0000000..97dabc4
--- /dev/null
+++ b/dev-lisp/linedit/files/9999-linedit.asd-uffi-glue-gentoo.patch
@@ -0,0 +1,20 @@
+diff -Nuar a/linedit.asd b/linedit.asd
+--- a/linedit.asd 2014-07-26 14:24:03.109913304 +0200
++++ b/linedit.asd 2014-07-26 14:25:34.279912792 +0200
+@@ -75,10 +75,13 @@
+ (:file "matcher" :depends-on ("packages"))
+
+ ;; Backend
+- (:file "backend" :depends-on ("utility-macros"))
+- (:uffi-c-source-file "terminal_glue")
++ ;(:file "backend" :depends-on ("utility-macros"))
++ ;(:uffi-c-source-file "terminal_glue")
++ (:file "uffi-loader" :depends-on ("packages"))
++ (:file "backend" :depends-on ("utility-macros" "uffi-loader"))
++
+ (:file "terminal-translations" :depends-on ("packages"))
+- (:file "terminal" :depends-on ("terminal-translations" "backend"
"terminal_glue"))
++ (:file "terminal" :depends-on ("terminal-translations" "backend"
"uffi-loader"))
+ (:file "smart-terminal" :depends-on ("terminal" "matcher"))
+ (:file "dumb-terminal" :depends-on ("terminal"))
+
diff --git a/dev-lisp/linedit/linedit-9999.ebuild
b/dev-lisp/linedit/linedit-9999.ebuild
new file mode 100644
index 0000000..6151256
--- /dev/null
+++ b/dev-lisp/linedit/linedit-9999.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit common-lisp-3 eutils flag-o-matic git-2 multilib toolchain-funcs
+
+DESCRIPTION="Linedit is a readline-style library written in Common Lisp."
+HOMEPAGE="http://www.common-lisp.net/project/linedit/"
+EGIT_REPO_URI="git://common-lisp.net/projects/${PN}/${PN}.git"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="!dev-lisp/cl-${PN}
+ dev-lisp/alexandria
+ dev-lisp/madeira-port
+ >=dev-lisp/osicat-0.6.0
+ dev-lisp/terminfo
+ dev-lisp/uffi"
+
+CFILES="terminal_glue"
+
+@cc() {
+ local cc=$(tc-getCC)
+ echo "${cc}" "${@}"
+ "${cc}" "${@}"
+}
+
+
+create_uffi_loader() {
+ cat > uffi-loader.lisp <<-EOF
+ ;;;; -*- mode: lisp; syntax: common-lisp; indent-tabs-mode: nil; base:
10; package: linedit -*-
+ (in-package :linedit)
+
+ (uffi:load-foreign-library
#p"/usr/$(get_libdir)/linedit/terminal_glue.so")
+ EOF
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-${PN}.asd-uffi-glue-gentoo.patch
+ create_uffi_loader
+}
+
+src_compile() {
+ strip-flags
+ for filename in "${CFILES}" ; do
+ @cc "${filename}.c" ${CFLAGS} ${LDFLAGS} \
+ -fPIC -DPIC -shared -Wl,-soname="${filename}" -o
"${filename}.so" \
+ || die "Cannot compile ${filename}.c"
+ done
+}
+
+src_install() {
+ common-lisp-install-sources *.lisp ports/
+ common-lisp-install-asdf
+ exeinto "/usr/$(get_libdir)/${PN}"
+ doexe *.so
+}