Author: Andreas Tille <tille@debian.org>
Last-Update: Fri, 27 Apr 2018 11:32:20 +0200
Description: Use Debian packaged libuv1 library

--- a/src/callbackqueue.cpp
+++ b/src/callbackqueue.cpp
@@ -2,7 +2,7 @@
 #include "tqueue.h"
 #include "thread.h"
 #include <boost/function.hpp>
-#include "libuv/include/uv.h"
+#include <uv.h>
 
 
 // This non-class function is a plain C wrapper for CallbackQueue::flush(), and
--- a/src/callbackqueue.h
+++ b/src/callbackqueue.h
@@ -3,7 +3,7 @@
 
 #include "tqueue.h"
 #include <boost/function.hpp>
-#include "libuv/include/uv.h"
+#include <uv.h>
 
 class CallbackQueue {
 public:
--- a/src/http.h
+++ b/src/http.h
@@ -1,7 +1,7 @@
 #ifndef HTTP_HPP
 #define HTTP_HPP
 
-#include "libuv/include/uv.h"
+#include <uv.h>
 #include <boost/shared_ptr.hpp>
 #include <boost/bind.hpp>
 #include "webapplication.h"
--- a/src/httprequest.h
+++ b/src/httprequest.h
@@ -8,7 +8,7 @@
 #include <boost/bind.hpp>
 #include <boost/enable_shared_from_this.hpp>
 #include <boost/shared_ptr.hpp>
-#include "libuv/include/uv.h"
+#include <uv.h>
 #include "http-parser/http_parser.h"
 #include "socket.h"
 #include "webapplication.h"
--- a/src/httpresponse.cpp
+++ b/src/httpresponse.cpp
@@ -3,7 +3,7 @@
 #include "constants.h"
 #include "thread.h"
 #include "utils.h"
-#include "libuv/include/uv.h"
+#include <uv.h>
 
 
 void on_response_written(uv_write_t* handle, int status) {
--- a/src/httpuv.cpp
+++ b/src/httpuv.cpp
@@ -7,7 +7,7 @@
 #include <errno.h>
 #include <boost/function.hpp>
 #include <boost/bind.hpp>
-#include "libuv/include/uv.h"
+#include <uv.h>
 #include "base64/base64.hpp"
 #include "uvutil.h"
 #include "webapplication.h"
--- a/src/socket.cpp
+++ b/src/socket.cpp
@@ -1,7 +1,7 @@
 #include "socket.h"
 #include "httprequest.h"
 #include <later_api.h>
-#include "libuv/include/uv.h"
+#include <uv.h>
 
 void on_Socket_close(uv_handle_t* pHandle);
 
--- a/src/socket.h
+++ b/src/socket.h
@@ -3,7 +3,7 @@
 
 #include "http.h"
 #include <boost/shared_ptr.hpp>
-#include "libuv/include/uv.h"
+#include <uv.h>
 
 class HttpRequest;
 class WebApplication;
--- a/src/thread.h
+++ b/src/thread.h
@@ -1,7 +1,7 @@
 #ifndef THREAD_HPP
 #define THREAD_HPP
 
-#include "libuv/include/uv.h"
+#include <uv.h>
 
 // These must be called from the main and background thread, respectively, so
 // that is_main_thread() and is_background_thread() can be tested later.
--- a/src/uvutil.h
+++ b/src/uvutil.h
@@ -4,7 +4,7 @@
 #include "thread.h"
 #include <string>
 #include <vector>
-#include "libuv/include/uv.h"
+#include <uv.h>
 
 /* Prevent naming conflicts for Free() and Calloc() */
 #define R_NO_REMAP
--- a/src/webapplication.h
+++ b/src/webapplication.h
@@ -2,7 +2,7 @@
 #define WEBAPPLICATION_HPP
 
 #include <boost/function.hpp>
-#include "libuv/include/uv.h"
+#include <uv.h>
 #include <Rcpp.h>
 #include "websockets.h"
 #include "thread.h"
--- a/src/Makevars
+++ b/src/Makevars
@@ -9,7 +9,7 @@ ifeq ($(UNAME), Darwin)
 FRAMEWORK = -framework CoreServices
 endif
 
-PKG_LIBS = ./libuv/.libs/libuv.a ./http-parser/http_parser.o ./sha1/sha1.o ./base64/base64.o $(FRAMEWORK) -pthread
+PKG_LIBS = ./http-parser/http_parser.o ./sha1/sha1.o ./base64/base64.o $(FRAMEWORK) -luv
 ifeq ($(UNAME), SunOS)
 PKG_LIBS += -lkstat -lsendfile -lsocket -lxnet
 endif
@@ -41,36 +41,7 @@ CONFIGURE_FLAGS="--quiet"
 #   CRAN to flag the package as using abort and printf.
 # PKG_CPPFLAGS += -D_GLIBCXX_ASSERTIONS
 
-
-$(SHLIB): libuv/.libs/libuv.a http-parser/http_parser.o sha1/sha1.o base64/base64.o
-
-# We needed to rename lt~obsolete.m4 because the name causes problems with R
-# CMD check. Here we rename it back.
-libuv/m4/lt~obsolete.m4: libuv/m4/lt_obsolete.m4
-	cp -p -f libuv/m4/lt_obsolete.m4 libuv/m4/lt~obsolete.m4
-
-# Run ./configure. We need to touch various autotools-related files to avoid
-# it trying to run autotools programs again. We also need to make sure
-# configure is executable, because on some platforms, calling unzip() in R
-# does not preserve the executable bit.
-#
-# It's VERY IMPORTANT that mtime(aclocal.m4) <= mtime(configure), and also
-# mtime(aclocal.m4) <= mtime(Makefile.in). On some platforms, passing multiple
-# files to a single touch command gives them all the same time, but on others
-# (Solaris and possibly some Fedoras) the timestamps are slightly increasing
-# from one to the next, i.e. the order matters. To remove this fragility, we
-# use "-r aclocal.m4" to ensure that all three files are guaranteed to have
-# precisely the same timestamp value.
-libuv/Makefile: libuv/m4/lt~obsolete.m4
-	(cd libuv \
-		&& touch aclocal.m4 \
-		&& touch -r aclocal.m4 configure Makefile.in \
-		&& chmod +x configure \
-		&& CC="$(CC)" CFLAGS="$(CFLAGS) $(CPICFLAGS) $(C_VISIBILITY)" AR="$(AR)" RANLIB="$(RANLIB)" LDFLAGS="$(LDFLAGS)" ./configure $(CONFIGURE_FLAGS))
-
-libuv/.libs/libuv.a: libuv/Makefile
-	$(MAKE) --directory=libuv \
-		HAVE_DTRACE=0
+$(SHLIB): http-parser/http_parser.o sha1/sha1.o base64/base64.o
 
 clean:
 	$(MAKE) --directory=libuv distclean
