summaryrefslogtreecommitdiffstats
path: root/src/utau/openutau
diff options
context:
space:
mode:
authorLibravatarLarge Libravatar memdmp <memdmpestrogenzone>2025-06-14 04:00:02 +0200
committerLibravatarLarge Libravatar memdmp <memdmpestrogenzone>2025-06-14 04:00:02 +0200
commit7bcb3e2713be520b8dfc49d005a3fadeb16d903c (patch)
treeed890020a0d84cb8f690e648c7b3f5afedb450c9 /src/utau/openutau
parent5d1545b827527ab11aea8a50bba14b38651485d8 (diff)
downloadalpine-packages-7bcb3e2713be520b8dfc49d005a3fadeb16d903c.tar.gz
alpine-packages-7bcb3e2713be520b8dfc49d005a3fadeb16d903c.tar.bz2
alpine-packages-7bcb3e2713be520b8dfc49d005a3fadeb16d903c.tar.lz
alpine-packages-7bcb3e2713be520b8dfc49d005a3fadeb16d903c.zip

utau/openutau: The initial working openutau package

Diffstat (limited to 'src/utau/openutau')
-rw-r--r--src/utau/openutau/APKBUILD68
-rwxr-xr-xsrc/utau/openutau/build-worldline14
-rw-r--r--src/utau/openutau/openutau.desktop9
-rw-r--r--src/utau/openutau/openutau.svg1
4 files changed, 76 insertions, 16 deletions
diff --git a/src/utau/openutau/APKBUILD b/src/utau/openutau/APKBUILD
index a814654..e6ad5c7 100644
--- a/src/utau/openutau/APKBUILD
+++ b/src/utau/openutau/APKBUILD
@@ -2,38 +2,74 @@
_reponame="OpenUtau"
_repoowner="stakira"
_repourl="https://github.com/$_repoowner/$_reponame"
+_reporef="c3ff44b01f5dcd0ef1bbdb5aa11ef1319cab3a03" # Must be a TAG OR BRANCH! Anything else may break shit.
+_reporefdate="20250610" # YYYYMMDD of the ref
+_buildtarget="Release" # or `Debug` for testing
pkgname="openutau"
-pkgver=0.1.529
+pkgver=0.1.529 # for refs that aren't tags, use the previous release before it!
pkgrel=0
pkgdesc="Open singing synthesis platform / Open source UTAU successor"
url="https://www.openutau.com/"
-arch="noarch"
+arch="x86_64"
license="MIT"
-depends=""
+
+# ld-linux-x86-64.so.2 is provided by gcompat
+# so:libfontconfig.so.1 is provided by fontconfig
+depends="dotnet8-runtime so:ld-linux-x86-64.so.2 so:libfontconfig.so.1"
+
# Docs say to use .NET 6, but thats testing repos only
-makedepends="dotnet9-sdk"
+# Bazel 8 and 9 remove required features for worldline for some reason.
+makedepends="dotnet8-sdk musl-dev zsh bazel7@testing linux-headers"
+
install=""
subpackages=""
-source="$_reponame-build-$pkgver.tar.gz::$_repourl/archive/refs/tags/build/$pkgver.tar.gz"
-builddir="$srcdir/$_reponame-build-$pkgver"
-options="net !check"
+
+options="net !check" # network needed for dotnet restore, no check due to laziness for now
+
+# for when we're building off of a commit
+if [[ "$pkgver" != "$_reporef" ]] && [[ "$pkgver" != "v$_reporef" ]]; then pkgver="${pkgver}_git${_reporefdate}"; fi
+
+source="${_reponame}-${_reporef}.tar.gz::${_repourl}/archive/${_reporef}.tar.gz
+ build-worldline
+ openutau.desktop
+ openutau.svg"
+builddir="${srcdir}/${_reponame}-${_reporef}"
build() {
cd "$builddir"
- # TODO: figure out how to move into a snapshot()
- dotnet restore OpenUtau
- dotnet build OpenUtau
- return 0
+ rm -rf runtimes/linux-*
+
+ # Build worldline
+ builddir="$builddir" CARCH="$CARCH" "${srcdir}/build-worldline"
+
+ # Build openutau itself
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ # TODO: figure out how to move dotnet shit into a snapshot()
+ dotnet restore --locked-mode --use-current-runtime --disable-build-servers --locked-mode OpenUtau
+ dotnet publish OpenUtau --use-current-runtime --no-restore --no-self-contained --disable-build-servers "-p:PublishSingleFile=true;StaticExecutable=true" -c "$_buildtarget" -o "$builddir/OpenUtau/bin/${_buildtarget}"
}
package() {
- mkdir -p "$pkgdir"
- ls "$builddir/OpenUtau/bin/"*
- # TODO: do things here
- return 0
+ _outdir="$builddir/OpenUtau/bin/${_buildtarget}"
+
+ # Install the main binary
+ install -Dm755 "$_outdir/OpenUtau" "$pkgdir/usr/lib/openutau/OpenUtau"
+ ln -s "../lib/openutau/OpenUtau" "$pkgdir/usr/bin/openutau"
+
+ # Install dependencies
+ # TODO: somehow split these into different packages
+ install -Dm755 "$_outdir/libHarfBuzzSharp.so" "$pkgdir/usr/lib/openutau/libHarfBuzzSharp.so"
+ install -Dm755 "$_outdir/libSkiaSharp.so" "$pkgdir/usr/lib/openutau/libSkiaSharp.so"
+
+ # Install desktop icons
+ install -Dm755 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+ install -Dm644 "${pkgname}.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/${pkgname}.svg"
}
sha512sums="
-29711ebcc3f3f81484714b8e3a830cf4e8f17b990de59c6734b19d30c18b75aa79fd68688827adfc6c82e05903bc7ac1552bd5b62527b3deaace33541c52ad9e OpenUtau-build-0.1.529.tar.gz
+d9fd1b694a7c204800a566e12c3b5ac755072236c6f86b59ee00c6762854e9b0982ae66a3d7bab0772ca811eeb2aee39df28404ca6c195f4e881a8be61f5db03 OpenUtau-c3ff44b01f5dcd0ef1bbdb5aa11ef1319cab3a03.tar.gz
+49a405f189156c3873b49f3f3b9b5f95a1e432bcebd140d4a2a10d48eba1a7ed7bb8b0c9365f23f18a1f6adb067eb4027550bb44e1c4816d1b6ff4df2b520a89 build-worldline
+ecd2480ef21ac77678f727f848120590e052c48b9027da98eabcbf3a6dcc4cc250b8528e9d4e82ba7ea787b8978f5d2ea14d20065dace516c93d25022570ff11 openutau.desktop
+3c8118d019c02b3f5b49c5f714229f9687169b3a1943adf48bf3980b5fc3304852bfc568aa7166eae5ea91e6bd7ff3903927e6ad94c2e7dc8fd9d56bd02f82ee openutau.svg
"
diff --git a/src/utau/openutau/build-worldline b/src/utau/openutau/build-worldline
new file mode 100755
index 0000000..1da3da7
--- /dev/null
+++ b/src/utau/openutau/build-worldline
@@ -0,0 +1,14 @@
+#!/usr/bin/env zsh
+set -e
+cd cpp
+_bazel_opts=()
+case "$CARCH" in
+ aarch64*|arm*) _runtime_dir="$builddir/runtimes/linux-x64";_bazel_opts+=("--cpu=k8") ;;
+ x86|x86_64) _runtime_dir="$builddir/runtimes/linux-arm64";_bazel_opts+=("--config=ubuntu-aarch64") ;;
+ *) echo "Unable to determine a supported architecture from (CARCH=$CARCH)" ; return 1 ;;
+esac
+mkdir -p "$_runtime_dir"
+bazel build //worldline:worldline -c opt "${_bazel_opts[@]}"
+chmod +w bazel-bin/worldline/libworldline.so
+cp bazel-bin/worldline/libworldline.so "$_runtime_dir"/native
+cd ..
diff --git a/src/utau/openutau/openutau.desktop b/src/utau/openutau/openutau.desktop
new file mode 100644
index 0000000..2f3b8f4
--- /dev/null
+++ b/src/utau/openutau/openutau.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=OpenUtau
+Terminal=false
+Type=Application
+Comment=Open source UTAU successor
+GenericName=Utau
+Exec=/usr/bin/openutau
+Icon=openutau
+Categories=Music;AudioVideo;
diff --git a/src/utau/openutau/openutau.svg b/src/utau/openutau/openutau.svg
new file mode 100644
index 0000000..29e8739
--- /dev/null
+++ b/src/utau/openutau/openutau.svg
@@ -0,0 +1 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240"><defs><style>.cls-1,.cls-4{fill:#ff71a3;}.cls-1,.cls-2,.cls-3,.cls-5{fill-rule:evenodd;}.cls-2{fill:#333;}.cls-3{fill:#4ea6ea;}.cls-5,.cls-6{fill:#fff;}</style></defs><title>Artboard 1</title><path class="cls-1" d="M240,145.49V240H0V196.51Z"/><path class="cls-2" d="M0,197.37V95.14l240-51V146.36Z"/><path class="cls-3" d="M240,44.73,0,95.74V0H240Z"/><path class="cls-4" d="M100.81,168h22L154.15,40H132Z"/><path class="cls-5" d="M177.26,58v2.48a11.26,11.26,0,0,1-22.52,0V40H132V60.85C132,79.33,147.05,94,166,94c18.72,0,34-14.67,34-33.15V53.21Z"/><path class="cls-6" d="M40,158.11A42,42,0,1,0,81.94,116,41.85,41.85,0,0,0,40,158.11Zm62-.11A20,20,0,1,1,81.94,138,20.11,20.11,0,0,1,102,158Z"/></svg> \ No newline at end of file