| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package("telegram-bot-api")
- set_kind("binary")
- set_description("The server provides an HTTP API for creating Telegram Bots.")
- set_license("BSL-1.0")
- add_urls("https://github.com/tdlib/telegram-bot-api.git", {submodules = false})
- add_versions("9.1", "2e1fb0330c93a014f723f5b5d8befe9dc9fc1b7d")
- local tdlib_versions = {
- ["9.1"] = "1.8.51"
- }
- on_load(function (package)
- package:add("deps", "td " .. tdlib_versions[package:version_str()])
- end)
-
- on_install(function (package)
- io.replace("telegram-bot-api/ClientManager.cpp", [[#include "memprof/memprof.h"]], "", {plain = true})
- io.replace("telegram-bot-api/ClientManager.cpp", "if (is_memprof_on()) {", "#if 0", {plain = true})
- io.replace("telegram-bot-api/ClientManager.cpp", "success_rate());\n }", "success_rate());\n #endif", {plain = true})
-
- io.writefile("xmake.lua", ([[
- add_rules("mode.debug", "mode.release")
- add_requires("td %s", {configs = {shared = false}})
- target("telegram-bot-api")
- set_kind("binary")
- set_languages("c++17")
- add_files("telegram-bot-api/*.cpp")
- add_includedirs(".")
- add_packages("td")
- if is_plat("windows") then
- add_defines("_SCL_SECURE_NO_WARNINGS", "_CRT_SECURE_NO_WARNINGS")
- add_cxflags("/utf-8", "/GR-", "/W4", "/wd4100", "/wd4127", "/wd4324", "/wd4505", "/wd4814", "/wd4702", "/bigobj", {tools = {"cl", "clang_cl"}})
- add_syslinks("shell32")
- end
- if is_plat("windows", "mingw", "msys") then
- add_defines("NTDDI_VERSION=0x06020000", "WINVER=0x0602", "_WIN32_WINNT=0x0602", "PSAPI_VERSION=1", "NOMINMAX", "UNICODE", "_UNICODE", "WIN32_LEAN_AND_MEAN")
- end
- if is_plat("cygwin") then
- add_defines("_DEFAULT_SOURCE=1", "FD_SETSIZE=4096")
- end
- if is_plat("macosx", "iphoneos") then
- add_shflags("-Wl,-dead_strip")
- elseif is_plat("wasm") then
- add_shflags("-Wl,--gc-sections")
- elseif is_plat("android") then
- add_shflags("-Wl,--gc-sections", "-Wl,--exclude-libs,ALL", "-Wl,--icf=safe")
- else
- end
- if is_arch("x64", "x86_64") then
- add_shflags("-Wl,-z,max-page-size=16384")
- end
- add_cxflags("-ffunction-sections", "-fdata-sections", "-fno-omit-frame-pointer", "-fno-exceptions", "-fno-rtti", {tools = {"clang", "gcc"}})
- add_shflags("-Wl,--gc-sections", "-Wl,--exclude-libs,ALL")
- add_defines("_FILE_OFFSET_BITS=64", "_GNU_SOURCE")
- ]]):format(tdlib_versions[package:version_str()]))
- import("package.tools.xmake").install(package)
- end)
- on_test(function (package)
- os.vrun("telegram-bot-api --version")
- end)
|