From 384568d34b9e4094738481a88a9fe88a49020dc6 Mon Sep 17 00:00:00 2001
From: Matthew Ryan Dillon <matthew@akdillon.net>
Date: Fri, 4 Apr 2025 07:08:57 -0400
Subject: [PATCH 1/2] prep for making public (closes #1)

---
 .gitignore |  1 +
 README.md  | 14 ++++++++++
 package.sh | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 90 insertions(+)
 create mode 100644 README.md
 create mode 100755 package.sh

diff --git a/.gitignore b/.gitignore
index ea8c4bf..4f96631 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 /target
+/dist
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9760bf8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,14 @@
+# dsort
+
+bevy/egui desktop app for performing version-based line sorting, and blank-line cleanup of line-delimited data.
+
+this is designed and built specifically for one single person, to help make their life simpler - this is not general-purpose, or one-size-fits all.
+
+## release process
+
+- `mingw` toolchain (`brew install mingw-w64`)
+- `rust`
+
+```bash
+./package.sh
+```
diff --git a/package.sh b/package.sh
new file mode 100755
index 0000000..629a271
--- /dev/null
+++ b/package.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# AI note: this script was generated with AI, and hand-edited
+
+set -e  # Exit on error
+
+PROJECT_NAME=$(grep name Cargo.toml | head -n 1 | cut -d '"' -f 2 || echo "rust-project")
+VERSION=$(grep version Cargo.toml | head -n 1 | cut -d '"' -f 2 || echo "0.1.0")
+OUTPUT_DIR="dist"
+WINDOWS_TARGET="x86_64-pc-windows-gnu"
+MACOS_TARGET="aarch64-apple-darwin"
+
+mkdir -p "$OUTPUT_DIR"
+
+echo "Building $PROJECT_NAME v$VERSION for multiple platforms..."
+
+if ! command -v rustup &> /dev/null; then
+    echo "Error: rustup is not installed. Please install Rust toolchain first."
+    exit 1
+fi
+
+rustup target add "$WINDOWS_TARGET" || echo "Windows target already installed"
+rustup target add "$MACOS_TARGET" || echo "macOS target already installed"
+
+echo "Building for Windows (x86_64)..."
+cargo build --release --target="$WINDOWS_TARGET"
+WINDOWS_BIN_PATH="target/$WINDOWS_TARGET/release/$PROJECT_NAME.exe"
+
+echo "Building for macOS (ARM64)..."
+cargo build --release --target="$MACOS_TARGET"
+MACOS_BIN_PATH="target/$MACOS_TARGET/release/$PROJECT_NAME"
+
+if [ -f "$WINDOWS_BIN_PATH" ]; then
+    echo "Packaging Windows binary..."
+    WINDOWS_PACKAGE="$OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_windows_x86_64"
+    mkdir -p "$WINDOWS_PACKAGE"
+    cp "$WINDOWS_BIN_PATH" "$WINDOWS_PACKAGE/"
+    cp README.md LICENSE* "$WINDOWS_PACKAGE/" 2>/dev/null || true
+
+    echo "Creating Windows zip archive..."
+    (cd "$OUTPUT_DIR" && zip -r "${PROJECT_NAME}_${VERSION}_windows_x86_64.zip" "$(basename "$WINDOWS_PACKAGE")")
+
+    echo "Creating Windows tar.gz archive..."
+    (cd "$OUTPUT_DIR" && tar -czf "${PROJECT_NAME}_${VERSION}_windows_x86_64.tar.gz" "$(basename "$WINDOWS_PACKAGE")")
+
+    rm -rf "$WINDOWS_PACKAGE"
+    echo "Windows packages created:
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_windows_x86_64.zip
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_windows_x86_64.tar.gz"
+else
+    echo "Warning: Windows binary not found at $WINDOWS_BIN_PATH"
+fi
+
+if [ -f "$MACOS_BIN_PATH" ]; then
+    echo "Packaging macOS binary..."
+    MACOS_PACKAGE="$OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_macos_arm64"
+    mkdir -p "$MACOS_PACKAGE"
+    cp "$MACOS_BIN_PATH" "$MACOS_PACKAGE/"
+    cp README.md LICENSE* "$MACOS_PACKAGE/" 2>/dev/null || true
+
+    echo "Creating macOS zip archive..."
+    (cd "$OUTPUT_DIR" && zip -r "${PROJECT_NAME}_${VERSION}_macos_arm64.zip" "$(basename "$MACOS_PACKAGE")")
+
+    echo "Creating macOS tar.gz archive..."
+    (cd "$OUTPUT_DIR" && tar -czf "${PROJECT_NAME}_${VERSION}_macos_arm64.tar.gz" "$(basename "$MACOS_PACKAGE")")
+
+    rm -rf "$MACOS_PACKAGE"
+    echo "macOS packages created:
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_macos_arm64.zip
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_macos_arm64.tar.gz"
+else
+    echo "Warning: macOS binary not found at $MACOS_BIN_PATH"
+fi
+
+echo "Build and packaging complete! Check the $OUTPUT_DIR directory for the packaged binaries."

From 2e1612a714d0cac39e017c9cfa0c91ee0ede8612 Mon Sep 17 00:00:00 2001
From: Matthew Ryan Dillon <matthew@akdillon.net>
Date: Fri, 4 Apr 2025 07:08:57 -0400
Subject: [PATCH 2/2] prep for making public (closes #1 closes #2)

---
 .gitignore |  1 +
 README.md  | 14 ++++++++++
 package.sh | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 90 insertions(+)
 create mode 100644 README.md
 create mode 100755 package.sh

diff --git a/.gitignore b/.gitignore
index ea8c4bf..4f96631 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 /target
+/dist
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9760bf8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,14 @@
+# dsort
+
+bevy/egui desktop app for performing version-based line sorting, and blank-line cleanup of line-delimited data.
+
+this is designed and built specifically for one single person, to help make their life simpler - this is not general-purpose, or one-size-fits all.
+
+## release process
+
+- `mingw` toolchain (`brew install mingw-w64`)
+- `rust`
+
+```bash
+./package.sh
+```
diff --git a/package.sh b/package.sh
new file mode 100755
index 0000000..629a271
--- /dev/null
+++ b/package.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+
+# AI note: this script was generated with AI, and hand-edited
+
+set -e  # Exit on error
+
+PROJECT_NAME=$(grep name Cargo.toml | head -n 1 | cut -d '"' -f 2 || echo "rust-project")
+VERSION=$(grep version Cargo.toml | head -n 1 | cut -d '"' -f 2 || echo "0.1.0")
+OUTPUT_DIR="dist"
+WINDOWS_TARGET="x86_64-pc-windows-gnu"
+MACOS_TARGET="aarch64-apple-darwin"
+
+mkdir -p "$OUTPUT_DIR"
+
+echo "Building $PROJECT_NAME v$VERSION for multiple platforms..."
+
+if ! command -v rustup &> /dev/null; then
+    echo "Error: rustup is not installed. Please install Rust toolchain first."
+    exit 1
+fi
+
+rustup target add "$WINDOWS_TARGET" || echo "Windows target already installed"
+rustup target add "$MACOS_TARGET" || echo "macOS target already installed"
+
+echo "Building for Windows (x86_64)..."
+cargo build --release --target="$WINDOWS_TARGET"
+WINDOWS_BIN_PATH="target/$WINDOWS_TARGET/release/$PROJECT_NAME.exe"
+
+echo "Building for macOS (ARM64)..."
+cargo build --release --target="$MACOS_TARGET"
+MACOS_BIN_PATH="target/$MACOS_TARGET/release/$PROJECT_NAME"
+
+if [ -f "$WINDOWS_BIN_PATH" ]; then
+    echo "Packaging Windows binary..."
+    WINDOWS_PACKAGE="$OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_windows_x86_64"
+    mkdir -p "$WINDOWS_PACKAGE"
+    cp "$WINDOWS_BIN_PATH" "$WINDOWS_PACKAGE/"
+    cp README.md LICENSE* "$WINDOWS_PACKAGE/" 2>/dev/null || true
+
+    echo "Creating Windows zip archive..."
+    (cd "$OUTPUT_DIR" && zip -r "${PROJECT_NAME}_${VERSION}_windows_x86_64.zip" "$(basename "$WINDOWS_PACKAGE")")
+
+    echo "Creating Windows tar.gz archive..."
+    (cd "$OUTPUT_DIR" && tar -czf "${PROJECT_NAME}_${VERSION}_windows_x86_64.tar.gz" "$(basename "$WINDOWS_PACKAGE")")
+
+    rm -rf "$WINDOWS_PACKAGE"
+    echo "Windows packages created:
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_windows_x86_64.zip
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_windows_x86_64.tar.gz"
+else
+    echo "Warning: Windows binary not found at $WINDOWS_BIN_PATH"
+fi
+
+if [ -f "$MACOS_BIN_PATH" ]; then
+    echo "Packaging macOS binary..."
+    MACOS_PACKAGE="$OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_macos_arm64"
+    mkdir -p "$MACOS_PACKAGE"
+    cp "$MACOS_BIN_PATH" "$MACOS_PACKAGE/"
+    cp README.md LICENSE* "$MACOS_PACKAGE/" 2>/dev/null || true
+
+    echo "Creating macOS zip archive..."
+    (cd "$OUTPUT_DIR" && zip -r "${PROJECT_NAME}_${VERSION}_macos_arm64.zip" "$(basename "$MACOS_PACKAGE")")
+
+    echo "Creating macOS tar.gz archive..."
+    (cd "$OUTPUT_DIR" && tar -czf "${PROJECT_NAME}_${VERSION}_macos_arm64.tar.gz" "$(basename "$MACOS_PACKAGE")")
+
+    rm -rf "$MACOS_PACKAGE"
+    echo "macOS packages created:
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_macos_arm64.zip
+    - $OUTPUT_DIR/${PROJECT_NAME}_${VERSION}_macos_arm64.tar.gz"
+else
+    echo "Warning: macOS binary not found at $MACOS_BIN_PATH"
+fi
+
+echo "Build and packaging complete! Check the $OUTPUT_DIR directory for the packaged binaries."