aboutsummaryrefslogtreecommitdiff
path: root/ports/luasocket
diff options
context:
space:
mode:
authorAlexander Saprykin <xelfium@gmail.com>2018-05-26 13:27:14 +0200
committerGitHub <noreply@github.com>2018-05-26 13:27:14 +0200
commit4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5 (patch)
treed95c9490352eb73f078d34a33bc4bb44ac9fa48b /ports/luasocket
parentfb689bd13dd6ba563a885d71fff1dd2b32a615db (diff)
parent2ac7527b40b1dbeb7856b9f763362c1e139e2ca9 (diff)
downloadvcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.tar.gz
vcpkg-4ce5f064282c3a8d8d710aa82af7aa346b0c6dd5.zip
Merge pull request #1 from Microsoft/master
Update vcpkg from upstream
Diffstat (limited to 'ports/luasocket')
-rw-r--r--ports/luasocket/CMakeLists.txt65
-rw-r--r--ports/luasocket/CONTROL4
-rw-r--r--ports/luasocket/portfile.cmake40
3 files changed, 109 insertions, 0 deletions
diff --git a/ports/luasocket/CMakeLists.txt b/ports/luasocket/CMakeLists.txt
new file mode 100644
index 000000000..3ab763deb
--- /dev/null
+++ b/ports/luasocket/CMakeLists.txt
@@ -0,0 +1,65 @@
+cmake_minimum_required(VERSION 3.0.2)
+project(luasocket)
+
+if(NOT WIN32)
+ message(FATAL_ERROR "Written for windows only")
+endif()
+
+find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua)
+find_library(LUA_LIBRARY lua)
+set(LUASOCKET_INCLUDES ${LUA_INCLUDE_DIR} src)
+set(LUASOCKET_LIBRARIES ${LUA_LIBRARY} ws2_32)
+
+add_library(socket.core
+ src/luasocket.c
+ src/timeout.c
+ src/buffer.c
+ src/io.c
+ src/auxiliar.c
+ src/options.c
+ src/inet.c
+ src/except.c
+ src/select.c
+ src/tcp.c
+ src/udp.c
+ src/compat.c
+ src/wsocket.c)
+
+add_library(mime.core
+ src/mime.c
+ src/compat.c)
+
+target_include_directories(socket.core PRIVATE ${LUASOCKET_INCLUDES})
+target_link_libraries(socket.core PRIVATE ${LUASOCKET_LIBRARIES})
+
+target_include_directories(mime.core PRIVATE ${LUASOCKET_INCLUDES})
+target_link_libraries(mime.core PRIVATE ${LUASOCKET_LIBRARIES})
+
+add_definitions(
+ "-DLUASOCKET_API=__declspec(dllexport)"
+ "-DMIME_API=__declspec(dllexport)")
+
+install(TARGETS socket.core
+ RUNTIME DESTINATION bin/socket
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+
+install(TARGETS mime.core
+ RUNTIME DESTINATION bin/mime
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+
+install(FILES
+ src/ltn12.lua
+ src/socket.lua
+ src/mime.lua
+ DESTINATION share/lua)
+
+install(FILES
+ src/http.lua
+ src/url.lua
+ src/tp.lua
+ src/ftp.lua
+ src/headers.lua
+ src/smtp.lua
+ DESTINATION share/lua/socket)
diff --git a/ports/luasocket/CONTROL b/ports/luasocket/CONTROL
new file mode 100644
index 000000000..3eeada1ca
--- /dev/null
+++ b/ports/luasocket/CONTROL
@@ -0,0 +1,4 @@
+Source: luasocket
+Version: 2018-02-25
+Description: LuaSocket is a Lua extension library that is composed by two parts: a C core that provides support for the TCP and UDP transport layers, and a set of Lua modules that add support for functionality commonly needed by applications that deal with the Internet.
+Build-Depends: lua
diff --git a/ports/luasocket/portfile.cmake b/ports/luasocket/portfile.cmake
new file mode 100644
index 000000000..831cd1b5e
--- /dev/null
+++ b/ports/luasocket/portfile.cmake
@@ -0,0 +1,40 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO diegonehab/luasocket
+ REF 652959890943c34d7180cae372339b91e62f0d7b
+ SHA512 8666e3dec0a3a0429e59a66c79b167f88b05a2a0b2c7f5456754cb5c505bcf8c39c4d358880a2f78a488ad07bee4e6e5b9a6a63c2affcee788091dee15ed2f6a
+ HEAD_REF master)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+# Remove debug share
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/luasocket)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/luasocket/LICENSE ${CURRENT_PACKAGES_DIR}/share/luasocket/copyright)
+
+# Handle socket dll name
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/socket/socket.core.dll ${CURRENT_PACKAGES_DIR}/bin/socket/core.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/socket/socket.core.pdb ${CURRENT_PACKAGES_DIR}/bin/socket/core.pdb)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/socket/socket.core.dll ${CURRENT_PACKAGES_DIR}/debug/bin/socket/core.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/socket/socket.core.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/socket/core.pdb)
+
+# Handle mime dll name
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mime/mime.core.dll ${CURRENT_PACKAGES_DIR}/bin/mime/core.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mime/mime.core.pdb ${CURRENT_PACKAGES_DIR}/bin/mime/core.pdb)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/mime/mime.core.dll ${CURRENT_PACKAGES_DIR}/debug/bin/mime/core.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/mime/mime.core.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/mime/core.pdb)
+
+# Allow empty include directory
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)