Compare commits

..

2 Commits

Author SHA1 Message Date
22ab193f83 Merge pull request 'clean up and final touches' (#1) from brian/final into main
Reviewed-on: #1
2026-03-06 13:28:53 -05:00
3bb0ac8aee clean up and final touches 2026-03-06 13:22:54 -05:00
2 changed files with 26 additions and 11 deletions

View File

@@ -4,8 +4,8 @@ let
in in
{ {
pinepods = pkgs.callPackage ./pinepods.nix { pinepods = pkgs.callPackage ./pinepods.nix {
# Pin wasm-bindgen-cli to exactly the version PinePods requires
wasm-bindgen-cli = pkgs.wasm-bindgen-cli_0_2_105; wasm-bindgen-cli = pkgs.wasm-bindgen-cli_0_2_105;
inherit (pkgs) binaryen tailwindcss_3 libayatana-appindicator gst_all_1; inherit (pkgs) binaryen tailwindcss_3 libayatana-appindicator gst_all_1;
}; };
pinepods-frontend = (pkgs.callPackage ./pinepods.nix { }).frontend;
} }

View File

@@ -120,7 +120,7 @@ rustPlatform.buildRustPackage {
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly gst_all_1.gst-plugins-ugly
gst_all_1.gst-libav # for audio codec support gst_all_1.gst-libav
]; ];
OPENSSL_NO_VENDOR = "1"; OPENSSL_NO_VENDOR = "1";
@@ -128,12 +128,12 @@ rustPlatform.buildRustPackage {
preBuild = '' preBuild = ''
chmod -R u+w $NIX_BUILD_TOP/source chmod -R u+w $NIX_BUILD_TOP/source
# Link the pre-built frontend where tauri.conf.json expects it
ln -s ${frontend} $NIX_BUILD_TOP/source/web/dist ln -s ${frontend} $NIX_BUILD_TOP/source/web/dist
# Remove devUrl so Tauri uses frontendDist instead of dev server # Remove devUrl so Tauri serves embedded assets instead of connecting to a dev server
sed -i '/"devUrl"/d' $NIX_BUILD_TOP/source/web/src-tauri/tauri.conf.json sed -i '/"devUrl"/d' $NIX_BUILD_TOP/source/web/src-tauri/tauri.conf.json
echo "=== tauri.conf.json ==="
cat $NIX_BUILD_TOP/source/web/src-tauri/tauri.conf.json | head -10
''; '';
installPhase = '' installPhase = ''
@@ -141,17 +141,32 @@ rustPlatform.buildRustPackage {
install -Dm755 target/x86_64-unknown-linux-gnu/release/app $out/bin/pinepods install -Dm755 target/x86_64-unknown-linux-gnu/release/app $out/bin/pinepods
# Desktop entry
if [ -f ../../pinepods.desktop ]; then if [ -f ../../pinepods.desktop ]; then
install -Dm644 ../../pinepods.desktop $out/share/applications/pinepods.desktop install -Dm644 ../../pinepods.desktop \
$out/share/applications/pinepods.desktop
fi fi
for size in 32x32 64x64 128x128 256x256; do # Icons
for size in 32x32 128x128 256x256; do
if [ -f icons/''${size}.png ]; then if [ -f icons/''${size}.png ]; then
install -Dm644 icons/''${size}.png \ install -Dm644 icons/''${size}.png \
$out/share/icons/hicolor/''${size}/apps/pinepods.png $out/share/icons/hicolor/''${size}/apps/pinepods.png
fi fi
done done
# Tray icon install as the app icon so the taskbar uses it
if [ -f icons/icon.png ]; then
install -Dm644 icons/icon.png \
$out/share/icons/hicolor/256x256/apps/com.gooseberrydevelopment.pinepods.png
fi
# AppStream metadata
if [ -f com.gooseberrydevelopment.pinepods.metainfo.xml ]; then
install -Dm644 com.gooseberrydevelopment.pinepods.metainfo.xml \
$out/share/metainfo/com.gooseberrydevelopment.pinepods.metainfo.xml
fi
runHook postInstall runHook postInstall
''; '';
@@ -160,7 +175,7 @@ rustPlatform.buildRustPackage {
--set WEBKIT_DISABLE_COMPOSITING_MODE 1 \ --set WEBKIT_DISABLE_COMPOSITING_MODE 1 \
--set WEBKIT_FORCE_SANDBOX 0 \ --set WEBKIT_FORCE_SANDBOX 0 \
--prefix LD_LIBRARY_PATH : "${libayatana-appindicator}/lib" \ --prefix LD_LIBRARY_PATH : "${libayatana-appindicator}/lib" \
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${gst_all_1.gst-plugins-base}/lib/gstreamer-1.0:${gst_all_1.gst-plugins-good}/lib/gstreamer-1.0:${gst_all_1.gst-plugins-bad}/lib/gstreamer-1.0:${gst_all_1.gst-plugins-ugly}/lib/gstreamer-1.0:${gst_all_1.gst-libav}/lib/gstreamer-1.0" \ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${gst_all_1.gstreamer}/lib/gstreamer-1.0:${gst_all_1.gst-plugins-base}/lib/gstreamer-1.0:${gst_all_1.gst-plugins-good}/lib/gstreamer-1.0:${gst_all_1.gst-plugins-bad}/lib/gstreamer-1.0:${gst_all_1.gst-plugins-ugly}/lib/gstreamer-1.0:${gst_all_1.gst-libav}/lib/gstreamer-1.0" \
--prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}" \ --prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}" \
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules"
''; '';