commit:     6aa322fae7f3c46b013dea5c0942b6272b1a4fcb
Author:     Chema Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 16 21:16:10 2017 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Mon Oct 16 21:16:10 2017 +0000
URL:        https://gitweb.gentoo.org/proj/lisp.git/commit/?id=6aa322fa

dev-lisp/linedit: Bumps version to 0.17.5

 .../0.17.5-linedit.asd-drop-madeira-port.patch     | 21 ++++++++
 .../files/0.17.5-linedit.asd-uffi-glue.patch       | 58 ++++++++++++++++++++++
 .../{linedit-9999.ebuild => linedit-0.17.5.ebuild} | 35 ++++++-------
 dev-lisp/linedit/linedit-9999.ebuild               |  1 +
 4 files changed, 96 insertions(+), 19 deletions(-)

diff --git a/dev-lisp/linedit/files/0.17.5-linedit.asd-drop-madeira-port.patch 
b/dev-lisp/linedit/files/0.17.5-linedit.asd-drop-madeira-port.patch
new file mode 100644
index 00000000..a6576ec9
--- /dev/null
+++ b/dev-lisp/linedit/files/0.17.5-linedit.asd-drop-madeira-port.patch
@@ -0,0 +1,21 @@
+diff -Nuar a/linedit.asd b/linedit.asd
+--- a/linedit.asd      2017-10-16 23:10:11.424173773 +0200
++++ b/linedit.asd      2017-10-16 23:10:48.764173614 +0200
+@@ -30,7 +30,6 @@
+   :licence "MIT"
+   :author "Nikodemus Siivola <[email protected]>"
+   :depends-on (:uffi :terminfo :osicat :alexandria)
+-  :defsystem-depends-on (:madeira-port)
+   :components
+   (
+    ;; Common
+@@ -60,6 +59,6 @@
+    (:module "ports"
+     :depends-on ("main")
+     :components
+-    ((:madeira-port "sbcl" :when :sbcl)
+-     (:madeira-port "ccl" :when :ccl)
+-     (:madeira-port "generic" :unless (:or :sbcl :ccl))))))
++    ((:file "sbcl" :if-feature :sbcl)
++    (:file "ccl" :if-feature :ccl)
++    (:file "generic" :if-feature (:not (:or :sbcl :ccl)))))))

diff --git a/dev-lisp/linedit/files/0.17.5-linedit.asd-uffi-glue.patch 
b/dev-lisp/linedit/files/0.17.5-linedit.asd-uffi-glue.patch
new file mode 100644
index 00000000..fbbd38da
--- /dev/null
+++ b/dev-lisp/linedit/files/0.17.5-linedit.asd-uffi-glue.patch
@@ -0,0 +1,58 @@
+diff -Nuar a/linedit.asd b/linedit.asd
+--- a/linedit.asd      2015-06-24 00:10:05.000000000 +0200
++++ b/linedit.asd      2017-10-16 21:17:13.314174329 +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 "~S ~S ~{~S ~}-o ~S"
+-                                  *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.5"
+   :description "Readline-style library."
+@@ -74,10 +40,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"))
+ 

diff --git a/dev-lisp/linedit/linedit-9999.ebuild 
b/dev-lisp/linedit/linedit-0.17.5.ebuild
similarity index 55%
copy from dev-lisp/linedit/linedit-9999.ebuild
copy to dev-lisp/linedit/linedit-0.17.5.ebuild
index 01dcc0d7..c120ec65 100644
--- a/dev-lisp/linedit/linedit-9999.ebuild
+++ b/dev-lisp/linedit/linedit-0.17.5.ebuild
@@ -3,24 +3,23 @@
 
 EAPI=6
 
-inherit common-lisp-3 flag-o-matic git-r3 multilib toolchain-funcs
+inherit common-lisp-3 eutils flag-o-matic 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="https://gitlab.common-lisp.net/${PN}/${PN}.git";
+SRC_URI="https://dev.gentoo.org/~nimiux/${CATEGORY}/${PN}/${P}.tar.bz2";
 
 LICENSE="MIT"
 SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
 IUSE=""
 
 RDEPEND="!dev-lisp/cl-${PN}
-               dev-lisp/alexandria
-               dev-lisp/madeira-port
-               >=dev-lisp/osicat-0.6.0
+               dev-lisp/osicat
                dev-lisp/terminfo
                dev-lisp/uffi"
 
-CFILES="terminal_glue"
+HTML_DOCS=( public_html/. )
 
 @cc() {
        local cc=$(tc-getCC)
@@ -33,33 +32,31 @@ create_uffi_loader() {
        ;;;; -*- 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
 }
 
-cleanup_terminfo_files() {
-       rm "${D}/${CLSOURCEROOT}/${PN}/terminfo.lisp" || die
-       rm "${D}/${CLSYSTEMROOT}/terminfo.asd" || die
-}
-
 src_prepare() {
-       eapply "${FILESDIR}"/${PV}-${PN}.asd-uffi-glue-gentoo.patch
+       default
+       # terminfo lives in a separate package
+       rm "${S}"/terminfo.* || die
+       eapply "${FILESDIR}"/${PV}-${PN}.asd-uffi-glue.patch
+       eapply "${FILESDIR}"/${PV}-${PN}.asd-drop-madeira-port.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
+       @cc "terminal_glue.c" ${CFLAGS} ${LDFLAGS} \
+               -fPIC -DPIC -shared -Wl,-soname="terminal_glue" -o 
"terminal_glue.so" \
+               || die
 }
 
 src_install() {
-       common-lisp-install-sources *.lisp ports/
+       common-lisp-install-sources -t all *.lisp ports/
        common-lisp-install-asdf
-       cleanup_terminfo_files
+       einstalldocs
        exeinto "/usr/$(get_libdir)/${PN}"
        doexe *.so
 }

diff --git a/dev-lisp/linedit/linedit-9999.ebuild 
b/dev-lisp/linedit/linedit-9999.ebuild
index 01dcc0d7..bccaff67 100644
--- a/dev-lisp/linedit/linedit-9999.ebuild
+++ b/dev-lisp/linedit/linedit-9999.ebuild
@@ -43,6 +43,7 @@ cleanup_terminfo_files() {
 }
 
 src_prepare() {
+       default
        eapply "${FILESDIR}"/${PV}-${PN}.asd-uffi-glue-gentoo.patch
        create_uffi_loader
 }

Reply via email to