diff -ruN ttxtsubs-0.0.8/Makefile ttxtsubs-0.0.8-darwin/Makefile
--- ttxtsubs-0.0.8/Makefile	2008-12-14 21:48:39.000000000 +0200
+++ ttxtsubs-0.0.8-darwin/Makefile	2009-02-12 18:33:27.000000000 +0200
@@ -9,6 +9,8 @@
 #
 PLUGIN = ttxtsubs
 
+APPLE_DARWIN = $(shell gcc -dumpmachine | grep -q 'apple-darwin' && echo "1" || echo "0")
+
 ### The version number of this plugin (taken from the main source file):
 
 VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
@@ -16,7 +18,11 @@
 ### The C++ compiler and options:
 
 CXX      ?= g++
+ifeq ($(APPLE_DARWIN), 1)
+CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -fno-common -bundle -flat_namespace -undefined suppress
+else
 CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual
+endif
 
 ### The directory environment:
 
@@ -42,6 +48,9 @@
 ### Includes and Defines (add further entries here):
 
 INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include
+ifeq ($(APPLE_DARWIN), 1)
+INCLUDES += -I/sw/include -I/opt/local/include
+endif
 
 DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
 
@@ -97,7 +106,11 @@
 all: libvdr-$(PLUGIN).so i18n
 
 libvdr-$(PLUGIN).so: $(OBJS)
+ifeq ($(APPLE_DARWIN), 1)
+	$(CXX) $(CXXFLAGS) $(OBJS) -o $@
+else
 	$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
+endif
 	@cp $@ $(LIBDIR)/$@.$(APIVERSION)
 
 dist: clean
diff -ruN ttxtsubs-0.0.8/siinfo.c ttxtsubs-0.0.8-darwin/siinfo.c
--- ttxtsubs-0.0.8/siinfo.c	2008-12-14 22:34:49.000000000 +0200
+++ ttxtsubs-0.0.8-darwin/siinfo.c	2009-02-12 18:22:19.000000000 +0200
@@ -192,7 +192,11 @@
   snprintf(name, sizeof(name), "/dev/dvb/adapter%d/demux0", card_no);
 
   memset(sects, 0, sizeof(char*) * 256);
-  
+
+#ifdef __APPLE__
+  return -1;
+#endif  
+
   if((fd = open(name, O_RDWR)) < 0){
     perror("DEMUX DEVICE 1: ");
     return -1;
@@ -272,6 +276,10 @@
 
   snprintf(name, sizeof(name), "/dev/dvb/adapter%d/demux0", card_no);
 
+#ifdef __APPLE__
+  return;
+#endif
+
   if((fd = open(name, O_RDWR)) < 0){
     perror("DEMUX DEVICE 1: ");
     return;

