Skip to content

Commit 8e083b9

Browse files
committed
Disabled brotli, replaced openssl with mbedtls
1 parent 9537b58 commit 8e083b9

File tree

7 files changed

+37
-17
lines changed

7 files changed

+37
-17
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
* text eol=lf
22

33
*.dll binary
4+
*.so binary

CMakeLists.txt

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,21 @@ CPMAddPackage(
100100
target_link_libraries(KoalaBox PUBLIC nlohmann_json::nlohmann_json)
101101

102102
CPMAddPackage(
103-
URI "gh:libcpr/cpr#1.12.0"
103+
URI "gh:Mbed-TLS/mbedtls#mbedtls-3.6.5" # CURL doesn't support v4 yet
104104
OPTIONS
105-
"CURL_USE_LIBPSL OFF"
106-
"CPR_USE_SYSTEM_LIB_PSL ON"
105+
"DISABLE_PACKAGE_CONFIG_AND_INSTALL OFF"
106+
"ENABLE_PROGRAMS OFF"
107+
"ENABLE_TESTING OFF"
108+
)
109+
110+
CPMAddPackage(
111+
URI "gh:libcpr/cpr#1.13.0"
112+
OPTIONS
113+
"CURL_BROTLI OFF" # Brotli is unavailable in certain Steam Linux Runtime environments.
114+
"CURL_USE_LIBSSH2 OFF" # SFTP and SCP support is not needed
115+
"CURL_USE_OPENSSL OFF"
116+
"CPR_FORCE_MBEDTLS_BACKEND ON"
117+
"CPR_CURL_USE_LIBPSL OFF" # Requires meson to build
107118
"ENABLE_CURL_MANUAL OFF"
108119
"BUILD_LIBCURL_DOCS OFF"
109120
"BUILD_EXAMPLES OFF"

Dockerfile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,10 @@ RUN echo -e '\n[multilib]\nInclude = /etc/pacman.d/mirrorlist' >> /etc/pacman.co
1010
RUN pacman -S --noconfirm \
1111
cmake git tree zip base-devel gcc clang \
1212
\
13-
brotli lib32-brotli \
1413
gcc-libs lib32-gcc-libs \
1514
gtk3 lib32-gtk3 \
1615
libidn2 lib32-libidn2 \
1716
libnghttp2 lib32-libnghttp2 \
18-
libssh2 lib32-libssh2 \
19-
openssl lib32-openssl \
2017
zlib lib32-zlib \
2118
zstd lib32-zstd
2219

README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,11 @@ _C++ utilities for koality projects_
1414

1515
### 🐧 Linux
1616

17-
- [brotli](https://archlinux.org/packages/core/x86_64/brotli/)
1817
- [gcc](https://archlinux.org/packages/core/x86_64/gcc/)
1918
- [clang](https://archlinux.org/packages/core/x86_64/clang/)
2019
- [gtk3](https://archlinux.org/packages/core/x86_64/gtk3/)
2120
- [libidn2](https://archlinux.org/packages/core/x86_64/libidn2/)
2221
- [libnghttp2](https://archlinux.org/packages/core/x86_64/libnghttp2/)
23-
- [libssh2](https://archlinux.org/packages/core/x86_64/libssh2/)
24-
- [openssl](https://archlinux.org/packages/core/x86_64/openssl/)
2522
- [zlib](https://archlinux.org/packages/core/x86_64/zlib/)
2623
- [zstd](https://archlinux.org/packages/core/x86_64/zstd/)
2724

README.template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ _C++ utilities for koality projects_
1111

1212
### 🐧 Linux
1313

14-
inja::## for package in ["brotli", "gcc", "clang", "gtk3", "libidn2", "libnghttp2", "libssh2", "openssl", "zlib", "zstd"]
14+
inja::## for package in ["gcc", "clang", "gtk3", "libidn2", "libnghttp2", "zlib", "zstd"]
1515
- [{{ package }}](https://archlinux.org/packages/core/x86_64/{{ package }}/)
1616
inja::## endfor
1717

cmake/KoalaBox.cmake

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,20 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
88

99
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:-Zc:preprocessor>")
1010

11-
set(CPM_SOURCE_CACHE "${CMAKE_SOURCE_DIR}/build/.cache" CACHE STRING "CPM.cmake source cache")
11+
set(
12+
CPM_SOURCE_CACHE
13+
"$ENV{HOME}/.cache/cmake/cpm"
14+
CACHE PATH "CPM.cmake source cache"
15+
)
1216
include("${CMAKE_CURRENT_LIST_DIR}/get_cpm.cmake")
1317

18+
set(
19+
FETCHCONTENT_BASE_DIR
20+
"$ENV{HOME}/.cache/cmake/fetchcontent"
21+
CACHE PATH
22+
"Base directory for FetchContent dependencies"
23+
)
24+
1425
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
1526
add_definitions(-DDEBUG_BUILD)
1627
endif()

templates/markdown/install-linux.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ you should use the equivalent package for your distro.
1313

1414
inja::## set core-32bit=["gcc-libs", "glibc"]
1515
Required libraries:
16-
inja::## for package in ["brotli", "gcc-libs", "glibc", "libidn2", "libnghttp2", "libssh2", "openssl", "zlib", "zstd"]
16+
inja::## for package in ["gcc-libs", "glibc", "libidn2", "libnghttp2", "zlib", "zstd"]
1717
- [{{ package }}](https://archlinux.org/packages/core/x86_64/{{ package }}/)
1818
[[32-bit](https://archlinux.org/packages/{% if package in core-32bit %}core{% else %}multilib{% endif %}/x86_64/lib32-{{ package }}/)]
1919

@@ -35,7 +35,6 @@ wrappers might cause issues in theory. However, in practice real tests show that
3535
chance of success compared to proxy mode. So, at the end of the day, try both modes to see which one works
3636
best for you.
3737

38-
3938
### 🔀 Proxy mode (🐧 Linux)
4039

4140
Same as on Windows:
@@ -55,10 +54,10 @@ For example:
5554
1. Extract and paste the {{ unlocker_libs_linux }} in the root of game's installation directory.
5655
2. In Steam _Library_ open game's _Properties_, switch to the _General_ tab, and set the following _LAUNCH OPTIONS_:
5756

58-
| Bitness | Launch Options |
59-
|---------|------------------------------------------------------------------------------------------------------------------------|
60-
| 32-bit | `LD_PRELOAD="./libsmoke_api32.so $HOME/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so" ./<GameExe32> %command%` |
61-
| 64-bit | `LD_PRELOAD="./libsmoke_api64.so $HOME/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so" ./<GameExe64> %command%` |
57+
| Bitness | Launch Options |
58+
|---------|---------------------------------------------------------------------------------------------------------------------------------|
59+
| 32-bit | `LD_PRELOAD="./libsmoke_api32.so $HOME/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so" ./<GameExe32> ; exit ; %command%` |
60+
| 64-bit | `LD_PRELOAD="./libsmoke_api64.so $HOME/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so" ./<GameExe64> ; exit ; %command%` |
6261

6362
Where `<GameExe32>` and `<GameExe64>` correspond to the actual filename of the game executable. For example:
6463
- `TheEscapists2.x86` (32-bit)
@@ -74,3 +73,7 @@ and other environment variables you might have specified previously.
7473
If you have other environment variables, and you don't know how to correctly combine them,
7574
then please make extensive use of search engines and LLMs for guidance and examples
7675
before seeking help the official forum topic.
76+
77+
> [!NOTE]
78+
> The `; exit ; %command%` at the end of launch options
79+
> is a trick used to force Steam to directly run the game executable.

0 commit comments

Comments
 (0)