mirror of
https://codeberg.org/armin/wavetable.git
synced 2026-09-01 05:50:46 +02:00
Fix line endings
This commit is contained in:
parent
386a89cc9a
commit
0677dce6dd
2 changed files with 221 additions and 221 deletions
|
|
@ -1,97 +1,97 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Build Linux .deb package for Wavetable
|
# Build Linux .deb package for Wavetable
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||||
VERSION="${VERSION:-1.0.0}"
|
VERSION="${VERSION:-1.0.0}"
|
||||||
PLUGIN_NAME="Wavetable"
|
PLUGIN_NAME="Wavetable"
|
||||||
PACKAGE_NAME="wavetable"
|
PACKAGE_NAME="wavetable"
|
||||||
ARCH="amd64"
|
ARCH="amd64"
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
BIN_DIR="$ROOT_DIR/ci/bin"
|
BIN_DIR="$ROOT_DIR/ci/bin"
|
||||||
DEB_ROOT="$SCRIPT_DIR/deb_root"
|
DEB_ROOT="$SCRIPT_DIR/deb_root"
|
||||||
OUTPUT_DIR="$SCRIPT_DIR/output"
|
OUTPUT_DIR="$SCRIPT_DIR/output"
|
||||||
|
|
||||||
echo "Building Wavetable $VERSION .deb package..."
|
echo "Building Wavetable $VERSION .deb package..."
|
||||||
|
|
||||||
# Clean and create directories
|
# Clean and create directories
|
||||||
rm -rf "$DEB_ROOT" "$OUTPUT_DIR"
|
rm -rf "$DEB_ROOT" "$OUTPUT_DIR"
|
||||||
mkdir -p "$DEB_ROOT"
|
mkdir -p "$DEB_ROOT"
|
||||||
mkdir -p "$OUTPUT_DIR"
|
mkdir -p "$OUTPUT_DIR"
|
||||||
|
|
||||||
# Create package structure
|
# Create package structure
|
||||||
mkdir -p "$DEB_ROOT/DEBIAN"
|
mkdir -p "$DEB_ROOT/DEBIAN"
|
||||||
mkdir -p "$DEB_ROOT/usr/lib/vst"
|
mkdir -p "$DEB_ROOT/usr/lib/vst"
|
||||||
mkdir -p "$DEB_ROOT/usr/lib/vst3"
|
mkdir -p "$DEB_ROOT/usr/lib/vst3"
|
||||||
mkdir -p "$DEB_ROOT/usr/lib/lv2"
|
mkdir -p "$DEB_ROOT/usr/lib/lv2"
|
||||||
mkdir -p "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Wavetables"
|
mkdir -p "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Wavetables"
|
||||||
mkdir -p "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Presets"
|
mkdir -p "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Presets"
|
||||||
|
|
||||||
# Copy plugins
|
# Copy plugins
|
||||||
if [ -f "$BIN_DIR/vst/$PLUGIN_NAME.so" ]; then
|
if [ -f "$BIN_DIR/vst/$PLUGIN_NAME.so" ]; then
|
||||||
cp "$BIN_DIR/vst/$PLUGIN_NAME.so" "$DEB_ROOT/usr/lib/vst/"
|
cp "$BIN_DIR/vst/$PLUGIN_NAME.so" "$DEB_ROOT/usr/lib/vst/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" ]; then
|
if [ -d "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" ]; then
|
||||||
cp -R "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" "$DEB_ROOT/usr/lib/vst3/"
|
cp -R "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" "$DEB_ROOT/usr/lib/vst3/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "$BIN_DIR/lv2/$PLUGIN_NAME.lv2" ]; then
|
if [ -d "$BIN_DIR/lv2/$PLUGIN_NAME.lv2" ]; then
|
||||||
cp -R "$BIN_DIR/lv2/$PLUGIN_NAME.lv2" "$DEB_ROOT/usr/lib/lv2/"
|
cp -R "$BIN_DIR/lv2/$PLUGIN_NAME.lv2" "$DEB_ROOT/usr/lib/lv2/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Copy wavetables and presets
|
# Copy wavetables and presets
|
||||||
cp -R "$ROOT_DIR/plugin/Resources/WavetablesFLAC/"* "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Wavetables/"
|
cp -R "$ROOT_DIR/plugin/Resources/WavetablesFLAC/"* "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Wavetables/"
|
||||||
cp -R "$ROOT_DIR/plugin/Resources/Presets/"* "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Presets/"
|
cp -R "$ROOT_DIR/plugin/Resources/Presets/"* "$DEB_ROOT/usr/share/SocaLabs/Wavetable/Presets/"
|
||||||
|
|
||||||
# Calculate installed size (in KB)
|
# Calculate installed size (in KB)
|
||||||
INSTALLED_SIZE=$(du -sk "$DEB_ROOT" | cut -f1)
|
INSTALLED_SIZE=$(du -sk "$DEB_ROOT" | cut -f1)
|
||||||
|
|
||||||
# Create control file
|
# Create control file
|
||||||
cat > "$DEB_ROOT/DEBIAN/control" << EOF
|
cat > "$DEB_ROOT/DEBIAN/control" << EOF
|
||||||
Package: $PACKAGE_NAME
|
Package: $PACKAGE_NAME
|
||||||
Version: $VERSION
|
Version: $VERSION
|
||||||
Section: sound
|
Section: sound
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: $ARCH
|
Architecture: $ARCH
|
||||||
Installed-Size: $INSTALLED_SIZE
|
Installed-Size: $INSTALLED_SIZE
|
||||||
Maintainer: SocaLabs <support@socalabs.com>
|
Maintainer: SocaLabs <support@socalabs.com>
|
||||||
Homepage: https://socalabs.com
|
Homepage: https://socalabs.com
|
||||||
Description: Wavetable Synthesizer Plugin
|
Description: Wavetable Synthesizer Plugin
|
||||||
Wavetable is a powerful wavetable synthesizer available as
|
Wavetable is a powerful wavetable synthesizer available as
|
||||||
VST2, VST3, and LV2 plugins for Linux.
|
VST2, VST3, and LV2 plugins for Linux.
|
||||||
.
|
.
|
||||||
Features:
|
Features:
|
||||||
- Dual wavetable oscillators
|
- Dual wavetable oscillators
|
||||||
- Multiple filter types
|
- Multiple filter types
|
||||||
- Extensive modulation matrix
|
- Extensive modulation matrix
|
||||||
- Built-in effects
|
- Built-in effects
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Create postinst script
|
# Create postinst script
|
||||||
cat > "$DEB_ROOT/DEBIAN/postinst" << 'EOF'
|
cat > "$DEB_ROOT/DEBIAN/postinst" << 'EOF'
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Update plugin caches if available
|
# Update plugin caches if available
|
||||||
if command -v update-mime-database &> /dev/null; then
|
if command -v update-mime-database &> /dev/null; then
|
||||||
update-mime-database /usr/share/mime || true
|
update-mime-database /usr/share/mime || true
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
EOF
|
EOF
|
||||||
chmod 755 "$DEB_ROOT/DEBIAN/postinst"
|
chmod 755 "$DEB_ROOT/DEBIAN/postinst"
|
||||||
|
|
||||||
# Set permissions
|
# Set permissions
|
||||||
find "$DEB_ROOT" -type d -exec chmod 755 {} \;
|
find "$DEB_ROOT" -type d -exec chmod 755 {} \;
|
||||||
find "$DEB_ROOT/usr" -type f -exec chmod 644 {} \;
|
find "$DEB_ROOT/usr" -type f -exec chmod 644 {} \;
|
||||||
find "$DEB_ROOT/usr/lib" -name "*.so" -exec chmod 755 {} \;
|
find "$DEB_ROOT/usr/lib" -name "*.so" -exec chmod 755 {} \;
|
||||||
|
|
||||||
# Build the package
|
# Build the package
|
||||||
DEB_FILE="$OUTPUT_DIR/${PACKAGE_NAME}_${VERSION}_${ARCH}.deb"
|
DEB_FILE="$OUTPUT_DIR/${PACKAGE_NAME}_${VERSION}_${ARCH}.deb"
|
||||||
dpkg-deb --build "$DEB_ROOT" "$DEB_FILE"
|
dpkg-deb --build "$DEB_ROOT" "$DEB_FILE"
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
rm -rf "$DEB_ROOT"
|
rm -rf "$DEB_ROOT"
|
||||||
|
|
||||||
echo "Done! Package created: $DEB_FILE"
|
echo "Done! Package created: $DEB_FILE"
|
||||||
|
|
|
||||||
|
|
@ -1,124 +1,124 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Build macOS installer package for Wavetable
|
# Build macOS installer package for Wavetable
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||||
VERSION="${VERSION:-1.0.0}"
|
VERSION="${VERSION:-1.0.0}"
|
||||||
PLUGIN_NAME="Wavetable"
|
PLUGIN_NAME="Wavetable"
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
BIN_DIR="$ROOT_DIR/ci/bin"
|
BIN_DIR="$ROOT_DIR/ci/bin"
|
||||||
PKG_ROOT="$SCRIPT_DIR/pkg_root"
|
PKG_ROOT="$SCRIPT_DIR/pkg_root"
|
||||||
OUTPUT_DIR="$SCRIPT_DIR/output"
|
OUTPUT_DIR="$SCRIPT_DIR/output"
|
||||||
|
|
||||||
# Signing identities (set via environment or leave empty for unsigned)
|
# Signing identities (set via environment or leave empty for unsigned)
|
||||||
DEV_APP_ID="${DEV_APP_ID:-}"
|
DEV_APP_ID="${DEV_APP_ID:-}"
|
||||||
DEV_INST_ID="${DEV_INST_ID:-}"
|
DEV_INST_ID="${DEV_INST_ID:-}"
|
||||||
|
|
||||||
echo "Building Wavetable $VERSION installer..."
|
echo "Building Wavetable $VERSION installer..."
|
||||||
|
|
||||||
# Clean and create directories
|
# Clean and create directories
|
||||||
rm -rf "$PKG_ROOT" "$OUTPUT_DIR"
|
rm -rf "$PKG_ROOT" "$OUTPUT_DIR"
|
||||||
mkdir -p "$PKG_ROOT"
|
mkdir -p "$PKG_ROOT"
|
||||||
mkdir -p "$OUTPUT_DIR"
|
mkdir -p "$OUTPUT_DIR"
|
||||||
|
|
||||||
# Create package root structure
|
# Create package root structure
|
||||||
mkdir -p "$PKG_ROOT/Library/Audio/Plug-Ins/VST"
|
mkdir -p "$PKG_ROOT/Library/Audio/Plug-Ins/VST"
|
||||||
mkdir -p "$PKG_ROOT/Library/Audio/Plug-Ins/VST3"
|
mkdir -p "$PKG_ROOT/Library/Audio/Plug-Ins/VST3"
|
||||||
mkdir -p "$PKG_ROOT/Library/Audio/Plug-Ins/Components"
|
mkdir -p "$PKG_ROOT/Library/Audio/Plug-Ins/Components"
|
||||||
mkdir -p "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Wavetables"
|
mkdir -p "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Wavetables"
|
||||||
mkdir -p "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Presets"
|
mkdir -p "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Presets"
|
||||||
|
|
||||||
# Copy plugins
|
# Copy plugins
|
||||||
if [ -d "$BIN_DIR/vst/$PLUGIN_NAME.vst" ]; then
|
if [ -d "$BIN_DIR/vst/$PLUGIN_NAME.vst" ]; then
|
||||||
cp -R "$BIN_DIR/vst/$PLUGIN_NAME.vst" "$PKG_ROOT/Library/Audio/Plug-Ins/VST/"
|
cp -R "$BIN_DIR/vst/$PLUGIN_NAME.vst" "$PKG_ROOT/Library/Audio/Plug-Ins/VST/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" ]; then
|
if [ -d "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" ]; then
|
||||||
cp -R "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" "$PKG_ROOT/Library/Audio/Plug-Ins/VST3/"
|
cp -R "$BIN_DIR/vst3/$PLUGIN_NAME.vst3" "$PKG_ROOT/Library/Audio/Plug-Ins/VST3/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "$BIN_DIR/au/$PLUGIN_NAME.component" ]; then
|
if [ -d "$BIN_DIR/au/$PLUGIN_NAME.component" ]; then
|
||||||
cp -R "$BIN_DIR/au/$PLUGIN_NAME.component" "$PKG_ROOT/Library/Audio/Plug-Ins/Components/"
|
cp -R "$BIN_DIR/au/$PLUGIN_NAME.component" "$PKG_ROOT/Library/Audio/Plug-Ins/Components/"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Copy wavetables and presets
|
# Copy wavetables and presets
|
||||||
cp -R "$ROOT_DIR/plugin/Resources/WavetablesFLAC/"* "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Wavetables/"
|
cp -R "$ROOT_DIR/plugin/Resources/WavetablesFLAC/"* "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Wavetables/"
|
||||||
cp -R "$ROOT_DIR/plugin/Resources/Presets/"* "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Presets/"
|
cp -R "$ROOT_DIR/plugin/Resources/Presets/"* "$PKG_ROOT/Library/Application Support/SocaLabs/Wavetable/Presets/"
|
||||||
|
|
||||||
# Set permissions
|
# Set permissions
|
||||||
chmod -R 755 "$PKG_ROOT/Library/Audio"
|
chmod -R 755 "$PKG_ROOT/Library/Audio"
|
||||||
chmod -R 755 "$PKG_ROOT/Library/Application Support"
|
chmod -R 755 "$PKG_ROOT/Library/Application Support"
|
||||||
|
|
||||||
# Build component package
|
# Build component package
|
||||||
pkgbuild --root "$PKG_ROOT" \
|
pkgbuild --root "$PKG_ROOT" \
|
||||||
--identifier "com.socalabs.wavetable.pkg" \
|
--identifier "com.socalabs.wavetable.pkg" \
|
||||||
--version "$VERSION" \
|
--version "$VERSION" \
|
||||||
--install-location "/" \
|
--install-location "/" \
|
||||||
"$OUTPUT_DIR/Wavetable-component.pkg"
|
"$OUTPUT_DIR/Wavetable-component.pkg"
|
||||||
|
|
||||||
# Create distribution.xml
|
# Create distribution.xml
|
||||||
cat > "$OUTPUT_DIR/distribution.xml" << EOF
|
cat > "$OUTPUT_DIR/distribution.xml" << EOF
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<installer-gui-script minSpecVersion="1">
|
<installer-gui-script minSpecVersion="1">
|
||||||
<title>Wavetable $VERSION</title>
|
<title>Wavetable $VERSION</title>
|
||||||
<organization>com.socalabs</organization>
|
<organization>com.socalabs</organization>
|
||||||
<domains enable_localSystem="true"/>
|
<domains enable_localSystem="true"/>
|
||||||
<options customize="never" require-scripts="true" rootVolumeOnly="true" />
|
<options customize="never" require-scripts="true" rootVolumeOnly="true" />
|
||||||
<welcome file="welcome.txt" mime-type="text/plain" />
|
<welcome file="welcome.txt" mime-type="text/plain" />
|
||||||
<choices-outline>
|
<choices-outline>
|
||||||
<line choice="default">
|
<line choice="default">
|
||||||
<line choice="com.socalabs.wavetable.pkg"/>
|
<line choice="com.socalabs.wavetable.pkg"/>
|
||||||
</line>
|
</line>
|
||||||
</choices-outline>
|
</choices-outline>
|
||||||
<choice id="default"/>
|
<choice id="default"/>
|
||||||
<choice id="com.socalabs.wavetable.pkg" visible="false">
|
<choice id="com.socalabs.wavetable.pkg" visible="false">
|
||||||
<pkg-ref id="com.socalabs.wavetable.pkg"/>
|
<pkg-ref id="com.socalabs.wavetable.pkg"/>
|
||||||
</choice>
|
</choice>
|
||||||
<pkg-ref id="com.socalabs.wavetable.pkg" version="$VERSION" onConclusion="none">Wavetable-component.pkg</pkg-ref>
|
<pkg-ref id="com.socalabs.wavetable.pkg" version="$VERSION" onConclusion="none">Wavetable-component.pkg</pkg-ref>
|
||||||
</installer-gui-script>
|
</installer-gui-script>
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Create welcome text
|
# Create welcome text
|
||||||
cat > "$OUTPUT_DIR/welcome.txt" << EOF
|
cat > "$OUTPUT_DIR/welcome.txt" << EOF
|
||||||
Welcome to the Wavetable $VERSION installer.
|
Welcome to the Wavetable $VERSION installer.
|
||||||
|
|
||||||
This will install:
|
This will install:
|
||||||
- Wavetable VST2 plugin
|
- Wavetable VST2 plugin
|
||||||
- Wavetable VST3 plugin
|
- Wavetable VST3 plugin
|
||||||
- Wavetable AU plugin
|
- Wavetable AU plugin
|
||||||
- Factory wavetables
|
- Factory wavetables
|
||||||
- Factory presets
|
- Factory presets
|
||||||
|
|
||||||
Click Continue to proceed with the installation.
|
Click Continue to proceed with the installation.
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Build product archive
|
# Build product archive
|
||||||
UNSIGNED_PKG="$OUTPUT_DIR/${PLUGIN_NAME}_${VERSION}_Mac_unsigned.pkg"
|
UNSIGNED_PKG="$OUTPUT_DIR/${PLUGIN_NAME}_${VERSION}_Mac_unsigned.pkg"
|
||||||
SIGNED_PKG="$OUTPUT_DIR/${PLUGIN_NAME}_${VERSION}_Mac.pkg"
|
SIGNED_PKG="$OUTPUT_DIR/${PLUGIN_NAME}_${VERSION}_Mac.pkg"
|
||||||
|
|
||||||
productbuild --distribution "$OUTPUT_DIR/distribution.xml" \
|
productbuild --distribution "$OUTPUT_DIR/distribution.xml" \
|
||||||
--package-path "$OUTPUT_DIR" \
|
--package-path "$OUTPUT_DIR" \
|
||||||
--resources "$OUTPUT_DIR" \
|
--resources "$OUTPUT_DIR" \
|
||||||
"$UNSIGNED_PKG"
|
"$UNSIGNED_PKG"
|
||||||
|
|
||||||
# Sign if identity is available
|
# Sign if identity is available
|
||||||
if [ -n "$DEV_INST_ID" ]; then
|
if [ -n "$DEV_INST_ID" ]; then
|
||||||
echo "Signing installer..."
|
echo "Signing installer..."
|
||||||
productsign --sign "$DEV_INST_ID" "$UNSIGNED_PKG" "$SIGNED_PKG"
|
productsign --sign "$DEV_INST_ID" "$UNSIGNED_PKG" "$SIGNED_PKG"
|
||||||
rm "$UNSIGNED_PKG"
|
rm "$UNSIGNED_PKG"
|
||||||
echo "Signed installer: $SIGNED_PKG"
|
echo "Signed installer: $SIGNED_PKG"
|
||||||
else
|
else
|
||||||
mv "$UNSIGNED_PKG" "$SIGNED_PKG"
|
mv "$UNSIGNED_PKG" "$SIGNED_PKG"
|
||||||
echo "Unsigned installer: $SIGNED_PKG"
|
echo "Unsigned installer: $SIGNED_PKG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
rm -rf "$PKG_ROOT"
|
rm -rf "$PKG_ROOT"
|
||||||
rm -f "$OUTPUT_DIR/Wavetable-component.pkg"
|
rm -f "$OUTPUT_DIR/Wavetable-component.pkg"
|
||||||
rm -f "$OUTPUT_DIR/distribution.xml"
|
rm -f "$OUTPUT_DIR/distribution.xml"
|
||||||
rm -f "$OUTPUT_DIR/welcome.txt"
|
rm -f "$OUTPUT_DIR/welcome.txt"
|
||||||
|
|
||||||
echo "Done! Installer created: $SIGNED_PKG"
|
echo "Done! Installer created: $SIGNED_PKG"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue