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 +}