cosmic-applets/justfile

131 lines
6.8 KiB
Makefile
Raw Normal View History

2022-05-25 17:11:42 -04:00
rootdir := ''
prefix := '/usr'
clean := '0'
debug := '0'
vendor := '0'
target := if debug == '1' { 'debug' } else { 'release' }
vendor_args := if vendor == '1' { '--frozen --offline' } else { '' }
debug_args := if debug == '1' { '' } else { '--release' }
cargo_args := vendor_args + ' ' + debug_args
sharedir := rootdir + prefix + '/share'
iconsdir := sharedir + '/icons/hicolor/scalable/apps'
bindir := rootdir + prefix + '/bin'
app_list_id := 'com.system76.CosmicAppList'
2022-05-25 17:11:42 -04:00
audio_id := 'com.system76.CosmicAppletAudio'
battery_id := 'com.system76.CosmicAppletBattery'
2022-05-25 17:11:42 -04:00
graphics_id := 'com.system76.CosmicAppletGraphics'
network_id := 'com.system76.CosmicAppletNetwork'
notifications_id := 'com.system76.CosmicAppletNotifications'
2022-05-25 17:11:42 -04:00
power_id := 'com.system76.CosmicAppletPower'
workspaces_id := 'com.system76.CosmicAppletWorkspaces'
2022-06-03 19:36:05 -07:00
status_area_id := 'com.system76.CosmicAppletStatusArea'
time_id := 'com.system76.CosmicAppletTime'
app_button_id := 'com.system76.CosmicPanelAppButton'
workspaces_button_id := 'com.system76.CosmicPanelWorkspacesButton'
2022-05-25 17:11:42 -04:00
2022-11-29 16:52:31 -05:00
build: _extract_vendor
#!/usr/bin/env bash
pushd cosmic-app-list/
cargo build {{cargo_args}}
popd
pushd cosmic-applet-audio/
cargo build {{cargo_args}}
popd
pushd cosmic-applet-network/
cargo build {{cargo_args}}
popd
pushd cosmic-applet-graphics/
cargo build {{cargo_args}}
popd
pushd cosmic-applet-battery/
2022-12-02 20:24:52 -05:00
cargo build {{cargo_args}}
popd
pushd cosmic-applet-power/
cargo build {{cargo_args}}
popd
pushd cosmic-applet-notifications/
cargo build {{cargo_args}}
popd
pushd cosmic-applet-time/
2022-11-29 16:52:31 -05:00
cargo build {{cargo_args}}
popd
pushd cosmic-applet-workspaces/
2022-05-25 17:11:42 -04:00
cargo build {{cargo_args}}
popd
2022-05-25 17:11:42 -04:00
# Installs files into the system
install:
# audio
install -Dm0644 cosmic-applet-audio/data/icons/{{audio_id}}.svg {{iconsdir}}/{{audio_id}}.svg
install -Dm0644 cosmic-applet-audio/data/{{audio_id}}.desktop {{sharedir}}/applications/{{audio_id}}.desktop
install -Dm0755 cosmic-applet-audio/target/release/cosmic-applet-audio {{bindir}}/cosmic-applet-audio
# app list
install -Dm0644 cosmic-app-list/data/icons/{{app_list_id}}-symbolic.svg {{iconsdir}}/{{app_list_id}}-symbolic.svg
install -Dm0644 cosmic-app-list/data/icons/{{app_list_id}}.Devel.svg {{iconsdir}}/{{app_list_id}}.Devel.svg
install -Dm0644 cosmic-app-list/data/icons/{{app_list_id}}.svg {{iconsdir}}/{{app_list_id}}.svg
install -Dm0644 cosmic-app-list/data/{{app_list_id}}.desktop {{sharedir}}/applications/{{app_list_id}}.desktop
install -Dm0755 cosmic-app-list/target/release/cosmic-app-list {{bindir}}/cosmic-app-list
2022-05-25 17:11:42 -04:00
# network
install -Dm0644 cosmic-applet-network/data/icons/{{network_id}}.svg {{iconsdir}}/{{network_id}}.svg
install -Dm0644 cosmic-applet-network/data/{{network_id}}.desktop {{sharedir}}/applications/{{network_id}}.desktop
install -Dm0755 cosmic-applet-network/target/release/cosmic-applet-network {{bindir}}/cosmic-applet-network
2022-05-25 17:11:42 -04:00
# notifications
install -Dm0644 cosmic-applet-notifications/data/icons/{{notifications_id}}.svg {{iconsdir}}/{{notifications_id}}.svg
install -Dm0644 cosmic-applet-notifications/data/{{notifications_id}}.desktop {{sharedir}}/applications/{{notifications_id}}.desktop
install -Dm0755 cosmic-applet-notifications/target/release/cosmic-applet-notifications {{bindir}}/cosmic-applet-notifications
2022-05-25 17:11:42 -04:00
# power
install -Dm0644 cosmic-applet-power/data/icons/{{power_id}}.svg {{iconsdir}}/{{power_id}}.svg
install -Dm0644 cosmic-applet-power/data/{{power_id}}.desktop {{sharedir}}/applications/{{power_id}}.desktop
install -Dm0755 cosmic-applet-power/target/release/cosmic-applet-power {{bindir}}/cosmic-applet-power
2022-06-03 19:36:05 -07:00
# time
install -Dm0644 cosmic-applet-time/data/icons/{{time_id}}.svg {{iconsdir}}/{{time_id}}.svg
install -Dm0644 cosmic-applet-time/data/{{time_id}}.desktop {{sharedir}}/applications/{{time_id}}.desktop
install -Dm0755 cosmic-applet-time/target/release/cosmic-applet-time {{bindir}}/cosmic-applet-time
# app library button
install -Dm0644 cosmic-panel-app-button/data/icons/{{app_button_id}}.svg {{iconsdir}}/{{app_button_id}}.svg
install -Dm0644 cosmic-panel-app-button/data/{{app_button_id}}.desktop {{sharedir}}/applications/{{app_button_id}}.desktop
# workspaces button
install -Dm0644 cosmic-panel-workspaces-button/data/icons/{{workspaces_button_id}}.svg {{iconsdir}}/{{workspaces_button_id}}.svg
install -Dm0644 cosmic-panel-workspaces-button/data/{{workspaces_button_id}}.desktop {{sharedir}}/applications/{{workspaces_button_id}}.desktop
# graphics
install -Dm0644 cosmic-applet-graphics/data/icons/{{graphics_id}}.svg {{iconsdir}}/{{graphics_id}}.svg
install -Dm0644 cosmic-applet-graphics/data/{{graphics_id}}.desktop {{sharedir}}/applications/{{graphics_id}}.desktop
install -Dm0755 cosmic-applet-graphics/target/release/cosmic-applet-graphics {{bindir}}/cosmic-applet-graphics
2022-11-29 16:52:31 -05:00
# workspaces
install -Dm0644 cosmic-applet-workspaces/data/icons/{{workspaces_id}}.svg {{iconsdir}}/{{workspaces_id}}.svg
install -Dm0644 cosmic-applet-workspaces/data/{{workspaces_id}}.desktop {{sharedir}}/applications/{{workspaces_id}}.desktop
install -Dm0755 cosmic-applet-workspaces/target/release/cosmic-applet-workspaces {{bindir}}/cosmic-applet-workspaces
2022-12-02 20:24:52 -05:00
# battery
install -Dm0644 cosmic-applet-battery/data/icons/{{battery_id}}.svg {{iconsdir}}/{{battery_id}}.svg
install -Dm0644 cosmic-applet-battery/data/{{battery_id}}.desktop {{sharedir}}/applications/{{battery_id}}.desktop
install -Dm0755 cosmic-applet-battery/target/release/cosmic-applet-battery {{bindir}}/cosmic-applet-battery
2022-12-02 20:24:52 -05:00
2022-05-25 17:11:42 -04:00
# Extracts vendored dependencies if vendor=1
_extract_vendor:
#!/usr/bin/env sh
if test {{vendor}} = 1; then
rm -rf vendor; tar pxf vendor.tar
rm -rf cosmic-applet-graphics/vendor; tar xf cosmic-applet-graphics/vendor.tar --directory cosmic-applet-graphics
rm -rf cosmic-applet-workspaces/vendor; tar xf cosmic-applet-workspaces/vendor.tar --directory cosmic-applet-workspaces
rm -rf cosmic-applet-notifications/vendor; tar xf cosmic-applet-notifications/vendor.tar --directory cosmic-applet-notifications
rm -rf cosmic-applet-battery/vendor; tar xf cosmic-applet-battery/vendor.tar --directory cosmic-applet-battery
rm -rf cosmic-applet-audio/vendor; tar xf cosmic-applet-audio/vendor.tar --directory cosmic-applet-audio
rm -rf cosmic-applet-power/vendor; tar xf cosmic-applet-power/vendor.tar --directory cosmic-applet-power
rm -rf cosmic-applet-time/vendor; tar xf cosmic-applet-time/vendor.tar --directory cosmic-applet-time
rm -rf cosmic-applet-network/vendor; tar xf cosmic-applet-network/vendor.tar --directory cosmic-applet-network
rm -rf cosmic-app-list/vendor; tar xf cosmic-app-list/vendor.tar --directory cosmic-app-list
2022-05-25 17:11:42 -04:00
fi