diff options
author | Max Trussell <maxtrussell@gmail.com> | 2021-06-05 19:45:20 -0700 |
---|---|---|
committer | Ali Mohammad Pur <Ali.mpfard@gmail.com> | 2021-06-09 17:37:56 +0430 |
commit | b889bfe0f68ecfbfe5b809dbd7a0dc3a9ca5f000 (patch) | |
tree | 673e948dd7da65e877cd3b2e6d60203282cb539d /Ports/.port_include.sh | |
parent | 23d5b99fbfefc92cb4bbef4999cb1da49b0ae61c (diff) | |
download | serenity-b889bfe0f68ecfbfe5b809dbd7a0dc3a9ca5f000.zip |
Ports: .port_include.sh add install_icon function
Diffstat (limited to 'Ports/.port_include.sh')
-rwxr-xr-x | Ports/.port_include.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Ports/.port_include.sh b/Ports/.port_include.sh index 16d9c78ae3..805a74379c 100755 --- a/Ports/.port_include.sh +++ b/Ports/.port_include.sh @@ -69,6 +69,7 @@ shift : "${launcher_name:=}" : "${launcher_category:=}" : "${launcher_command:=}" +: "${icon_file:=}" run_nocd() { echo "+ $@ (nocd)" @@ -95,6 +96,36 @@ ensure_build() { fi } +install_main_icon() { + if [ -n "$icon_file" ] && [ -n "$launcher_command" ]; then + install_icon "$icon_file" "$launcher_command" + fi +} + +install_icon() { + if [ "$#" -lt 2 ]; then + echo "Syntax: install_icon <icon> <launcher>" + exit 1 + fi + icon="$1" + launcher="$2" + + command -v convert >/dev/null 2>&1 + convert_exists=$? + + command -v identify >/dev/null 2>&1 + identify_exists=$? + + if [ "$convert_exists" == "0" ] && [ "$identify_exists" == "0" ]; then + for icon_size in "16x16" "32x32"; do + index=$(run identify "$icon" | grep "$icon_size" | grep -oE "\[[0-9]+\]" | tr -d "[]" | head -n1) + run convert "${icon}[${index}]" "app-${icon_size}.png" + done + run objcopy --add-section serenity_icon_s="app-16x16.png" "${DESTDIR}${launcher}" + run objcopy --add-section serenity_icon_m="app-32x32.png" "${DESTDIR}${launcher}" + fi +} + install_main_launcher() { if [ -n "$launcher_name" ] && [ -n "$launcher_category" ] && [ -n "$launcher_command" ]; then install_launcher "$launcher_name" "$launcher_category" "$launcher_command" @@ -413,6 +444,7 @@ do_install() { echo "Installing $port!" install install_main_launcher + install_main_icon post_install addtodb "${1:-}" } |