diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-10-29 18:23:54 +0100 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-10-29 18:23:54 +0100 |
| commit | ff5785145d08b6a8fc5ab07caab441ed5ccfb2dd (patch) | |
| tree | 490562dd298d00c1490a7a54cafcda1e765326ac | |
| parent | 6c62dcf9a81052dd0686ca84d92d3b11e1dbff76 (diff) | |
| download | libs-lbm-ff5785145d08b6a8fc5ab07caab441ed5ccfb2dd.tar.gz | |
Adding a builder for non nix people
| -rwxr-xr-x | util/build.sh | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/util/build.sh b/util/build.sh new file mode 100755 index 0000000..e296cce --- /dev/null +++ b/util/build.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +set -euo pipefail + +# --- Configuration: package name and version --- +PKG_NAME="kel-lbm" +PKG_VERSION="0.0.2" + +# --- Ensure we're in the Git root --- +if ! GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null); then + echo "Error: Not inside a git repository." + exit 1 +fi +cd "$GIT_ROOT" + +# --- Ensure default.nix exists --- +if [[ ! -f default.nix ]]; then + echo "Error: no default.nix in Git root ($GIT_ROOT)" + exit 1 +fi + +# --- Run build + packaging inside container --- +podman run --rm -it \ + -v "$GIT_ROOT":/workspace \ + -w /workspace \ + -e USER=nix \ + -e PKG_NAME="$PKG_NAME" \ + -e PKG_VERSION="$PKG_VERSION" \ + docker.io/nixos/nix:latest \ + nix-shell -p bash --run " + set -euo pipefail + + # Build the derivation + nix-build default.nix --out-link result + + # Install fpm if missing + if ! command -v fpm >/dev/null 2>&1; then + nix-shell -p rubyPackages.fpm --run 'true' + fi + + # Create .deb package + nix-shell -p rubyPackages.fpm --run \"fpm -s dir -t deb -n \$PKG_NAME -v \$PKG_VERSION -C result --prefix /usr/local .\" + + # Create .rpm package + nix-shell -p rubyPackages.fpm --run \"fpm -s dir -t rpm -n \$PKG_NAME -v \$PKG_VERSION -C result --prefix /usr/local .\" + " + +echo "✅ Build complete!" +echo " - result -> $GIT_ROOT/result" +echo " - ${PKG_NAME}_${PKG_VERSION}.deb and ${PKG_NAME}-${PKG_VERSION}.rpm are in $GIT_ROOT" |
