From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-577204-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id 771F7138010
	for <garchives@archives.gentoo.org>; Mon,  1 Apr 2013 18:56:07 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 06653E0E9C;
	Mon,  1 Apr 2013 18:56:07 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 8A3BAE0E9C
	for <gentoo-commits@lists.gentoo.org>; Mon,  1 Apr 2013 18:56:06 +0000 (UTC)
Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 4FD8633BE2C
	for <gentoo-commits@lists.gentoo.org>; Mon,  1 Apr 2013 18:56:05 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by hornbill.gentoo.org (Postfix) with ESMTP id DBB4BE4073
	for <gentoo-commits@lists.gentoo.org>; Mon,  1 Apr 2013 18:56:03 +0000 (UTC)
From: "José María Alonso" <nimiux@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "José María Alonso" <nimiux@gentoo.org>
Message-ID: <1364842605.3626d232915d2b33556f17b5aa90f577c6b29e0b.nimiux@gentoo>
Subject: [gentoo-commits] proj/lisp:master commit in: dev-lisp/linedit/files/, dev-lisp/linedit/
X-VCS-Repository: proj/lisp
X-VCS-Files: dev-lisp/linedit/files/0.17.0-linedit.asd-uffi-glue-gentoo.patch dev-lisp/linedit/linedit-0.17.0.ebuild
X-VCS-Directories: dev-lisp/linedit/files/ dev-lisp/linedit/
X-VCS-Committer: nimiux
X-VCS-Committer-Name: José María Alonso
X-VCS-Revision: 3626d232915d2b33556f17b5aa90f577c6b29e0b
X-VCS-Branch: master
Date: Mon,  1 Apr 2013 18:56:03 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Archives-Salt: c28e315f-6549-4a26-94e9-7d50e83e3ac3
X-Archives-Hash: 5ab05df6ebea0ac263f09f48b6314226

commit:     3626d232915d2b33556f17b5aa90f577c6b29e0b
Author:     Chema Alonso <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Apr  1 18:56:45 2013 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Mon Apr  1 18:56:45 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/lisp.git;a=commit;h=3626d232

dev-lisp/linedit: bump to version 0.17.0

---
 .../0.17.0-linedit.asd-uffi-glue-gentoo.patch      |   68 ++++++++++++++++++++
 dev-lisp/linedit/linedit-0.17.0.ebuild             |   62 ++++++++++++++++++
 2 files changed, 130 insertions(+), 0 deletions(-)

diff --git a/dev-lisp/linedit/files/0.17.0-linedit.asd-uffi-glue-gentoo.patch b/dev-lisp/linedit/files/0.17.0-linedit.asd-uffi-glue-gentoo.patch
new file mode 100644
index 0000000..e496502
--- /dev/null
+++ b/dev-lisp/linedit/files/0.17.0-linedit.asd-uffi-glue-gentoo.patch
@@ -0,0 +1,68 @@
+diff -Nur a/linedit.asd b/linedit.asd
+--- a/linedit.asd	2010-09-14 22:08:59.000000000 +0200
++++ b/linedit.asd	2013-04-01 20:08:27.109977598 +0200
+@@ -24,40 +24,6 @@
+ 
+ (in-package :linedit-system)
+ 
+-(defvar *gcc* "/usr/bin/gcc")
+-
+-(defvar *gcc-options*
+-  #-(or darwin macosx)
+-  (list "-shared" "-fPIC")
+-  #+(or darwin macosx)
+-  (append
+-   (list "-dynamic"  "-bundle")
+-   #+(or x86 x86-64)
+-   (list "-arch" "x86_64" "-arch" "i386")
+-   #-sbcl
+-   (list "/usr/lib/bundle1.o" "-flat_namespace" "-undefined" "suppress")))
+-
+-;;; Separate class so that we don't mess up other packages
+-(defclass uffi-c-source-file (c-source-file) ())
+-
+-(defmethod output-files ((o compile-op) (c uffi-c-source-file))
+-  (list (make-pathname :name (component-name c)
+-		       :type #-(or darwin macosx) "so" #+(or darwin macosx) "dylib"
+-		       :defaults (component-pathname c))))
+-
+-(defmethod perform ((o load-op) (c uffi-c-source-file))
+-  (let ((loader (intern (symbol-name '#:load-foreign-library) :uffi)))
+-    (dolist (f (asdf::input-files o c))
+-      (funcall loader f :module (pathname-name f)))))
+-
+-(defmethod perform ((o compile-op) (c uffi-c-source-file))
+-  (unless (zerop (run-shell-command "~A ~A ~{~A ~}-o ~A"
+-				    *gcc*
+-				    (namestring (component-pathname c))
+-				    *gcc-options*
+-				    (namestring (car (output-files o c)))))
+-    (error 'operation-error :component c :operation o)))
+-
+ (defsystem :linedit
+     :version "0.17.0"
+     :depends-on (:uffi :terminfo :osicat)
+@@ -69,10 +35,10 @@
+    (:file "matcher" :depends-on ("packages"))
+ 
+    ;; Backend
+-   (: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"))
+ 
+@@ -81,8 +47,7 @@
+    (:file "line" :depends-on ("utility-macros"))
+    (:file "buffer" :depends-on ("utility-macros"))
+    (:file "command-keys" :depends-on ("packages"))
+-   (:uffi-c-source-file "signals")
+-   (:file "editor" :depends-on ("backend" "rewindable" "signals"
++   (:file "editor" :depends-on ("backend" "rewindable"
+ 				"line" "buffer" "command-keys"))
+    (:file "main" :depends-on ("editor"))
+    (:file "complete" :depends-on ("utility-macros"))

diff --git a/dev-lisp/linedit/linedit-0.17.0.ebuild b/dev-lisp/linedit/linedit-0.17.0.ebuild
new file mode 100644
index 0000000..c79053f
--- /dev/null
+++ b/dev-lisp/linedit/linedit-0.17.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit common-lisp-3 eutils flag-o-matic multilib toolchain-funcs
+
+MY_P="${PN}_${PV}"
+
+DESCRIPTION="Linedit is a readline-style library written in Common Lisp."
+HOMEPAGE="http://www.common-lisp.net/project/linedit/"
+SRC_URI="http://common-lisp.net/project/${PN}/files/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+RDEPEND="!dev-lisp/cl-${PN}
+		dev-lisp/osicat
+		dev-lisp/terminfo
+		dev-lisp/uffi"
+
+S="${WORKDIR}/${MY_P}"
+
+@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/signals.so")
+	(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 signals terminal_glue ; 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 -t all *.lisp version.lisp-expr
+	common-lisp-install-asdf
+	exeinto "/usr/$(get_libdir)/${PN}"
+	doexe *.so
+}