Add containerized xstow static build
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
build
|
25
Dockerfile
Normal file
25
Dockerfile
Normal 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
LICENSE
Normal file
12
LICENSE
Normal 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
README.md
Normal file
27
README.md
Normal 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
docker-compose.yml
Normal file
8
docker-compose.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
services:
|
||||||
|
xstow-builder:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
volumes:
|
||||||
|
- ./build:/build
|
||||||
|
command: >
|
||||||
|
bash -c "cp /src/src/xstow-static /build/xstow"
|
Reference in New Issue
Block a user