mirror of
https://github.com/Syping/dtranslatebot.git
synced 2026-04-01 05:20:22 +02:00
add Containerfile and increase version to 0.3.0
This commit is contained in:
parent
63399a010d
commit
1164b18fd5
3 changed files with 68 additions and 9 deletions
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
cmake_policy(VERSION 3.16...3.27)
|
cmake_policy(VERSION 3.16...3.27)
|
||||||
project(dtranslatebot VERSION 0.2.0 LANGUAGES CXX)
|
project(dtranslatebot VERSION 0.3.0 LANGUAGES CXX)
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
# dtranslatebot Source files
|
# dtranslatebot Source files
|
||||||
|
|
@ -62,12 +62,6 @@ set(DTRANSLATEBOT_SOURCES
|
||||||
# dtranslatebot Module Path
|
# dtranslatebot Module Path
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
# curl Library
|
|
||||||
find_package(CURL REQUIRED)
|
|
||||||
list(APPEND DTRANSLATEBOT_LIBRARIES
|
|
||||||
CURL::libcurl
|
|
||||||
)
|
|
||||||
|
|
||||||
# Boost C++ Libraries
|
# Boost C++ Libraries
|
||||||
option(WITH_BOOST "Build with Boost C++ Libraries" OFF)
|
option(WITH_BOOST "Build with Boost C++ Libraries" OFF)
|
||||||
if (WITH_BOOST)
|
if (WITH_BOOST)
|
||||||
|
|
@ -80,6 +74,9 @@ if (WITH_BOOST)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# curl Library
|
||||||
|
find_package(CURL REQUIRED)
|
||||||
|
|
||||||
# D++ Discord API Library for Bots
|
# D++ Discord API Library for Bots
|
||||||
option(WITH_DPP_STATIC_BUNDLE "Build with DPP Static Bundle" OFF)
|
option(WITH_DPP_STATIC_BUNDLE "Build with DPP Static Bundle" OFF)
|
||||||
if (WITH_DPP_STATIC_BUNDLE)
|
if (WITH_DPP_STATIC_BUNDLE)
|
||||||
|
|
@ -133,7 +130,7 @@ target_compile_definitions(dtranslatebot PRIVATE
|
||||||
if (MSVC AND MSVC_VERSION GREATER_EQUAL 1914)
|
if (MSVC AND MSVC_VERSION GREATER_EQUAL 1914)
|
||||||
target_compile_options(dtranslatebot PRIVATE $<$<COMPILE_LANGUAGE:CXX>:/Zc:__cplusplus>)
|
target_compile_options(dtranslatebot PRIVATE $<$<COMPILE_LANGUAGE:CXX>:/Zc:__cplusplus>)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(dtranslatebot PRIVATE ${DTRANSLATEBOT_LIBRARIES} ${DPP_LIBRARIES} Threads::Threads)
|
target_link_libraries(dtranslatebot PRIVATE ${DTRANSLATEBOT_LIBRARIES} ${DPP_LIBRARIES} CURL::libcurl Threads::Threads)
|
||||||
target_include_directories(dtranslatebot PRIVATE ${DPP_INCLUDE_DIR})
|
target_include_directories(dtranslatebot PRIVATE ${DPP_INCLUDE_DIR})
|
||||||
set_target_properties(dtranslatebot PROPERTIES
|
set_target_properties(dtranslatebot PROPERTIES
|
||||||
CXX_STANDARD 17
|
CXX_STANDARD 17
|
||||||
|
|
|
||||||
62
Containerfile
Normal file
62
Containerfile
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
# Build dtranslatebot
|
||||||
|
FROM alpine:3.23 AS build
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
curl-dev \
|
||||||
|
git \
|
||||||
|
libc++-dev \
|
||||||
|
llvm-libunwind-dev \
|
||||||
|
ninja-build \
|
||||||
|
openssl-dev \
|
||||||
|
zlib-dev
|
||||||
|
WORKDIR /build
|
||||||
|
COPY CMakeLists.txt dtranslatebot/
|
||||||
|
COPY cmake/ dtranslatebot/cmake/
|
||||||
|
COPY src/ dtranslatebot/src/
|
||||||
|
ENV CC=clang CXX=clang++
|
||||||
|
ENV DPP_VERSION=10.1.4
|
||||||
|
RUN git clone https://github.com/brainboxdotcc/DPP.git --branch "v$DPP_VERSION" --depth=1
|
||||||
|
RUN cmake \
|
||||||
|
-DAVX_TYPE=AVX0 \
|
||||||
|
-DBUILD_VOICE_SUPPORT=OFF \
|
||||||
|
-DDPP_NO_CORO=ON \
|
||||||
|
-DDPP_NO_VCPKG=ON \
|
||||||
|
-DRUN_LDCONFIG=OFF \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_CXX_FLAGS=-stdlib=libc++ \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/opt/dtranslatebot \
|
||||||
|
-DCMAKE_MAKE_PROGRAM=/usr/lib/ninja-build/bin/ninja \
|
||||||
|
-G Ninja \
|
||||||
|
-B DPP-build \
|
||||||
|
DPP
|
||||||
|
RUN cmake --build DPP-build
|
||||||
|
RUN cmake --install DPP-build --strip
|
||||||
|
RUN cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_CXX_FLAGS=-stdlib=libc++ \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/opt/dtranslatebot \
|
||||||
|
-DCMAKE_INSTALL_RPATH=/opt/dtranslatebot/lib \
|
||||||
|
-DCMAKE_MAKE_PROGRAM=/usr/lib/ninja-build/bin/ninja \
|
||||||
|
-G Ninja \
|
||||||
|
-B dtranslatebot-build \
|
||||||
|
dtranslatebot
|
||||||
|
RUN cmake --build dtranslatebot-build
|
||||||
|
RUN cmake --install dtranslatebot-build --strip
|
||||||
|
|
||||||
|
# Create the dtranslatebot Container
|
||||||
|
FROM alpine:3.23
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
libc++ \
|
||||||
|
libcrypto3 \
|
||||||
|
libcurl \
|
||||||
|
libssl3 \
|
||||||
|
llvm-libunwind \
|
||||||
|
zlib
|
||||||
|
COPY --from=build /opt/dtranslatebot/bin/dtranslatebot /opt/dtranslatebot/bin/
|
||||||
|
COPY --from=build /opt/dtranslatebot/lib/*.so /opt/dtranslatebot/lib/
|
||||||
|
COPY --from=build /opt/dtranslatebot/lib/*.so.* /opt/dtranslatebot/lib/
|
||||||
|
RUN adduser --disabled-password dtranslatebot
|
||||||
|
WORKDIR /home/dtranslatebot
|
||||||
|
USER dtranslatebot
|
||||||
|
ENTRYPOINT ["/opt/dtranslatebot/bin/dtranslatebot", "--wait-for-translator", "/home/dtranslatebot/dtranslatebot.json"]
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: dtranslatebot
|
Name: dtranslatebot
|
||||||
Version: 0.2.0
|
Version: 0.3.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Discord Translation Bot
|
Summary: Discord Translation Bot
|
||||||
License: BSD-2-Clause
|
License: BSD-2-Clause
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue