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