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