--- /dev/null
+--- a/src/makefile
++++ b/src/makefile
+@@ -160,10 +160,10 @@ DEF_linux=-DLUASOCKET_$(DEBUG) \
+       -DLUASOCKET_API='__attribute__((visibility("default")))' \
+       -DUNIX_API='__attribute__((visibility("default")))' \
+       -DMIME_API='__attribute__((visibility("default")))'
+-CFLAGS_linux= -I$(LUAINC) $(DEF) -Wall -Wshadow -Wextra \
+-      -Wimplicit -O2 -ggdb3 -fpic -fvisibility=hidden
+-LDFLAGS_linux=-O -shared -fpic -o 
+-LD_linux=gcc
++CFLAGS_linux= -I$(LUAINC) $(DEF) $(OPTFLAGS) \
++      -fvisibility=hidden -fPIC
++LDFLAGS_linux=$(OPTFLAGS) -shared -o
++LD_linux?=gcc
+ SOCKET_linux=usocket.o
+ 
+ #------
 
 $(ARCHIVE)/luaexpat-$(LUA_EXPAT_VER).tar.gz:
        $(WGET) http://matthewwild.co.uk/projects/luaexpat/luaexpat-$(LUA_EXPAT_VER).tar.gz
 
+$(ARCHIVE)/luasocket-master.zip:
+       $(WGET) https://github.com/diegonehab/luasocket/archive/master.zip
+       mv $(ARCHIVE)/master.zip $(ARCHIVE)/luasocket-master.zip
+
 $(ARCHIVE)/lua-5.2.3.tar.gz:
        $(WGET) http://www.fhloston-paradise.de/lua-5.2.3.tar.gz
 
 
        touch $@
 
 $(D)/lua-expat: $(ARCHIVE)/luaexpat-$(LUA_EXPAT_VER).tar.gz $(D)/expat | $(TARGETPREFIX)
-       rm -fr $(BUILD_TMP)/luaexpat-$(LUA_EXPAT_VER)
        $(UNTAR)/luaexpat-$(LUA_EXPAT_VER).tar.gz
        set -e; cd $(BUILD_TMP)/luaexpat-$(LUA_EXPAT_VER); \
                rm makefile*; \
        rm -fr $(BUILD_TMP)/luaexpat-$(LUA_EXPAT_VER)
        touch $@
 
+$(D)/lua-socket: $(ARCHIVE)/luasocket-master.zip | $(TARGETPREFIX)
+       cd $(BUILD_TMP); \
+               unzip -q $(ARCHIVE)/luasocket-master.zip
+       set -e; cd $(BUILD_TMP)/luasocket-master; \
+               patch -p1 < $(PATCHES)/luasocket-makefile.patch; \
+               $(MAKE) \
+               CC=$(TARGET)-gcc LD_linux=$(TARGET)-gcc LUAV=$(LUA_ABIVER) PLAT=linux COMPAT=COMPAT \
+               LUAINC_linux=$(TARGETPREFIX)/include LUALIB_linux=$(TARGETPREFIX)/lib LUAPREFIX_linux=; \
+               $(MAKE) install \
+               LUAV=$(LUA_ABIVER) LUAPREFIX_linux= \
+               CDIR_linux=$(TARGETPREFIX)/lib/lua/$(LUA_ABIVER) LDIR_linux=$(TARGETPREFIX)/share/lua/$(LUA_ABIVER); \
+       mkdir -p $(TARGETPREFIX)/share/doc/lua/lua-socket
+       cp -a $(BUILD_TMP)/luasocket-master/samples $(TARGETPREFIX)/share/doc/lua/lua-socket
+       cp -a $(BUILD_TMP)/luasocket-master/test $(TARGETPREFIX)/share/doc/lua/lua-socket
+       rm -fr $(BUILD_TMP)/luasocket-master
+       touch $@
+
 $(D)/luacurl: $(D)/libcurl $(ARCHIVE)/Lua-cURL$(LUACURL_VER).tar.xz | $(TARGETPREFIX)
        $(UNTAR)/Lua-cURL$(LUACURL_VER).tar.xz
        set -e; cd $(BUILD_TMP)/Lua-cURL$(LUACURL_VER); \