diff --git a/archlinuxcn/sylvakru/0001-fix-build-error.patch b/archlinuxcn/sylvakru/0001-fix-build-error.patch new file mode 100644 index 00000000000..e2c462e36d4 --- /dev/null +++ b/archlinuxcn/sylvakru/0001-fix-build-error.patch @@ -0,0 +1,27 @@ +From 466de2f3476b01df9ddc452d95dc65b868951b21 Mon Sep 17 00:00:00 2001 +From: Dee HY +Date: Sun, 24 May 2026 09:23:32 +0800 +Subject: [PATCH] fix build error + +Signed-off-by: Dee HY +--- + linux/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt +index 12ed22c..5ef57ba 100644 +--- a/linux/CMakeLists.txt ++++ b/linux/CMakeLists.txt +@@ -44,6 +44,9 @@ function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") ++ # FIXME: workaround for tray_manager deprecation issue: ++ # https://github.com/leanflutter/tray_manager/issues/67 ++ target_compile_options(${TARGET} PRIVATE -Wno-error=deprecated-declarations) # Allow deprecated warnings + endfunction() + + # Flutter library and tool build rules. +-- +2.54.0 + diff --git a/archlinuxcn/sylvakru/PKGBUILD b/archlinuxcn/sylvakru/PKGBUILD new file mode 100644 index 00000000000..6366acf1e18 --- /dev/null +++ b/archlinuxcn/sylvakru/PKGBUILD @@ -0,0 +1,99 @@ +# Maintainer: Dee.H.Y + +pkgname="sylvakru" +pkgver=3.0.0 +pkgrel=1 +pkgdesc="A cross-platform music player for local and self-hosted libraries, built with Flutter." +url="https://github.com/AfalpHy/sylvakru" +license=('Apache-2.0') +arch=('x86_64' 'aarch64') +_flutterver=3.41.7 +depends=( + 'at-spi2-core' + 'cairo' + 'fontconfig' + 'glib2' + 'glibc' + 'gtk3' + 'libayatana-appindicator' + 'libepoxy' + 'libgcc' + 'libstdc++' + 'pango' +) +makedepends=( + 'clang' + 'cmake' + 'fvm' + 'lld' + 'llvm' + 'ninja' + 'patchelf' + 'rustup' +) + +_pkgsrc="$pkgname-$pkgver" +_pkgext="tar.gz" +source=( + "$_pkgsrc.$_pkgext"::"$url/archive/refs/tags/v$pkgver.$_pkgext" + "com.afalphy.sylvakru.desktop" + "0001-fix-build-error.patch" +) +sha256sums=( + '1f568f2d4bf0d60a7c9350f6f60e06dd9c0c2761c68a67f6f359a8f8a58475f0' + 'd3c495fb546e70d6b809ef61e57b45b8e87e8c123c9d8cf0306a05b8c1cf2b64' + '95d19cfe5055e70df99559bc0a79df399abd615be8de7ef599d3a19904edb1e8' +) + +prepare() { + cd "$_pkgsrc" + patch -p1 -i "${srcdir}/0001-fix-build-error.patch" +} + +build() { + export FVM_CACHE_PATH="$SRCDEST/fvm-cache" + + cd "$_pkgsrc" + fvm install $_flutterver + fvm use $_flutterver + + fvm flutter --disable-analytics + #fvm flutter pub upgrade --major-versions + fvm flutter --no-version-check pub get + fvm flutter clean && fvm flutter build linux --release +} + +package() { + if [ $CARCH == "aarch64" ]; then + FLUTTER_ARCH=arm64 + else + FLUTTER_ARCH=x64 + fi + + cd "$_pkgsrc/build/linux/$FLUTTER_ARCH/release/bundle" + + install -Dm755 "Sylvakru" "$pkgdir/usr/lib/$pkgname/$pkgname" + cp --reflink=auto -r lib/ "$pkgdir/usr/lib/$pkgname/" + cp --reflink=auto -r data/ "$pkgdir/usr/lib/$pkgname/" + + # runpath + patchelf --set-rpath '$ORIGIN/lib' "$pkgdir/usr/lib/$pkgname/$pkgname" + for i in "$pkgdir/usr/lib/$pkgname/lib"/*.so; do + [ -z "$(patchelf --print-rpath "$i")" ] && continue + patchelf --set-rpath '$ORIGIN' "$i" + done + + # symlink + install -dm755 "${pkgdir}/usr/bin" + ln -sfr "$pkgdir/usr/lib/$pkgname/$pkgname" "$pkgdir/usr/bin/${pkgname}" + + # icon + install -Dm644 "$srcdir/$_pkgsrc/app_icons/win_linux.png" \ + "$pkgdir/usr/share/pixmaps/$pkgname.png" + + # .desktop file + install -Dm644 "$srcdir/com.afalphy.sylvakru.desktop" "${pkgdir}/usr/share/applications/com.afalphy.sylvakru.desktop" + + # license + install -Dm644 "$srcdir/$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/archlinuxcn/sylvakru/com.afalphy.sylvakru.desktop b/archlinuxcn/sylvakru/com.afalphy.sylvakru.desktop new file mode 100644 index 00000000000..441dfe7be27 --- /dev/null +++ b/archlinuxcn/sylvakru/com.afalphy.sylvakru.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Type=Application +Name=SylvaKru +Name[zh_CN]=森露 +Comment=A private music oasis in the digital world. +Comment[zh_CN]=数字世界中的私人音乐绿洲。 +Keywords=Music; +Exec=sylvakru +# MimeType=application/claps;application/mpeg4-iod;application/mpeg4-muxcodetable;application/mxf;application/ogg;application/ram;application/sdp;application/streamingmedia;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-ogg;application/x-streamingmedia;audio/3gpp;audio/3gpp2;audio/aac;audio/ac3;audio/amr;audio/amr-wb;audio/basic;audio/dv;audio/eac3;audio/flac;audio/m4a;audio/midi;audio/mp1;audio/mp2;audio/mp3;audio/mp4;audio/mpeg;audio/mpegurl;audio/mpg;audio/ogg;audio/opus;audio/scpls;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.rn-realaudio;audio/wav;audio/webm;audio/x-aac;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-mpg;audio/x-ms-asf;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-wav;audio/x-real-audio;audio/x-realaudio;audio/x-s3m;audio/x-scpls;audio/x-shorten;audio/x-speex;audio/x-tta;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;audio/x-xm;video/3gp;video/3gpp;video/3gpp2;video/divx;video/dv;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/mpeg-system;video/msvideo;video/ogg;video/quicktime;video/vnd.mpegurl;video/vnd.rn-realvideo;video/webm;video/x-avi;video/x-flc;video/x-fli;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-mpeg-system;video/x-mpeg2;video/x-ms-asf;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-msvideo;video/x-nsv;video/x-ogm+ogg;video/x-theora;video/x-theora+ogg;x-content/audio-cdda;x-content/audio-player;x-content/video-dvd;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtmp;x-scheme-handler/rtp;x-scheme-handler/rtsp; +Icon=sylvakru +Terminal=false +Categories=AudioVideo;Audio; +StartupWMClass=musicpod diff --git a/archlinuxcn/sylvakru/lilac.yaml b/archlinuxcn/sylvakru/lilac.yaml new file mode 100644 index 00000000000..fa8cefb2456 --- /dev/null +++ b/archlinuxcn/sylvakru/lilac.yaml @@ -0,0 +1,12 @@ +maintainers: + - github: dongfengweixiao + email: Dee.H.Y + +pre_build_script: update_pkgver_and_pkgrel(_G.newver) +post_build: git_pkgbuild_commit + +update_on: + - source: github + github: AfalpHy/sylvakru + use_latest_release: true + prefix: v