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://sources.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
+}

Reply via email to