aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/luasocket
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/luasocket
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/luasocket')
-rw-r--r--vcpkg/ports/luasocket/CMakeLists.txt138
-rw-r--r--vcpkg/ports/luasocket/portfile.cmake32
-rw-r--r--vcpkg/ports/luasocket/vcpkg.json15
3 files changed, 185 insertions, 0 deletions
diff --git a/vcpkg/ports/luasocket/CMakeLists.txt b/vcpkg/ports/luasocket/CMakeLists.txt
new file mode 100644
index 0000000..b07f043
--- /dev/null
+++ b/vcpkg/ports/luasocket/CMakeLists.txt
@@ -0,0 +1,138 @@
+cmake_minimum_required(VERSION 3.10)
+project(luasocket)
+
+if(WIN32)
+ set(PLATFORM_LIBRARIES ws2_32)
+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} ${PLATFORM_LIBRARIES})
+
+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)
+if(WIN32)
+ target_sources(socket.core PRIVATE
+ src/wsocket.c)
+elseif (UNIX)
+ target_sources(socket.core PRIVATE
+ src/usocket.c)
+endif()
+set_target_properties(socket.core PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "socket"
+ LIBRARY_OUTPUT_DIRECTORY "socket"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "core"
+ LIBRARY_OUTPUT_NAME "core")
+target_include_directories(socket.core PRIVATE ${LUASOCKET_INCLUDES})
+target_link_libraries(socket.core PRIVATE ${LUASOCKET_LIBRARIES})
+
+add_library(mime.core
+ src/mime.c
+ src/compat.c)
+set_target_properties(mime.core PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "mime"
+ LIBRARY_OUTPUT_DIRECTORY "mime"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "core"
+ LIBRARY_OUTPUT_NAME "core")
+target_include_directories(mime.core PRIVATE ${LUASOCKET_INCLUDES})
+target_link_libraries(mime.core PRIVATE ${LUASOCKET_LIBRARIES})
+
+if(UNIX)
+ add_library(socket.unix
+ src/buffer.c
+ src/compat.c
+ src/auxiliar.c
+ src/options.c
+ src/timeout.c
+ src/io.c
+ src/usocket.c
+ src/unix.c
+ src/unixdgram.c
+ src/unixstream.c)
+ set_target_properties(socket.unix PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "socket"
+ LIBRARY_OUTPUT_DIRECTORY "socket"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "unix"
+ LIBRARY_OUTPUT_NAME "unix")
+ target_include_directories(socket.unix PRIVATE ${LUASOCKET_INCLUDES})
+ target_link_libraries(socket.unix PRIVATE ${LUASOCKET_LIBRARIES})
+
+ add_library(socket.serial
+ src/buffer.c
+ src/compat.c
+ src/auxiliar.c
+ src/options.c
+ src/timeout.c
+ src/io.c
+ src/usocket.c
+ src/serial.c)
+ set_target_properties(socket.serial PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "socket"
+ LIBRARY_OUTPUT_DIRECTORY "socket"
+ PREFIX ""
+ RUNTIME_OUTPUT_NAME "serial"
+ LIBRARY_OUTPUT_NAME "serial")
+ target_include_directories(socket.serial PRIVATE ${LUASOCKET_INCLUDES})
+ target_link_libraries(socket.serial PRIVATE ${LUASOCKET_LIBRARIES})
+endif()
+
+if(WIN32)
+ if("${BUILD_TYPE}" STREQUAL "STATIC")
+ add_definitions(
+ "-DLUASOCKET_API=")
+ else()
+ add_definitions(
+ "-DLUASOCKET_API=__declspec(dllexport)")
+ endif()
+endif()
+
+install(TARGETS socket.core
+ RUNTIME DESTINATION bin/socket
+ LIBRARY DESTINATION lib/socket
+ ARCHIVE DESTINATION lib)
+
+install(TARGETS mime.core
+ RUNTIME DESTINATION bin/mime
+ LIBRARY DESTINATION lib/mime
+ ARCHIVE DESTINATION lib)
+
+if(UNIX)
+ install(TARGETS socket.unix
+ RUNTIME DESTINATION bin/socket
+ LIBRARY DESTINATION lib/socket
+ ARCHIVE DESTINATION lib)
+ install(TARGETS socket.serial
+ RUNTIME DESTINATION bin/socket
+ LIBRARY DESTINATION lib/socket
+ ARCHIVE DESTINATION lib)
+endif()
+
+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/vcpkg/ports/luasocket/portfile.cmake b/vcpkg/ports/luasocket/portfile.cmake
new file mode 100644
index 0000000..1a56337
--- /dev/null
+++ b/vcpkg/ports/luasocket/portfile.cmake
@@ -0,0 +1,32 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lunarmodules/luasocket
+ REF "v${VERSION}"
+ SHA512 1e9e98484740ec6538fe3d2b0dab74d31f052956ecf9ee3b60e229f2d0b13fcc6d4aaf74cd2a3e2ee330333dabb316fe6a43c60baaea26f0cc01069b6aa4519b
+ HEAD_REF master)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BUILD_TYPE SHARED)
+else()
+ set(BUILD_TYPE STATIC)
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_TYPE=${BUILD_TYPE}
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+# Remove debug share
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+# Handle copyright
+vcpkg_install_copyright(FILE_LIST ${SOURCE_PATH}/LICENSE)
+
+# Allow empty include directory
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
diff --git a/vcpkg/ports/luasocket/vcpkg.json b/vcpkg/ports/luasocket/vcpkg.json
new file mode 100644
index 0000000..bfae0ba
--- /dev/null
+++ b/vcpkg/ports/luasocket/vcpkg.json
@@ -0,0 +1,15 @@
+{
+ "name": "luasocket",
+ "version": "3.1.0",
+ "port-version": 1,
+ "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.",
+ "homepage": "https://lunarmodules.github.io/luasocket/",
+ "license": "MIT",
+ "dependencies": [
+ "lua",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}