Index: /trunk/dports/sysutils/OpenIPMI/Portfile
===================================================================
--- /trunk/dports/sysutils/OpenIPMI/Portfile	(revision 97845)
+++ /trunk/dports/sysutils/OpenIPMI/Portfile	(revision 97845)
@@ -0,0 +1,85 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+PortSystem          1.0
+
+name                OpenIPMI
+version             2.0.19
+license             {GPL2 LGPL2}
+categories          sysutils
+platforms           darwin
+maintainers         eborisch \
+                    openmaintainer
+
+description         OpenIPMI provides a full-function IPMI interface.
+
+long_description    The Open IPMI project aims to develop an open code base to\
+                    allow access to platform information using Intelligent\
+                    Platform Management Interface (IPMI).
+
+homepage            http://openipmi.sourceforge.net/
+master_sites        sourceforge:openipmi
+
+universal_variant   no
+use_parallel_build  no
+
+checksums \
+    rmd160  ca624701659416da55a6b96abbec6aef4d323a26 \
+    sha256  5b0de4741f07e350bf53b7d31bb20dd1109c2dc005dfb13969d8a9ff290f3a4e
+
+patchfiles          weak_symbols.patch \
+                    configure.in.patch
+
+depends_build       port:autoconf \
+                    port:automake
+
+depends_lib         port:popt \
+                    port:gsed
+
+configure.args      --with-poptlibs=-lpopt \
+                    --with-swig=no \
+                    --with-python=no \
+                    --with-perl=no
+
+variant python description "Build python bindings" {
+    configure.args-delete --with-swig=no --with-python=no
+    depends_lib-append      port:swig-python \
+                            port:py27-tkinter
+}
+
+variant perl description "Build perl bindings" {
+    configure.args-delete --with-swig=no --with-perl=no
+    depends_lib-append      port:swig-perl \
+                            port:perl5
+}
+
+platform darwin {
+    post-extract {
+        system -W ${worksrcpath} \
+            "find . -name 'Makefile*' | xargs sed -i '' -e 's/Map/map/g'"
+        system -W ${worksrcpath} \
+            "grep -R 'rdynamic' -l * | xargs sed -i '' -e 's/-rdynamic//g'"
+        set REPLSTR "s/LD_PRELOAD=/DYLD_INSERT_LIBRARIES=/g"
+        system -W ${worksrcpath} \
+            "grep -R 'LD_PRELOAD' -l * | xargs sed -i '' -e '${REPLSTR}'"
+    }
+
+    post-patch {
+        system -W ${worksrcpath} "autoreconf"
+    }
+
+    post-configure {
+        set REPLSTR "s/lib(\[^ :\/\]*)\.so/lib\\1.dylib/g"
+        system -W ${worksrcpath} \
+            "find . -name 'Makefile' | xargs sed -E -i '' -e '${REPLSTR}'"
+
+        if {[variant_isset python]} {
+            set LIBPATH \
+"../../../unix/.libs:../../../lib/.libs:../../../utils/.libs:../../../cmdlang/.libs:../../../tcl/.libs:../../../swig/python/.libs"
+            reinplace "s|DYLD_\[^ \]*|DYLD_LIBRARY_PATH=${LIBPATH}|g" \
+                swig/python/openipmigui/Makefile
+        }
+    }
+}
+
+livecheck.type      sourceforge
+livecheck.regex     ${name}-(\[0-9.\]+)${extract.suffix}
Index: /trunk/dports/sysutils/OpenIPMI/files/configure.patch
===================================================================
--- /trunk/dports/sysutils/OpenIPMI/files/configure.patch	(revision 97845)
+++ /trunk/dports/sysutils/OpenIPMI/files/configure.patch	(revision 97845)
@@ -0,0 +1,32 @@
+--- configure.orig	2012-09-13 09:54:24.000000000 -0500
++++ configure	2012-09-13 09:55:31.000000000 -0500
+@@ -21762,7 +21762,13 @@
+ fi
+ if test "x$pythonprog" != "x"; then
+    if test "x$pythonusepthreads" = "x"; then
+-      pythonusepthreads=`echo -e "try:\n  import thread\n  print 'yes'\nexcept:\n  print 'no'\n" | python`
++      pythonusepthreads=`echo "
++try:
++  import thread
++  print 'yes'
++except:
++  print 'no'
++" | python`
+    fi
+    echo "checking for python threads... $pythonusepthreads"
+ fi
+@@ -21786,7 +21792,13 @@
+ # Check for Tkinter/Tix
+ if test "x$tkinter" = "x"; then
+    if test "x$pythonprog" != "x"; then
+-      tkinter=`echo -e "try:\n  import Tix\n  print 'yes'\nexcept:\n  print 'no'\n" | python`
++      tkinter=`echo "
++try:
++  import Tix
++  print 'yes'
++except:
++  print 'no'
++" | python`
+    fi
+ fi
+ echo "checking for tkinter... $tkinter"
Index: /trunk/dports/sysutils/OpenIPMI/files/weak_symbols.patch
===================================================================
--- /trunk/dports/sysutils/OpenIPMI/files/weak_symbols.patch	(revision 97845)
+++ /trunk/dports/sysutils/OpenIPMI/files/weak_symbols.patch	(revision 97845)
@@ -0,0 +1,28 @@
+--- unix/posix_os_hnd.c.orig	2012-09-13 12:00:06.000000000 -0500
++++ unix/posix_os_hnd.c	2012-09-13 12:00:19.000000000 -0500
+@@ -51,9 +51,9 @@
+ 
+ /* CHEAP HACK - we don't want the user to have to provide this any
+    more. */
+-extern void posix_vlog(char                 *format,
++void posix_vlog(char                 *format,
+ 		       enum ipmi_log_type_e log_type,
+-		       va_list              ap);
++		       va_list              ap) {};
+ #pragma weak posix_vlog
+ 
+ typedef struct iposix_info_s
+--- unix/posix_thread_os_hnd.c.orig	2012-09-13 12:15:55.000000000 -0500
++++ unix/posix_thread_os_hnd.c	2012-09-13 12:16:10.000000000 -0500
+@@ -59,9 +59,9 @@
+ 
+ /* CHEAP HACK - we don't want the user to have to provide this any
+    more. */
+-extern void posix_vlog(char                 *format,
++void posix_vlog(char                 *format,
+ 		       enum ipmi_log_type_e log_type,
+-		       va_list              ap);
++		       va_list              ap) {};
+ #pragma weak posix_vlog
+ 
+ typedef struct pt_os_hnd_data_s
