[package]
name = "icon-studio"
version = "0.1.0"
edition = "2021"
description = "Application icon designer for the Casabeza and neiam palettes"
authors = ["Gabe <gabe@neiam.org>"]
license = "GPL-3.0-or-later"
# Packaging. Both tools read the release binary out of target/release, so
# `cargo build --release` has to have run first — `cargo deb --no-build`
# and `cargo generate-rpm` only assemble.
#
# This is a GUI application, so unlike markprompter it also installs a
# .desktop entry and hicolor icons; without them it would install and
# then be invisible in every application menu. The icon is generated by
# the studio itself from presets/icon-studio.toml.
[package.metadata.deb]
name = "neiam-icon-studio"
section = "graphics"
# rfd reaches the file-chooser portal through libdbus, which it dlopens
# at runtime rather than links, so dpkg-shlibdeps cannot see it.
depends = "$auto, libdbus-1-3"
assets = [
# target/release is special: cargo-deb rewrites it to the real
# target directory.
["target/release/icon-studio", "usr/bin/", "755"],
["icon-studio.desktop", "usr/share/applications/", "644"],
["assets/icons/icon-studio-48.png", "usr/share/icons/hicolor/48x48/apps/icon-studio.png", "644"],
["assets/icons/icon-studio-64.png", "usr/share/icons/hicolor/64x64/apps/icon-studio.png", "644"],
["assets/icons/icon-studio-128.png", "usr/share/icons/hicolor/128x128/apps/icon-studio.png", "644"],
["assets/icons/icon-studio-256.png", "usr/share/icons/hicolor/256x256/apps/icon-studio.png", "644"],
["README.md", "usr/share/doc/neiam-icon-studio/README.md", "644"],
["presets/*.toml", "usr/share/neiam-icon-studio/presets/", "644"],
]
[package.metadata.generate-rpm]
name = "neiam-icon-studio"
assets = [
{ source = "target/release/icon-studio", dest = "/usr/bin/icon-studio", mode = "0755" },
{ source = "icon-studio.desktop", dest = "/usr/share/applications/icon-studio.desktop", mode = "0644" },
{ source = "assets/icons/icon-studio-48.png", dest = "/usr/share/icons/hicolor/48x48/apps/icon-studio.png", mode = "0644" },
{ source = "assets/icons/icon-studio-64.png", dest = "/usr/share/icons/hicolor/64x64/apps/icon-studio.png", mode = "0644" },
{ source = "assets/icons/icon-studio-128.png", dest = "/usr/share/icons/hicolor/128x128/apps/icon-studio.png", mode = "0644" },
{ source = "assets/icons/icon-studio-256.png", dest = "/usr/share/icons/hicolor/256x256/apps/icon-studio.png", mode = "0644" },
{ source = "README.md", dest = "/usr/share/doc/neiam-icon-studio/README.md", doc = true, mode = "0644" },
{ source = "presets/*.toml", dest = "/usr/share/neiam-icon-studio/presets/", mode = "0644" },
]
# The same dlopened libdbus, named by soname so it resolves to whatever
# package provides it: dbus-libs on Fedora, libdbus-1-3 on openSUSE.
[package.metadata.generate-rpm.requires]
"libdbus-1.so.3()(64bit)" = "*"
[lib]
name = "icon_studio"
path = "src/lib.rs"
[[bin]]
name = "icon-studio"
path = "src/main.rs"
[dependencies]
eframe = "0.32"
egui = "0.32"
egui_material_icons = "0.4"
tiny-skia = "0.11"
ab_glyph = "0.2"
image = { version = "0.25", default-features = false, features = ["png"] }
serde = { version = "1", features = ["derive"] }
toml = "0.8"
# Bundle export. No compression backends beyond deflate: a PNG is already
# deflated, so zstd/bzip2 would add dependencies to save nothing.
zip = { version = "9", default-features = false, features = ["deflate"] }
rfd = { version = "0.17", default-features = false, features = ["xdg-portal"] }
[profile.release]
opt-level = 2
[dev-dependencies]
zip = { version = "9", default-features = false, features = ["deflate"] }
image = { version = "0.25", default-features = false, features = ["png"] }
neiam
/icon-studio
public · Issues · Pulls · Labels · Forks · Compare · Actions failure · Badges · Packages
⭐
Log in to mark this repository.
3.7 KiB · text
History
f89a4b5