summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lisp/cl-sql/ChangeLog6
-rw-r--r--dev-lisp/cl-sql/files/3.5.6-gentoo.patch104
2 files changed, 109 insertions, 1 deletions
diff --git a/dev-lisp/cl-sql/ChangeLog b/dev-lisp/cl-sql/ChangeLog
index ae05ab7e5a61..ff058da471d9 100644
--- a/dev-lisp/cl-sql/ChangeLog
+++ b/dev-lisp/cl-sql/ChangeLog
@@ -1,6 +1,10 @@
# 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.26 2006/04/30 05:48:53 mkennedy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lisp/cl-sql/ChangeLog,v 1.27 2006/04/30 05:54:00 mkennedy Exp $
+
+ 30 Apr 2006; Matthew Kennedy <mkennedy@gentoo.org>
+ +files/3.5.6-gentoo.patch:
+ Include patch.
*cl-sql-3.5.6 (30 Apr 2006)
diff --git a/dev-lisp/cl-sql/files/3.5.6-gentoo.patch b/dev-lisp/cl-sql/files/3.5.6-gentoo.patch
new file mode 100644
index 000000000000..acc51208777a
--- /dev/null
+++ b/dev-lisp/cl-sql/files/3.5.6-gentoo.patch
@@ -0,0 +1,104 @@
+diff -ur clsql-3.5.6.orig/db-mysql/mysql-loader.lisp clsql-3.5.6/db-mysql/mysql-loader.lisp
+--- clsql-3.5.6.orig/db-mysql/mysql-loader.lisp 2005-07-05 19:51:52.000000000 -0500
++++ clsql-3.5.6/db-mysql/mysql-loader.lisp 2005-12-31 13:29:19.000000000 -0600
+@@ -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,14 +30,17 @@
+ *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))
+
+
+ (clsql-sys:database-type-load-foreign :mysql)
+-
+diff -ur clsql-3.5.6.orig/uffi/clsql-uffi-loader.lisp clsql-3.5.6/uffi/clsql-uffi-loader.lisp
+--- clsql-3.5.6.orig/uffi/clsql-uffi-loader.lisp 2005-08-22 15:24:22.000000000 -0500
++++ clsql-3.5.6/uffi/clsql-uffi-loader.lisp 2005-12-31 13:28:56.000000000 -0600
+@@ -18,37 +18,6 @@
+
+ (in-package #:clsql-uffi)
+
+-(defun find-and-load-foreign-library (filenames &key module supporting-libraries (errorp t))
+- (setq filenames (if (listp filenames) filenames (list filenames))
+- filenames
+- (append
+- (loop for search-path in clsql:*foreign-library-search-paths*
+- nconc (loop for filename in filenames
+- collect (merge-pathnames filename search-path)))
+- filenames))
+- (or (loop for type in (uffi:foreign-library-types)
+- for suffix = (make-pathname :type type)
+- thereis (loop for filename in filenames
+- thereis (handler-case
+- (uffi:load-foreign-library (merge-pathnames filename suffix)
+- :module module
+- :supporting-libraries supporting-libraries)
+- (error (c)
+- (warn "~A" c)
+- nil))))
+- (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"
+- #+(or 64bit x86-64) (make-pathname :name "clsql_uffi64"
+- :directory clsql-uffi-system::*library-file-dir*)
+- "clsql_uffi"
+- (make-pathname :name "clsql_uffi"
+- :directory clsql-uffi-system::*library-file-dir*)))
+-
+ (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,
+@@ -58,10 +27,12 @@
+ "T if foreign library was able to be loaded successfully")
+
+ (defun load-uffi-foreign-library ()
+- (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)