[98509] trunk/dports/databases

pixilla at macports.org pixilla at macports.org
Sun Oct 7 11:48:41 PDT 2012


Revision: 98509
          http://trac.macports.org//changeset/98509
Author:   pixilla at macports.org
Date:     2012-10-07 11:48:41 -0700 (Sun, 07 Oct 2012)
Log Message:
-----------
databases/mysql55-lib_mysqludf_json:
- New port, user defined function json.

Added Paths:
-----------
    trunk/dports/databases/mysql55-lib_mysqludf_json/
    trunk/dports/databases/mysql55-lib_mysqludf_json/Portfile

Added: trunk/dports/databases/mysql55-lib_mysqludf_json/Portfile
===================================================================
--- trunk/dports/databases/mysql55-lib_mysqludf_json/Portfile	                        (rev 0)
+++ trunk/dports/databases/mysql55-lib_mysqludf_json/Portfile	2012-10-07 18:48:41 UTC (rev 98509)
@@ -0,0 +1,128 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem          1.0
+
+set package.name    lib_mysqludf_json
+version             0.0.2
+set mysql.name      mysql55
+name                ${mysql.name}-${package.name}
+
+set mysql.ports     {mysql5 mysql51 mysql55 mariadb percona}
+foreach mysql.port ${mysql.ports} {
+
+    lappend mysql.extension.ports "${mysql.port}-${package.name}"
+}
+foreach mysql.extension.port ${mysql.extension.ports} {
+
+    set idx [lsearch ${mysql.extension.ports} ${mysql.extension.port}]
+    set mysql.port [lindex ${mysql.ports} $idx]
+    if {${mysql.extension.port} == ${name} == ${subport}} {
+
+        depends_lib-append  port:${mysql.port}
+    } else {
+
+        subport ${mysql.port}-${package.name} {
+    
+            set mysql.name      ${mysql.port}
+            depends_lib-append  port:${mysql.port}
+        }
+    }
+}
+
+categories          databases lang
+maintainers         pixilla
+platforms           darwin
+license             LGPL
+
+description         Map database data to the JSON.
+long_description    ${description}
+
+homepage            http://www.mysqludf.org/${package.name}/
+master_sites        ${homepage}
+
+dist_subdir         lib_mysqludf
+distname            ${package.name}_${version}
+
+checksums           rmd160  4c98739ed2753580195e11e602777188bc9a20ff \
+                    sha256  bed11c73d1e5d23669051b8a430f5c17b961e462ee82612b7dcdbceba47052b5
+
+extract.mkdir       yes
+
+use_configure       no
+
+configure.cflags-append \
+                    -I${prefix}/include/${mysql.name} \
+                    -I${prefix}/include/${mysql.name}/mysql \
+                    -bundle \
+                    -undefined dynamic_lookup
+
+post-extract {
+    move ${worksrcpath}/${package.name}.so \
+            ${worksrcpath}/${package.name}.so.orig
+}
+
+build {
+    set cmd "${configure.cpp} ${configure.ldflags} ${configure.cflags} ${configure.cppflags}"
+    if [variant_isset universal] {
+
+        set  "${cmd} ${configure.universal_cflags}"
+    }
+    system "cd ${worksrcpath} && ${cmd} ${package.name}.c -o ${package.name}.so"
+
+    xinstall -d ${worksrcpath}/macports
+    set fp [open ${worksrcpath}/macports/installdb.sql w]
+    puts $fp "USE mysql;"
+    puts $fp "DROP FUNCTION IF EXISTS lib_mysqludf_json_info;"
+    puts $fp "DROP FUNCTION IF EXISTS json_array;"
+    puts $fp "DROP FUNCTION IF EXISTS json_members;"
+    puts $fp "DROP FUNCTION IF EXISTS json_object;"
+    puts $fp "DROP FUNCTION IF EXISTS json_values;"
+    puts $fp "CREATE FUNCTION lib_mysqludf_json_info RETURNS STRING SONAME '${package.name}.so';"
+    puts $fp "CREATE FUNCTION json_array RETURNS REAL SONAME '${package.name}.so';"
+    puts $fp "CREATE FUNCTION json_members RETURNS REAL SONAME '${package.name}.so';"
+    puts $fp "CREATE FUNCTION json_object RETURNS REAL SONAME '${package.name}.so';"
+    puts $fp "CREATE FUNCTION json_values RETURNS REAL SONAME '${package.name}.so';"
+    close $fp
+
+    set fp [open ${worksrcpath}/macports/uninstalldb.sql w]
+    puts $fp "USE mysql;"
+    puts $fp "DROP FUNCTION IF EXISTS lib_mysqludf_json_info;"
+    puts $fp "DROP FUNCTION IF EXISTS json_array;"
+    puts $fp "DROP FUNCTION IF EXISTS json_members;"
+    puts $fp "DROP FUNCTION IF EXISTS json_object;"
+    puts $fp "DROP FUNCTION IF EXISTS json_values;"
+    close $fp
+}
+
+destroot {
+    xinstall -m 755 -d ${destroot}${prefix}/lib/${mysql.name}/plugin
+    xinstall -m 644 -W ${worksrcpath} \
+        ${package.name}.so \
+        ${destroot}${prefix}/lib/${mysql.name}/plugin
+    xinstall -m 755 -d ${destroot}${prefix}/share/${mysql.name}/${package.name}
+    xinstall -m 644 -W ${worksrcpath}/macports installdb.sql uninstalldb.sql \
+        ${destroot}${prefix}/share/${mysql.name}/${package.name}
+    xinstall -m 755 -d ${destroot}${prefix}/share/${mysql.name}/${package.name}/doc/html
+    xinstall -m 644 ${worksrcpath}/${package.name}.html \
+        ${destroot}${prefix}/share/${mysql.name}/${package.name}/doc/html/index.html
+}
+
+livecheck.url       [lindex ${master_sites} 0]
+livecheck.type      regex
+livecheck.regex     "href=.${package.name}_((?!\\${extract.suffix}).*)\\${extract.suffix}."
+
+notes "
+
+    This port installs two mysql scripts to simplify the install/uninstall of the ${package.name}
+    UDFs (user-defined-functions) along with html documentation describing the functions syntax.
+    
+    Install:
+    \$ ${prefix}/lib/${mysql.name}/bin/mysql -uroot -p < ${prefix}/share/${mysql.name}/${package.name}/installdb.sql
+
+    Uninstall:
+    \$ ${prefix}/lib/${mysql.name}/bin/mysql -uroot -p < ${prefix}/share/${mysql.name}/${package.name}/uninstalldb.sql
+    
+    HTML Documentation:
+    $ open ${prefix}/share/${mysql.name}/${package.name}/doc/html/index.html
+    "


Property changes on: trunk/dports/databases/mysql55-lib_mysqludf_json/Portfile
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20121007/5c7c5d69/attachment-0001.html>


More information about the macports-changes mailing list