diff --git a/justfile b/justfile
index 8880a47..fbd6c4e 100644
--- a/justfile
+++ b/justfile
@@ -8,13 +8,21 @@ base-dir := absolute_path(clean(rootdir / prefix))
export INSTALL_DIR := base-dir / 'share'
-bin-src := 'target' / 'release' / name
+cargo-target-dir := env('CARGO_TARGET_DIR', 'target')
+bin-src := cargo-target-dir / 'release' / name
bin-dst := base-dir / 'bin' / name
desktop := APPID + '.desktop'
desktop-src := 'res' / desktop
desktop-dst := clean(rootdir / prefix) / 'share' / 'applications' / desktop
+metainfo := APPID + '.metainfo.xml'
+metainfo-src := 'res' / metainfo
+metainfo-dst := clean(rootdir / prefix) / 'share' / 'metainfo' / metainfo
+
+icons-src := 'res' / 'icons' / 'hicolor'
+icons-dst := clean(rootdir / prefix) / 'share' / 'icons' / 'hicolor'
+
# Default recipe which runs `just build-release`
default: build-release
@@ -62,7 +70,11 @@ run *args:
# Installs files
install:
install -Dm0755 {{bin-src}} {{bin-dst}}
- install -Dm0755 {{desktop-src}} {{desktop-dst}}
+ install -Dm0644 {{desktop-src}} {{desktop-dst}}
+ install -Dm0644 {{metainfo-src}} {{metainfo-dst}}
+ for size in `ls {{icons-src}}`; do \
+ install -Dm0644 "{{icons-src}}/$size/apps/{{APPID}}.svg" "{{icons-dst}}/$size/apps/{{APPID}}.svg"; \
+ done
# Uninstalls installed files
uninstall:
@@ -70,12 +82,23 @@ uninstall:
# Vendor dependencies locally
vendor:
+ #!/usr/bin/env bash
mkdir -p .cargo
- cargo vendor --sync Cargo.toml \
- | head -n -1 > .cargo/config
- echo 'directory = "vendor"' >> .cargo/config
- tar pcf vendor.tar vendor
- rm -rf vendor
+ cargo vendor --sync Cargo.toml | head -n -1 > .cargo/config.toml
+ echo 'directory = "vendor"' >> .cargo/config.toml
+ echo >> .cargo/config.toml
+ echo '[env]' >> .cargo/config.toml
+ if [ -n "${SOURCE_DATE_EPOCH}" ]
+ then
+ source_date="$(date -d "@${SOURCE_DATE_EPOCH}" "+%Y-%m-%d")"
+ echo "VERGEN_GIT_COMMIT_DATE = \"${source_date}\"" >> .cargo/config.toml
+ fi
+ if [ -n "${SOURCE_GIT_HASH}" ]
+ then
+ echo "VERGEN_GIT_SHA = \"${SOURCE_GIT_HASH}\"" >> .cargo/config.toml
+ fi
+ tar pcf vendor.tar .cargo vendor
+ rm -rf .cargo vendor
# Extracts vendored dependencies
vendor-extract:
diff --git a/res/com.system76.CosmicPlayer.desktop b/res/com.system76.CosmicPlayer.desktop
index 9946f06..1de5b56 100644
--- a/res/com.system76.CosmicPlayer.desktop
+++ b/res/com.system76.CosmicPlayer.desktop
@@ -1,10 +1,12 @@
#TODO: more build-out, desktop actions, translations?
[Desktop Entry]
Name=COSMIC Media Player
-Exec=cosmic-player %F
+Exec=cosmic-player %u
Terminal=false
Type=Application
StartupNotify=true
-#TODO Icon=
+MimeType=application/mxf;application/ram;application/sdp;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.ms-wpl;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;application/x-extension-m4a;application/x-extension-mp4;application/x-flash-video;application/x-matroska;application/x-netshow-channel;application/x-quicktimeplayer;application/x-shorten;image/vnd.rn-realpix;image/x-pict;misc/ultravox;text/x-google-video-pointer;video/3gp;video/3gpp;video/3gpp2;video/dv;video/divx;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/mpeg-system;video/msvideo;video/ogg;video/quicktime;video/vivo;video/vnd.divx;video/vnd.mpegurl;video/vnd.rn-realvideo;video/vnd.vivo;video/webm;video/x-anim;video/x-avi;video/x-flc;video/x-fli;video/x-flic;video/x-flv;video/x-m4v;video/x-matroska;video/x-mjpeg;video/x-mpeg;video/x-mpeg2;video/x-ms-asf;video/x-ms-asf-plugin;video/x-ms-asx;video/x-msvideo;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-nsv;video/x-ogm+ogg;video/x-theora;video/x-theora+ogg;video/x-totem-stream;audio/x-pn-realaudio;application/smil;application/smil+xml;application/x-quicktime-media-link;application/x-smil;text/google-video-pointer;x-content/video-dvd;x-scheme-handler/pnm;x-scheme-handler/mms;x-scheme-handler/net;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/rtsp;x-scheme-handler/mmsh;x-scheme-handler/uvox;x-scheme-handler/icy;x-scheme-handler/icyx;
+Icon=com.system76.CosmicPlayer
Categories=COSMIC;AudioVideo;Player;Video;
Keywords=Audio;Film;Movie;Music;Sound;Video;
+
diff --git a/res/com.system76.CosmicPlayer.metainfo.xml b/res/com.system76.CosmicPlayer.metainfo.xml
new file mode 100644
index 0000000..65ceaa0
--- /dev/null
+++ b/res/com.system76.CosmicPlayer.metainfo.xml
@@ -0,0 +1,24 @@
+
+
+ com.system76.CosmicPlayer
+ CC0-1.0
+ GPL-3.0-only
+ COSMIC
+ System76
+ jeremy@system76.com
+ https://github.com/pop-os/cosimc-player
+ https://github.com/pop-os/cosimc-player
+ COSMIC Media Player
+ Media player for the COSMIC desktop
+
+ Media player for the COSMIC desktop.
+
+ com.system76.CosmicPlayer.desktop
+ https://raw.githubusercontent.com/pop-os/cosmic-player/master/res/icons/hicolor/256x256/apps/com.system76.CosmicPlayer.svg
+
+ com.system76.CosmicApplication
+
+ cosmic-player
+
+
+
diff --git a/res/icons/hicolor/128x128/apps/com.system76.CosmicPlayer.svg b/res/icons/hicolor/128x128/apps/com.system76.CosmicPlayer.svg
new file mode 100644
index 0000000..0ca6326
--- /dev/null
+++ b/res/icons/hicolor/128x128/apps/com.system76.CosmicPlayer.svg
@@ -0,0 +1,24 @@
+
diff --git a/res/icons/hicolor/16x16/apps/com.system76.CosmicPlayer.svg b/res/icons/hicolor/16x16/apps/com.system76.CosmicPlayer.svg
new file mode 100644
index 0000000..497dfef
--- /dev/null
+++ b/res/icons/hicolor/16x16/apps/com.system76.CosmicPlayer.svg
@@ -0,0 +1,22 @@
+
diff --git a/res/icons/hicolor/24x24/apps/com.system76.CosmicPlayer.svg b/res/icons/hicolor/24x24/apps/com.system76.CosmicPlayer.svg
new file mode 100644
index 0000000..cbe1cd8
--- /dev/null
+++ b/res/icons/hicolor/24x24/apps/com.system76.CosmicPlayer.svg
@@ -0,0 +1,22 @@
+
diff --git a/res/icons/hicolor/256x256/apps/com.system76.CosmicPlayer.svg b/res/icons/hicolor/256x256/apps/com.system76.CosmicPlayer.svg
new file mode 100644
index 0000000..f10b21b
--- /dev/null
+++ b/res/icons/hicolor/256x256/apps/com.system76.CosmicPlayer.svg
@@ -0,0 +1,24 @@
+
diff --git a/res/icons/hicolor/32x32/apps/com.system76.CosmicPlayer.svg b/res/icons/hicolor/32x32/apps/com.system76.CosmicPlayer.svg
new file mode 100644
index 0000000..27a461b
--- /dev/null
+++ b/res/icons/hicolor/32x32/apps/com.system76.CosmicPlayer.svg
@@ -0,0 +1,23 @@
+
diff --git a/res/icons/hicolor/48x48/apps/com.system76.CosmicPlayer.svg b/res/icons/hicolor/48x48/apps/com.system76.CosmicPlayer.svg
new file mode 100644
index 0000000..8eafb3a
--- /dev/null
+++ b/res/icons/hicolor/48x48/apps/com.system76.CosmicPlayer.svg
@@ -0,0 +1,23 @@
+
diff --git a/res/icons/hicolor/64x64/apps/com.system76.CosmicPlayer.svg b/res/icons/hicolor/64x64/apps/com.system76.CosmicPlayer.svg
new file mode 100644
index 0000000..5de699e
--- /dev/null
+++ b/res/icons/hicolor/64x64/apps/com.system76.CosmicPlayer.svg
@@ -0,0 +1,24 @@
+