diff options
| author | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-02-08 22:36:36 +0100 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi92@disroot.org> | 2026-02-08 23:03:24 +0100 |
| commit | 928c9ad98ca738713114685b4b434e5393e37340 (patch) | |
| tree | 356948360b61fe3a9bbd4bd77450f830a3871f42 | |
| parent | 45821dacf152ec20e64df8aae72b2b34b8143728 (diff) | |
| -rw-r--r-- | slcl/0.4.2/0001-thumbnail-CMakeLists.txt-Link-ImageMagick-dependenci.patch | 25 | ||||
| -rw-r--r-- | slcl/0.4.2/Dockerfile | 34 |
2 files changed, 59 insertions, 0 deletions
diff --git a/slcl/0.4.2/0001-thumbnail-CMakeLists.txt-Link-ImageMagick-dependenci.patch b/slcl/0.4.2/0001-thumbnail-CMakeLists.txt-Link-ImageMagick-dependenci.patch new file mode 100644 index 0000000..3f33448 --- /dev/null +++ b/slcl/0.4.2/0001-thumbnail-CMakeLists.txt-Link-ImageMagick-dependenci.patch @@ -0,0 +1,25 @@ +From 6b1878986c8536f41bb1c6ceeb869940bbe156d0 Mon Sep 17 00:00:00 2001 +From: Xavier Del Campo Romero <xavi92@disroot.org> +Date: Thu, 9 Oct 2025 22:51:27 +0200 +Subject: [PATCH] thumbnail/CMakeLists.txt: Link ImageMagick dependencies + +PkgConfig does not return the dependencies for ImageMagick. Therefore, +when building thumbnail with static libraries, dependencies are also +required. +--- + thumbnail/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/thumbnail/CMakeLists.txt b/thumbnail/CMakeLists.txt +index 85e8951..2c6b82d 100644 +--- a/thumbnail/CMakeLists.txt ++++ b/thumbnail/CMakeLists.txt +@@ -6,4 +6,5 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE _FILE_OFFSET_BITS=64) + include(FindPkgConfig) + pkg_check_modules(ImageMagick REQUIRED IMPORTED_TARGET ImageMagick) + target_link_libraries(${PROJECT_NAME} PRIVATE dynstr PkgConfig::ImageMagick) ++target_link_libraries(PkgConfig::ImageMagick INTERFACE z png jpeg) + install(TARGETS ${PROJECT_NAME}) +-- +2.43.0 + diff --git a/slcl/0.4.2/Dockerfile b/slcl/0.4.2/Dockerfile new file mode 100644 index 0000000..e9fab47 --- /dev/null +++ b/slcl/0.4.2/Dockerfile @@ -0,0 +1,34 @@ +FROM alpine as base +RUN apk update && apk add \ + git \ + cmake \ + make \ + gcc \ + pkgconf \ + musl-dev +COPY --from=zlib:1.3.1 /opt/spm/zlib-1.3.1/ /usr/local/ +COPY --from=libcjson:1.7.19 /opt/spm/cjson-1.7.19/ /usr/local/ +COPY --from=libsodium:1.0.21 /opt/spm/libsodium-1.0.21/ /usr/local/ +COPY --from=libjpeg:10 /opt/spm/libjpeg-10/ /usr/local/ +COPY --from=libpng:1.6.54 /opt/spm/libpng-1.6.54/ /usr/local/ +COPY --from=libimagemagick:6.9.13-38-jpeg-png /opt/spm/imagemagick-6.9.13-38-jpeg-png /usr/local/ +ARG PREFIX=/opt/spm/slcl-0.4.2 +RUN git clone --depth 1 -b v0.4.2 --recursive \ + https://gitea.privatedns.org/xavi/slcl +WORKDIR /slcl/patches +COPY 0001-thumbnail-CMakeLists.txt-Link-ImageMagick-dependenci.patch . +WORKDIR /slcl +RUN git apply patches/0001-thumbnail-CMakeLists.txt-Link-ImageMagick-dependenci.patch +RUN LDFLAGS='-static -Wl,--gc-sections' cmake -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DTHUMBNAIL=ON \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DCMAKE_INSTALL_PREFIX=$PREFIX +RUN cmake --build build -j$(nproc) +RUN cmake --install build +WORKDIR $PREFIX/bin +RUN strip slcl usergen thumbnail +FROM scratch +COPY --from=base /opt/spm/slcl-0.4.2/bin/slcl /opt/spm/slcl-0.4.2/bin/slcl +COPY --from=base /opt/spm/slcl-0.4.2/bin/usergen /opt/spm/slcl-0.4.2/bin/usergen +COPY --from=base /opt/spm/slcl-0.4.2/bin/thumbnail /opt/spm/slcl-0.4.2/bin/thumbnail |
