diff options
author | Matthew Kennedy <mkennedy@gentoo.org> | 2006-07-10 17:18:27 +0000 |
---|---|---|
committer | Matthew Kennedy <mkennedy@gentoo.org> | 2006-07-10 17:18:27 +0000 |
commit | f621626992738d5e10ba951f08529313eebbd5be (patch) | |
tree | 65e671d7a7800f96e005b2f69738cab969754c86 /dev-lisp | |
parent | Mark 0.11 stable on ia64 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-lisp/cl-sql/cl-sql-3.6.3.ebuild | 109 | ||||
-rw-r--r-- | dev-lisp/cl-sql/files/3.6.3-gentoo.patch | 118 | ||||
-rw-r--r-- | dev-lisp/cl-sql/files/digest-cl-sql-3.6.3 | 3 |
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 |