diff --git a/generate_pkgbuild.sh b/generate_pkgbuild.sh new file mode 100755 index 00000000..366aba0c --- /dev/null +++ b/generate_pkgbuild.sh @@ -0,0 +1,58 @@ +#!/bin/bash +set -e + +CLONE_URL="https://izackpgit.duckdns.org/izackp/Apollo.git" +REPO_DIR="$(dirname "$0")" +BUILD_DIR="$REPO_DIR/build" +PKG_DIR="$REPO_DIR/pkg" + +COMMIT=$(git rev-parse HEAD) +BRANCH=$(git rev-parse --abbrev-ref HEAD) + +RAW_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") +BUILD_VERSION="${RAW_TAG#v}" + +COMMIT_SHORT=$(git rev-parse --short HEAD) +COMMIT_COUNT=$(git rev-list "${RAW_TAG}..HEAD" --count) + +if [[ "$COMMIT_COUNT" -gt 0 ]]; then + sub_version=".r${COMMIT_COUNT}.g${COMMIT_SHORT}" +else + sub_version="" +fi + +echo "BRANCH: $BRANCH" +echo "BUILD_VERSION: $BUILD_VERSION" +echo "SUB_VERSION: $sub_version" +echo "COMMIT: $COMMIT" +echo "CLONE_URL: $CLONE_URL" +echo "" + +# Generate PKGBUILD +mkdir -p "$BUILD_DIR" + +BRANCH="$BRANCH" \ +BUILD_VERSION="$BUILD_VERSION" \ +CLONE_URL="$CLONE_URL" \ +COMMIT="$COMMIT" \ +cmake \ + -DSUNSHINE_CONFIGURE_ONLY=ON \ + -DSUNSHINE_CONFIGURE_PKGBUILD=ON \ + -DSUNSHINE_SUB_VERSION="$sub_version" \ + -S "$REPO_DIR" \ + -B "$BUILD_DIR" + +# Set up pkg directory +mkdir -p "$PKG_DIR" +cp "$BUILD_DIR/PKGBUILD" "$PKG_DIR/" +cp "$BUILD_DIR/sunshine.install" "$PKG_DIR/" + +# Generate .SRCINFO +cd "$PKG_DIR" +makepkg --printsrcinfo > .SRCINFO + +# Build the package +makepkg -s --noconfirm + +echo "" +echo "Package built in $PKG_DIR"