diff -ruN skinenigmang-0.1.1/Makefile skinenigmang-0.1.1-darwin/Makefile
--- skinenigmang-0.1.1/Makefile	2010-03-13 17:33:20.000000000 +0200
+++ skinenigmang-0.1.1-darwin/Makefile	2010-04-19 21:56:44.000000000 +0300
@@ -3,6 +3,8 @@
 #
 # $Id: Makefile,v 1.34 2010/03/08 14:31:57 amair Exp $
 
+APPLE_DARWIN = $(shell gcc -dumpmachine | grep -q 'apple-darwin' && echo "1" || echo "0")
+
 # This turns usage of logos in the main menu complete. This might also
 # improve the performance of the menus. EXPERIMENTAL!!!
 #SKINENIGMA_NO_MENULOGO = 1
@@ -12,7 +14,7 @@
 
 # If you have installed ImageMagick and want to use
 # images in event's and recording's details.
-#HAVE_IMAGEMAGICK = 1
+HAVE_IMAGEMAGICK = 1
 
 # If you are using the epgsearch plugin and want to see the number of
 # timer conflicts in the main menu's info area.
@@ -31,8 +33,12 @@
 #SKINENIGMA_DISABLE_SIGNALINFO = 1
 
 # Strip debug symbols?  Set eg. to /bin/true if not
-#STRIP = strip
+#STRIP = strip   
+ifeq ($(APPLE_DARWIN), 1)
+STRIP = /usr/bin/true
+else
 STRIP = /bin/true
+endif
 
 # The official name of this plugin.
 # This name will be used in the '-P...' option of VDR to load the plugin.
@@ -46,8 +52,11 @@
 
 ### The C++ compiler and options:
 
-CXX      ?= g++
+ifeq ($(APPLE_DARWIN), 1)
+CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fno-common -bundle -flat_namespace -undefined suppress -arch i386
+else
 CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
+endif
 
 ### The directory environment:
 
@@ -59,6 +68,10 @@
 
 -include $(VDRDIR)/Make.global
 
+ifeq ($(APPLE_DARWIN), 1)
+LIBDIRS += -L/sw/lib -L/opt/local/lib
+endif
+
 ### Allow user defined options to overwrite defaults:
 -include $(VDRDIR)/Make.config
 
@@ -79,6 +92,10 @@
 
 INCLUDES += -I$(VDRDIR)/include
 
+ifeq ($(APPLE_DARWIN), 1)
+INCLUDES += -I/sw/include/ImageMagick -I/opt/local/include/ImageMagick
+endif
+
 DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
 ifdef SKINENIGMA_USE_PLUGIN_EPGSEARCH 
@@ -187,11 +204,20 @@
 ### Targets:
 
 libvdr-$(PLUGIN).so: $(OBJS)
+ifeq ($(APPLE_DARWIN), 1)
+	$(CXX) $(CXXFLAGS) -arch i386 -dynamic $(OBJS) $(LIBS) $(LIBDIRS) -o $@
+else
 	$(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@
+endif
+
 ifndef SKINENIGMA_DEBUG
 	@$(STRIP) $@
 endif
+ifeq ($(APPLE_DARWIN), 1)
+	@cp $@ $(LIBDIR)/$@.$(APIVERSION)
+else
 	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
+endif
 
 dist: clean
 	@-rm -rf $(TMPDIR)/$(ARCHIVE)
diff -ruN skinenigmang-0.1.1/enigma.c skinenigmang-0.1.1-darwin/enigma.c
--- skinenigmang-0.1.1/enigma.c	2010-04-05 11:33:42.000000000 +0300
+++ skinenigmang-0.1.1-darwin/enigma.c	2010-04-18 11:36:14.000000000 +0300
@@ -45,6 +45,8 @@
 
 #include "tools.h"
 
+#include "vdr/darwinutils.h"
+
 #define MAX_AUDIO_BITMAPS      3
 #define MAX_SPEED_BITMAPS      10
 #define MAX_TRICKSPEED_BITMAPS 4
@@ -1901,9 +1903,15 @@
   if (!s)
     return false;
 
+#ifdef __APPLE__
+  const char *b = strchrnul_darwin(s, '\t');
+  while (*b && NumOfTabs-- > 0) {
+    b = strchrnul_darwin(b + 1, '\t');
+#else
   const char *b = strchrnul(s, '\t');
   while (*b && NumOfTabs-- > 0) {
     b = strchrnul(b + 1, '\t');
+#endif
   }
   if (!*b)
     return (NumOfTabs <= 0) ? true : false;

