Add containerized xstow static build

This commit is contained in:
2025-10-06 20:01:17 -04:00
commit 0c704e4872
5 changed files with 73 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
build
+25
View File
@@ -0,0 +1,25 @@
FROM rockylinux:8
RUN dnf -y install epel-release && \
/usr/bin/crb enable && \
dnf -y install \
git \
autoconf \
automake \
libtool \
make \
gettext \
texinfo \
gcc-c++ \
glibc-static \
libstdc++-static \
&& dnf clean all
RUN git clone --recurse-submodules \
https://github.com/majorkingleo/xstow.git /src
WORKDIR /src
RUN cp README.md README && \
autoreconf -fi && \
./configure --enable-static && \
make
+12
View File
@@ -0,0 +1,12 @@
Copyright (C) 2025 by Kris Lamoureux
Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+27
View File
@@ -0,0 +1,27 @@
# xstow-builder
Reproducible static build of `xstow` for systems where `stow` or `xstow` isn't
already available. Unlike `stow`, which requires Perl and it's dependencies,
this statically-linked `xstow` binary is self-contained and can be dropped into
`~/.local/bin` without any installation requirements.
## Build
Running the `docker-compose.yml` will spin up a Rocky Linux container, compile
`xstow` with static linking, and output the binary to `./build/xstow` in your
local repository.
Podman:
podman-compose up --build
Docker:
docker compose up --build
Binary output: `./build/xstow`
## License
This project is released under the 0BSD license, which allows for unrestricted
use, modification, and distribution.
+8
View File
@@ -0,0 +1,8 @@
services:
xstow-builder:
build:
context: .
volumes:
- ./build:/build
command: >
bash -c "cp /src/src/xstow-static /build/xstow"