mysql-client.egg / mysql-client.setup

(use posix)

(define (mysql-flags opts)
  (with-input-from-pipe
    (string-append "mysql_config " (string-join opts " "))
    (lambda() 
      (string-split (read-line) " \t"))))

(define mysql-version
  (string-split (car (mysql-flags '("--version"))) "."))

(compile ,@(map (lambda(f)(sprintf "-C ~A" f)) (mysql-flags '("--cflags")))
         ,@(map (lambda(f)(sprintf "-L ~A" f)) (mysql-flags '("--libs")))
         -d0 -O3
         -s mysql-client.scm 
         -j mysql-client)
(compile -d0 -O3
         -s mysql-client.import.scm)

(install-extension 
  'mysql-client
  '("mysql-client.so" "mysql-client.import.so")
  '((version "0.8")))

(define (install-name-tool-fix)
  (define install-name-tool-cmd
     "  sudo install_name_tool -change libmysqlclient.18.dylib $(mysql_config --variable=pkglibdir)/libmysqlclient.18.dylib /usr/local/lib/chicken/6/mysql-client.so")
  (printf "MySQL ~A detected,~%~A~%" 
          (string-join mysql-version ".")
          install-name-tool-cmd)
  (process install-name-tool-cmd))

(cond ((equal? mysql-version '("5" "5" "24")) (install-name-tool-fix)))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.