Ver código fonte

libs: libwebsockets: add latest released version

This includes a patch for cyassl building that has been committed
upstream, but not released.

There's no SPDX license identifier for LGPL + static linking exception,
so I've used "LGPL-2.1+exception" as suggested at
http://lwn.net/Articles/378329/

See also: https://github.com/warmcat/libwebsockets/issues/170

Signed-off-by: Karl Palsson <karlp@remake.is>
Karl Palsson 10 anos atrás
pai
commit
8e6fc86dd5

+ 83
- 0
libs/libwebsockets/Makefile Ver arquivo

@@ -0,0 +1,83 @@
1
+#
2
+# Copyright (C) 2014 OpenWrt.org
3
+#
4
+# This is free software, licensed under the GNU General Public License v2.
5
+# See /LICENSE for more information.
6
+
7
+include $(TOPDIR)/rules.mk
8
+
9
+PKG_NAME:=libwebsockets
10
+
11
+PKG_VERSION:=1.3-chrome37-firefox30
12
+PKG_RELEASE:=1
13
+PKG_SOURCE:=v$(PKG_VERSION).tar.gz
14
+PKG_SOURCE_URL:=https://github.com/warmcat/$(PKG_NAME)/archive/
15
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
16
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)
17
+PKG_LICENSE:=LGPL-2.1+exception
18
+PKG_LICENSE_FILES:=LICENSE
19
+
20
+CMAKE_INSTALL:=1
21
+
22
+include $(INCLUDE_DIR)/package.mk
23
+include $(INCLUDE_DIR)/cmake.mk
24
+
25
+CMAKE_OPTIONS += $(if $(CONFIG_PACKAGE_kmod-ipv6),,-DLWS_IPV6=)
26
+
27
+CMAKE_OPTIONS += -DLWS_WITHOUT_TESTAPPS=ON
28
+
29
+# other options worth noting
30
+# CMAKE_OPTIONS += -DLWS_WITHOUT_EXTENSIONS=ON
31
+# CMAKE_OPTIONS += -DLWS_WITHOUT_DAEMONIZE=ON
32
+# CMAKE_OPTIONS += -DLWS_WITHOUT_SERVER=ON
33
+# CMAKE_OPTIONS += -DLWS_WITHOUT_DEBUG=ON
34
+
35
+
36
+define Package/$(PKG_NAME)/Default
37
+	SECTION:=libs
38
+	CATEGORY:=Libraries
39
+	TITLE:=libwebsockets
40
+	DEPENDS:=+zlib
41
+endef
42
+
43
+define Package/libwebsockets-openssl
44
+	$(call Package/$(PKG_NAME)/Default)
45
+	TITLE += (OpenSSL)
46
+	DEPENDS += +libopenssl
47
+	VARIANT:=openssl
48
+endef
49
+
50
+define Package/libwebsockets-cyassl
51
+	$(call Package/$(PKG_NAME)/Default)
52
+	TITLE += (CyaSSL)
53
+	DEPENDS += +libcyassl
54
+	VARIANT:=cyassl
55
+endef
56
+
57
+ifeq ($(BUILD_VARIANT),openssl)
58
+    CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs
59
+    CMAKE_OPTIONS += -DLWS_OPENSSL_SUPPORT=ON
60
+    CMAKE_OPTIONS += -DLWS_WITH_SSL=ON
61
+endif
62
+
63
+ifeq ($(BUILD_VARIANT),cyassl)
64
+    CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs
65
+    CMAKE_OPTIONS += -DLWS_OPENSSL_SUPPORT=ON
66
+    CMAKE_OPTIONS += -DLWS_WITH_SSL=ON
67
+# for cyassl, edit package/libs/cyassl/Makefile to include --enable-opensslextra
68
+# NOTE: it will compile without it, untested whether it it's needed?!
69
+    CMAKE_OPTIONS += -DLWS_USE_CYASSL=ON
70
+    CMAKE_OPTIONS += -DLWS_CYASSL_LIB=$(STAGING_DIR)/usr/lib/libcyassl.so
71
+    CMAKE_OPTIONS += -DLWS_CYASSL_INCLUDE_DIRS=$(STAGING_DIR)/usr/include
72
+endif
73
+
74
+define Package/libwebsockets/install
75
+	$(INSTALL_DIR) $(1)/usr/lib
76
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwebsockets.so* $(1)/usr/lib/
77
+endef
78
+
79
+Package/$(PKG_NAME)-cyassl/install = $(Package/$(PKG_NAME)/install)
80
+Package/$(PKG_NAME)-openssl/install = $(Package/$(PKG_NAME)/install)
81
+
82
+$(eval $(call BuildPackage,libwebsockets-openssl))
83
+$(eval $(call BuildPackage,libwebsockets-cyassl))

+ 25
- 0
libs/libwebsockets/patches/0001-cyassl-correct-include-path-for-3.1.x.patch Ver arquivo

@@ -0,0 +1,25 @@
1
+From 4fb4a2353db521667d1ec61480bf8179bf585d5f Mon Sep 17 00:00:00 2001
2
+From: Karl Palsson <karlp@remake.is>
3
+Date: Thu, 14 Aug 2014 16:30:48 +0000
4
+Subject: [PATCH] cyassl: correct include path for 3.1.x
5
+
6
+---
7
+ lib/private-libwebsockets.h | 2 +-
8
+ 1 file changed, 1 insertion(+), 1 deletion(-)
9
+
10
+diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h
11
+index 4194498..fbd22b5 100755
12
+--- a/lib/private-libwebsockets.h
13
++++ b/lib/private-libwebsockets.h
14
+@@ -155,7 +155,7 @@
15
+ #ifdef LWS_OPENSSL_SUPPORT
16
+ #ifdef USE_CYASSL
17
+ #include <cyassl/openssl/ssl.h>
18
+-#include <cyassl/error.h>
19
++#include <cyassl/error-ssl.h>
20
+ unsigned char *
21
+ SHA1(const unsigned char *d, size_t n, unsigned char *md);
22
+ #else
23
+-- 
24
+1.8.3.1
25
+