summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2006-07-10 17:18:27 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2006-07-10 17:18:27 +0000
commitf621626992738d5e10ba951f08529313eebbd5be (patch)
tree65e671d7a7800f96e005b2f69738cab969754c86 /dev-lisp
parentMark 0.11 stable on ia64 (diff)
downloadgentoo-2-f621626992738d5e10ba951f08529313eebbd5be.tar.gz
gentoo-2-f621626992738d5e10ba951f08529313eebbd5be.tar.bz2
gentoo-2-f621626992738d5e10ba951f08529313eebbd5be.zip
New upstream version; Also adjust the UFFI library loading strategy for PostgreSQL; Resolves Bug #139208.
(Portage version: 2.1.1_pre2-r2)
Diffstat (limited to 'dev-lisp')
-rw-r--r--dev-lisp/cl-sql/ChangeLog9
-rw-r--r--dev-lisp/cl-sql/cl-sql-3.6.3.ebuild109
-rw-r--r--dev-lisp/cl-sql/files/3.6.3-gentoo.patch118
-rw-r--r--dev-lisp/cl-sql/files/digest-cl-sql-3.6.33
4 files changed, 238 insertions, 1 deletions
diff --git a/dev-lisp/cl-sql/ChangeLog b/dev-lisp/cl-sql/ChangeLog
index ff058da471d9..40751a3b2549 100644
--- a/dev-lisp/cl-sql/ChangeLog
+++ b/dev-lisp/cl-sql/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-lisp/cl-sql
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cl-sql/ChangeLog,v 1.27 2006/04/30 05:54:00 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cl-sql/ChangeLog,v 1.28 2006/07/10 17:18:27 mkennedy Exp $
+
+*cl-sql-3.6.3 (10 Jul 2006)
+
+ 10 Jul 2006; Matthew Kennedy <mkennedy@gentoo.org>
+ +files/3.6.3-gentoo.patch, +cl-sql-3.6.3.ebuild:
+ New upstream version; Also adjust the UFFI library loading strategy for
+ PostgreSQL; Resolves Bug #139208.
30 Apr 2006; Matthew Kennedy <mkennedy@gentoo.org>
+files/3.5.6-gentoo.patch:
diff --git a/dev-lisp/cl-sql/cl-sql-3.6.3.ebuild b/dev-lisp/cl-sql/cl-sql-3.6.3.ebuild
new file mode 100644
index 000000000000..777bd3d34714
--- /dev/null
+++ b/dev-lisp/cl-sql/cl-sql-3.6.3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cl-sql/cl-sql-3.6.3.ebuild,v 1.1 2006/07/10 17:18:27 mkennedy Exp $
+
+inherit common-lisp eutils multilib
+
+DESCRIPTION="A multi-platform SQL interface for Common Lisp"
+HOMEPAGE="http://clsql.b9.com/
+ http://packages.debian.org/unstable/devel/cl-sql.html
+ http://www.cliki.net/CLSQL"
+SRC_URI="http://files.b9.com/clsql/clsql-${PV}.tar.gz"
+LICENSE="LLGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="postgres mysql sqlite sqlite3 odbc"
+DEPEND="dev-lisp/common-lisp-controller
+ virtual/commonlisp
+ dev-lisp/cl-md5
+ >=dev-lisp/cl-uffi-1.5.7
+ postgres? ( dev-db/postgresql )
+ mysql? ( dev-db/mysql )
+ sqlite? ( =dev-db/sqlite-2* )
+ sqlite3? ( =dev-db/sqlite-3* )
+ odbc? ( dev-db/unixODBC )"
+
+S=${WORKDIR}/clsql-${PV}
+
+CLPACKAGE='clsql clsql-uffi clsql-postgresql clsql-postgresql-socket clsql-mysql clsql-odbc clsql-sqlite clsql-sqlite3'
+
+src_unpack() {
+ unpack ${A}
+ epatch ${FILESDIR}/${PV}-gentoo.patch
+}
+
+src_compile() {
+ make -C uffi || die
+ if use mysql; then
+ make -C db-mysql || die
+ fi
+}
+
+src_install() {
+ dodir $CLSYSTEMROOT
+ dodir $CLSOURCEROOT
+
+ insinto $CLSOURCEROOT/clsql/sql; doins sql/*.lisp
+ insinto $CLSOURCEROOT/clsql; doins clsql.asd
+ dosym $CLSOURCEROOT/clsql/clsql.asd $CLSYSTEMROOT/clsql.asd
+
+ insinto $CLSOURCEROOT/clsql-uffi/uffi; doins uffi/*.lisp
+ insinto $CLSOURCEROOT/clsql-uffi; doins clsql-uffi.asd
+ dosym $CLSOURCEROOT/clsql-uffi/clsql-uffi.asd $CLSYSTEMROOT/clsql-uffi.asd
+ exeinto /usr/$(get_libdir)/clsql/; doexe uffi/clsql_uffi.so
+
+ if use postgres; then
+ insinto $CLSOURCEROOT/clsql-postgresql/db-postgresql; doins db-postgresql/*.lisp
+ insinto $CLSOURCEROOT/clsql-postgresql; doins clsql-postgresql.asd
+ dosym $CLSOURCEROOT/clsql-postgresql/clsql-postgresql.asd $CLSYSTEMROOT/clsql-postgresql.asd
+ fi
+
+ insinto $CLSOURCEROOT/clsql-postgresql-socket/db-postgresql-socket
+ doins db-postgresql-socket/*.lisp
+ insinto $CLSOURCEROOT/clsql-postgresql-socket
+ doins clsql-postgresql-socket.asd
+ dosym $CLSOURCEROOT/clsql-postgresql-socket/clsql-postgresql-socket.asd \
+ $CLSYSTEMROOT/clsql-postgresql-socket.asd
+
+ if use mysql; then
+ insinto $CLSOURCEROOT/clsql-mysql/db-mysql; doins db-mysql/*.lisp db-mysql/*.c
+ insinto $CLSOURCEROOT/clsql-mysql; doins clsql-mysql.asd
+ dosym $CLSOURCEROOT/clsql-mysql/clsql-mysql.asd $CLSYSTEMROOT/clsql-mysql.asd
+ exeinto /usr/$(get_libdir)/clsql/; doexe db-mysql/clsql_mysql.so
+ fi
+
+ if use odbc; then
+ insinto $CLSOURCEROOT/clsql-odbc/db-odbc; doins db-odbc/*.lisp
+ insinto $CLSOURCEROOT/clsql-odbc; doins clsql-odbc.asd
+ dosym $CLSOURCEROOT/clsql-odbc/clsql-odbc.asd $CLSYSTEMROOT/clsql-odbc.asd
+ fi
+
+ if use sqlite; then
+ insinto $CLSOURCEROOT/clsql-sqlite/db-sqlite; doins db-sqlite/*.lisp
+ insinto $CLSOURCEROOT/clsql-sqlite; doins clsql-sqlite.asd
+ dosym $CLSOURCEROOT/clsql-sqlite/clsql-sqlite.asd $CLSYSTEMROOT/clsql-sqlite.asd
+ fi
+
+ if use sqlite3; then
+ insinto $CLSOURCEROOT/clsql-sqlite3/db-sqlite3; doins db-sqlite3/*.lisp
+ insinto $CLSOURCEROOT/clsql-sqlite3; doins clsql-sqlite3.asd
+ dosym $CLSOURCEROOT/clsql-sqlite3/clsql-sqlite3.asd $CLSYSTEMROOT/clsql-sqlite3.asd
+ fi
+
+ dodoc BUGS CONTRIBUTORS COPYING* ChangeLog INSTALL LATEST-TEST-RESULTS NEWS README TODO
+ dodoc doc/clsql.pdf
+ tar xfz doc/html.tar.gz -C ${D}/usr/share/doc/${PF}/
+ do-debian-credits
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*
+
+ for src in clsql-uffi/uffi/clsql-uffi-loader.lisp \
+ clsql-mysql/db-mysql/mysql-loader.lisp \
+ clsql-postgresql/db-postgresql/postgresql-loader.lisp;
+ do
+ if [ -f $D/$CLSOURCEROOT/$src ]; then
+ einfo "Fixing LIBDIR for $src"
+ dosed "s,@LIBDIR@,$(get_libdir),g" $CLSOURCEROOT/$src
+ fi
+ done
+}
diff --git a/dev-lisp/cl-sql/files/3.6.3-gentoo.patch b/dev-lisp/cl-sql/files/3.6.3-gentoo.patch
new file mode 100644
index 000000000000..b9871fc90d88
--- /dev/null
+++ b/dev-lisp/cl-sql/files/3.6.3-gentoo.patch
@@ -0,0 +1,118 @@
+diff -ur clsql-3.6.3.orig/db-mysql/mysql-loader.lisp clsql-3.6.3/db-mysql/mysql-loader.lisp
+--- clsql-3.6.3.orig/db-mysql/mysql-loader.lisp 2005-07-05 19:51:52.000000000 -0500
++++ clsql-3.6.3/db-mysql/mysql-loader.lisp 2006-07-10 00:42:56.000000000 -0500
+@@ -18,17 +18,6 @@
+
+ (in-package #:mysql)
+
+-(defparameter *clsql-mysql-library-candidate-names*
+- (list #+(or 64bit x86-64) "clsql_mysql64"
+- #+(or 64bit x86-64) (make-pathname :name "clsql_mysql64"
+- :directory (pathname-directory *load-truename*))
+- "clsql_mysql"
+- (make-pathname :name "clsql_mysql"
+- :directory (pathname-directory *load-truename*))))
+-
+-(defvar *mysql-library-candidate-names*
+- '("libmysqlclient" "libmysql"))
+-
+ (defvar *mysql-supporting-libraries* '("c")
+ "Used only by CMU. List of library flags needed to be passed to ld to
+ load the MySQL client library succesfully. If this differs at your site,
+@@ -41,12 +30,16 @@
+ *mysql-library-loaded*)
+
+ (defmethod clsql-sys:database-type-load-foreign ((database-type (eql :mysql)))
+- (clsql-uffi:find-and-load-foreign-library *mysql-library-candidate-names*
+- :module "mysql"
+- :supporting-libraries *mysql-supporting-libraries*)
+- (clsql-uffi:find-and-load-foreign-library *clsql-mysql-library-candidate-names*
+- :module "clsql-mysql"
+- :supporting-libraries *mysql-supporting-libraries*)
++ (uffi:load-foreign-library (make-pathname :directory '(:absolute "usr" "@LIBDIR@")
++ :name "libmysqlclient"
++ :type "so")
++ :module "mysql"
++ :supporting-libraries *mysql-supporting-libraries*)
++ (uffi:load-foreign-library (make-pathname :directory '(:absolute "usr" "@LIBDIR@" "clsql")
++ :name "clsql_mysql"
++ :type "so")
++ :module "clsql-mysql"
++ :supporting-libraries *mysql-supporting-libraries*)
+ (setq *mysql-library-loaded* t))
+
+
+diff -ur clsql-3.6.3.orig/db-postgresql/postgresql-loader.lisp clsql-3.6.3/db-postgresql/postgresql-loader.lisp
+--- clsql-3.6.3.orig/db-postgresql/postgresql-loader.lisp 2005-06-08 14:25:33.000000000 -0500
++++ clsql-3.6.3/db-postgresql/postgresql-loader.lisp 2006-07-10 00:47:40.000000000 -0500
+@@ -33,9 +33,11 @@
+
+ (defmethod clsql-sys:database-type-load-foreign ((database-type
+ (eql :postgresql)))
+- (clsql-uffi:find-and-load-foreign-library "libpq"
+- :module "postgresql"
+- :supporting-libraries *postgresql-supporting-libraries*)
++ (uffi:load-foreign-library (make-pathname :directory '(:absolute "usr" "@LIBDIR@")
++ :name "libpq"
++ :type "so")
++ :module "postgresql"
++ :supporting-libraries *postgresql-supporting-libraries*)
+ (setq *postgresql-library-loaded* t))
+
+ (clsql-sys:database-type-load-foreign :postgresql)
+diff -ur clsql-3.6.3.orig/uffi/clsql-uffi-loader.lisp clsql-3.6.3/uffi/clsql-uffi-loader.lisp
+--- clsql-3.6.3.orig/uffi/clsql-uffi-loader.lisp 2006-05-03 09:39:11.000000000 -0500
++++ clsql-3.6.3/uffi/clsql-uffi-loader.lisp 2006-07-10 00:44:58.000000000 -0500
+@@ -18,35 +18,6 @@
+
+ (in-package #:clsql-uffi)
+
+-(defun find-and-load-foreign-library (filenames &key module supporting-libraries (errorp t))
+- "Attempt to load a foreign library. This will search for any of the filenames, as
+-well as any of the filenames in any of the clsql:*foreign-library-search-paths*"
+- (setq filenames (if (listp filenames) filenames (list filenames)))
+-
+- (flet ((try-load (testpath)
+- (handler-case
+- (uffi:load-foreign-library testpath
+- :module module
+- :supporting-libraries supporting-libraries)
+- (error (c) (warn "~A" c) nil))))
+- (or
+- (loop for type in (uffi:foreign-library-types)
+- thereis
+- (loop for name in filenames
+- for pn = (make-pathname :name name :type type)
+- thereis (or
+- (loop for search-path in clsql:*foreign-library-search-paths*
+- thereis (try-load (merge-pathnames pn search-path)))
+- (try-load pn))))
+- (when errorp
+- (error "Couldn't load foreign librar~@P ~{~S~^, ~}. (searched ~S)"
+- (length filenames) filenames
+- 'clsql:*foreign-library-search-paths*)))))
+-
+-(defvar *clsql-uffi-library-filenames*
+- (list #+(or 64bit x86-64) "clsql_uffi64"
+- "clsql_uffi"))
+-
+ (defvar *clsql-uffi-supporting-libraries* '("c")
+ "Used only by CMU. List of library flags needed to be passed to ld to
+ load the MySQL client library succesfully. If this differs at your site,
+@@ -57,10 +28,12 @@
+
+ (defun load-uffi-foreign-library ()
+ (clsql:push-library-path clsql-uffi-system::*clsql-uffi-library-dir*)
+- (find-and-load-foreign-library *clsql-uffi-library-filenames*
+- :module "clsql-uffi"
+- :supporting-libraries
+- *clsql-uffi-supporting-libraries*)
++ (uffi:load-foreign-library (make-pathname :directory '(:absolute "usr" "@LIBDIR@" "clsql")
++ :name "clsql_uffi"
++ :type "so")
++ :module "clsql-uffi"
++ :supporting-libraries
++ *clsql-uffi-supporting-libraries*)
+ (setq *uffi-library-loaded* t))
+
+ (load-uffi-foreign-library)
diff --git a/dev-lisp/cl-sql/files/digest-cl-sql-3.6.3 b/dev-lisp/cl-sql/files/digest-cl-sql-3.6.3
new file mode 100644
index 000000000000..404176405bec
--- /dev/null
+++ b/dev-lisp/cl-sql/files/digest-cl-sql-3.6.3
@@ -0,0 +1,3 @@
+MD5 6a4f6b7b1c48fdefc731e7b6f8b00136 clsql-3.6.3.tar.gz 707376
+RMD160 c3f00660793625e98b268dbe4d10b3a82492f8fc clsql-3.6.3.tar.gz 707376
+SHA256 e89038b5a7fae76959f61aea8fa8a64634a44b3589f38fdceaa548d379b289c3 clsql-3.6.3.tar.gz 707376