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
}